diff --git a/.buildkite/scripts/steps/artifacts/docker_image.sh b/.buildkite/scripts/steps/artifacts/docker_image.sh index 1968f095853ed..6c68f616c23c6 100755 --- a/.buildkite/scripts/steps/artifacts/docker_image.sh +++ b/.buildkite/scripts/steps/artifacts/docker_image.sh @@ -89,7 +89,7 @@ steps: trigger: gpctl-promote build: env: - SERVICE_COMMIT_HASH: $GIT_ABBREV_COMMIT + SERVICE_COMMIT_HASH: "$GIT_ABBREV_COMMIT" REMOTE_SERVICE_CONFIG: https://raw.githubusercontent.com/elastic/serverless-gitops/main/gen/gpctl/kibana/config.yaml EOF diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index ddb6770c6a756..683d68d2ca534 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -400,6 +400,7 @@ src/plugins/ftr_apis @elastic/kibana-core packages/kbn-ftr-common-functional-services @elastic/kibana-operations @elastic/appex-qa packages/kbn-ftr-screenshot-filename @elastic/kibana-operations @elastic/appex-qa x-pack/test/functional_with_es_ssl/plugins/cases @elastic/response-ops +x-pack/examples/gen_ai_streaming_response_example @elastic/response-ops packages/kbn-generate @elastic/kibana-operations packages/kbn-generate-console-definitions @elastic/platform-deployment-management packages/kbn-generate-csv @elastic/appex-sharedux @@ -874,7 +875,6 @@ x-pack/plugins/infra/server/lib/alerting @elastic/actionable-observability /x-pack/test/alerting_api_integration/observability/synthetics_rule.ts @elastic/uptime /x-pack/test/alerting_api_integration/observability/index.ts @elastic/uptime - # Client Side Monitoring / Uptime (lives in APM directories but owned by Uptime) /x-pack/plugins/apm/public/application/uxApp.tsx @elastic/uptime /x-pack/plugins/apm/public/components/app/rum_dashboard @elastic/uptime @@ -884,6 +884,9 @@ x-pack/plugins/infra/server/lib/alerting @elastic/actionable-observability /x-pack/plugins/observability_shared/public/components/tour @elastic/platform-onboarding /x-pack/test/functional/apps/infra/tour.ts @elastic/platform-onboarding +# Observability settings +/x-pack/plugins/observability/server/ui_settings.ts @elastic/obs-docs + ### END Observability Plugins # Presentation @@ -895,7 +898,6 @@ x-pack/plugins/infra/server/lib/alerting @elastic/actionable-observability #CC# /src/plugins/kibana_react/public/code_editor/ @elastic/kibana-presentation # Machine Learning -/x-pack/plugins/ml/common/openapi/ @elastic/mlr-docs /x-pack/test/accessibility/apps/ml.ts @elastic/ml-ui /x-pack/test/accessibility/apps/ml_embeddables_in_dashboard.ts @elastic/ml-ui /x-pack/test/api_integration/apis/ml/ @elastic/ml-ui @@ -1021,7 +1023,6 @@ x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kib /docs/api/actions-and-connectors @elastic/mlr-docs /docs/api/alerting @elastic/mlr-docs /docs/api/cases @elastic/mlr-docs -/x-pack/plugins/cases/docs/openapi @elastic/mlr-docs # Enterprise Search /x-pack/test/functional_enterprise_search/ @elastic/enterprise-search-frontend diff --git a/.gitignore b/.gitignore index 4999eb2fb5a17..86a789a1cfb5f 100644 --- a/.gitignore +++ b/.gitignore @@ -99,6 +99,12 @@ x-pack/plugins/fleet/cypress.config.d.ts x-pack/plugins/fleet/cypress.config.js x-pack/plugins/osquery/cypress.config.d.ts x-pack/plugins/osquery/cypress.config.js +x-pack/plugins/enterprise_search/cypress.config.d.ts +x-pack/plugins/enterprise_search/cypress.config.js +x-pack/plugins/security_solution/public/management/cypress.config.d.ts +x-pack/plugins/security_solution/public/management/cypress.config.js +x-pack/plugins/security_solution/public/management/cypress_endpoint.config.d.ts +x-pack/plugins/security_solution/public/management/cypress_endpoint.config.js # release notes script output report.csv diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 9f12661e7ff19..b53d6b4e04e7c 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-07-13 +date: 2023-07-17 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 f5278b36aef3c..ffc4429afe9e1 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-07-13 +date: 2023-07-17 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 15dfa7ff4439d..75f61c2f6e445 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-07-13 +date: 2023-07-17 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 ad4805be0cf52..bdccafb297466 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.devdocs.json b/api_docs/apm.devdocs.json index c0a2cf1ec5e30..da0788b5bd372 100644 --- a/api_docs/apm.devdocs.json +++ b/api_docs/apm.devdocs.json @@ -81,7 +81,7 @@ "label": "featureFlags", "description": [], "signature": [ - "{ agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; }" + "{ agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; fastRefreshAvailable: boolean; }" ], "path": "x-pack/plugins/apm/public/index.ts", "deprecated": false, @@ -265,7 +265,7 @@ "Observable", "; enabled: boolean; autoCreateApmDataView: boolean; serviceMapEnabled: boolean; serviceMapFingerprintBucketSize: number; serviceMapFingerprintGlobalBucketSize: number; serviceMapTraceIdBucketSize: number; serviceMapTraceIdGlobalBucketSize: number; serviceMapMaxTracesPerRequest: number; serviceMapTerminateAfter: number; serviceMapMaxTraces: number; ui: Readonly<{} & { enabled: boolean; maxTraceItems: number; }>; searchAggregatedTransactions: ", "SearchAggregatedTransactionSetting", - "; telemetryCollectionEnabled: boolean; metricsInterval: number; agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; forceSyntheticSource: boolean; latestAgentVersionsUrl: string; serverlessOnboarding: boolean; serverless: Readonly<{} & { enabled: true; }>; managedServiceUrl: string; featureFlags: Readonly<{} & { agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; }>; }>>; getApmIndices: () => Promise>; createApmEventClient: ({ request, context, debug, }: { debug?: boolean | undefined; request: ", + "; telemetryCollectionEnabled: boolean; metricsInterval: number; agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; forceSyntheticSource: boolean; latestAgentVersionsUrl: string; serverlessOnboarding: boolean; serverless: Readonly<{} & { enabled: true; }>; managedServiceUrl: string; featureFlags: Readonly<{} & { agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; fastRefreshAvailable: boolean; }>; }>>; getApmIndices: () => Promise>; createApmEventClient: ({ request, context, debug, }: { debug?: boolean | undefined; request: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -495,7 +495,7 @@ "label": "params", "description": [], "signature": [ - "{ query: { _inspect: boolean; start?: number | undefined; end?: number | undefined; }; }" + "{ query: { _inspect: boolean; }; }" ], "path": "x-pack/plugins/apm/server/routes/typings.ts", "deprecated": false, @@ -511,7 +511,7 @@ "signature": [ "{ readonly indices: Readonly<{} & { error: string; metric: string; span: string; transaction: string; onboarding: string; }>; readonly enabled: boolean; readonly autoCreateApmDataView: boolean; readonly serviceMapEnabled: boolean; readonly serviceMapFingerprintBucketSize: number; readonly serviceMapFingerprintGlobalBucketSize: number; readonly serviceMapTraceIdBucketSize: number; readonly serviceMapTraceIdGlobalBucketSize: number; readonly serviceMapMaxTracesPerRequest: number; readonly serviceMapTerminateAfter: number; readonly serviceMapMaxTraces: number; readonly ui: Readonly<{} & { enabled: boolean; maxTraceItems: number; }>; readonly searchAggregatedTransactions: ", "SearchAggregatedTransactionSetting", - "; readonly telemetryCollectionEnabled: boolean; readonly metricsInterval: number; readonly agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; readonly forceSyntheticSource: boolean; readonly latestAgentVersionsUrl: string; readonly serverlessOnboarding: boolean; readonly serverless: Readonly<{} & { enabled: true; }>; readonly managedServiceUrl: string; readonly featureFlags: Readonly<{} & { agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; }>; }" + "; readonly telemetryCollectionEnabled: boolean; readonly metricsInterval: number; readonly agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; readonly forceSyntheticSource: boolean; readonly latestAgentVersionsUrl: string; readonly serverlessOnboarding: boolean; readonly serverless: Readonly<{} & { enabled: true; }>; readonly managedServiceUrl: string; readonly featureFlags: Readonly<{} & { agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; fastRefreshAvailable: boolean; }>; }" ], "path": "x-pack/plugins/apm/server/routes/typings.ts", "deprecated": false, @@ -525,7 +525,7 @@ "label": "featureFlags", "description": [], "signature": [ - "{ agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; }" + "{ agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; fastRefreshAvailable: boolean; }" ], "path": "x-pack/plugins/apm/server/routes/typings.ts", "deprecated": false, @@ -965,7 +965,7 @@ "signature": [ "{ readonly indices: Readonly<{} & { error: string; metric: string; span: string; transaction: string; onboarding: string; }>; readonly enabled: boolean; readonly autoCreateApmDataView: boolean; readonly serviceMapEnabled: boolean; readonly serviceMapFingerprintBucketSize: number; readonly serviceMapFingerprintGlobalBucketSize: number; readonly serviceMapTraceIdBucketSize: number; readonly serviceMapTraceIdGlobalBucketSize: number; readonly serviceMapMaxTracesPerRequest: number; readonly serviceMapTerminateAfter: number; readonly serviceMapMaxTraces: number; readonly ui: Readonly<{} & { enabled: boolean; maxTraceItems: number; }>; readonly searchAggregatedTransactions: ", "SearchAggregatedTransactionSetting", - "; readonly telemetryCollectionEnabled: boolean; readonly metricsInterval: number; readonly agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; readonly forceSyntheticSource: boolean; readonly latestAgentVersionsUrl: string; readonly serverlessOnboarding: boolean; readonly serverless: Readonly<{} & { enabled: true; }>; readonly managedServiceUrl: string; readonly featureFlags: Readonly<{} & { agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; }>; }" + "; readonly telemetryCollectionEnabled: boolean; readonly metricsInterval: number; readonly agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; readonly forceSyntheticSource: boolean; readonly latestAgentVersionsUrl: string; readonly serverlessOnboarding: boolean; readonly serverless: Readonly<{} & { enabled: true; }>; readonly managedServiceUrl: string; readonly featureFlags: Readonly<{} & { agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; fastRefreshAvailable: boolean; }>; }" ], "path": "x-pack/plugins/apm/server/index.ts", "deprecated": false, @@ -5232,6 +5232,14 @@ "; spanId: ", "StringC", "; }>; query: ", + "IntersectionC", + "<[", + "TypeC", + "<{ start: ", + "Type", + "; end: ", + "Type", + "; }>, ", "UnionC", "<[", "PartialC", @@ -5239,7 +5247,7 @@ "StringC", "; }>, ", "UndefinedC", - "]>; }> | undefined; handler: ({}: ", + "]>]>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5247,7 +5255,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - " & { params: { path: { traceId: string; spanId: string; }; query: { parentTransactionId?: string | undefined; } | undefined; }; }) => Promise<{ span?: ", + " & { params: { path: { traceId: string; spanId: string; }; query: { start: number; end: number; } & { parentTransactionId?: string | undefined; }; }; }) => Promise<{ span?: ", "Span", " | undefined; parentTransaction?: ", "Transaction", @@ -5261,7 +5269,13 @@ "StringC", "; transactionId: ", "StringC", - "; }>; }> | undefined; handler: ({}: ", + "; }>; query: ", + "TypeC", + "<{ start: ", + "Type", + "; end: ", + "Type", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5269,7 +5283,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - " & { params: { path: { traceId: string; transactionId: string; }; }; }) => Promise<", + " & { params: { path: { traceId: string; transactionId: string; }; query: { start: number; end: number; }; }; }) => Promise<", "Transaction", ">; } & ", "APMRouteCreateOptions", @@ -5427,7 +5441,13 @@ "TypeC", "<{ transactionId: ", "StringC", - "; }>; }> | undefined; handler: ({}: ", + "; }>; query: ", + "TypeC", + "<{ start: ", + "Type", + "; end: ", + "Type", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5435,7 +5455,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - " & { params: { path: { transactionId: string; }; }; }) => Promise<{ transaction: ", + " & { params: { path: { transactionId: string; }; query: { start: number; end: number; }; }; }) => Promise<{ transaction: ", "Transaction", "; }>; } & ", "APMRouteCreateOptions", @@ -5445,7 +5465,13 @@ "TypeC", "<{ traceId: ", "StringC", - "; }>; }> | undefined; handler: ({}: ", + "; }>; query: ", + "TypeC", + "<{ start: ", + "Type", + "; end: ", + "Type", + "; }>; }> | undefined; handler: ({}: ", { "pluginId": "apm", "scope": "server", @@ -5453,7 +5479,7 @@ "section": "def-server.APMRouteHandlerResources", "text": "APMRouteHandlerResources" }, - " & { params: { path: { traceId: string; }; }; }) => Promise<{ transaction: ", + " & { params: { path: { traceId: string; }; query: { start: number; end: number; }; }; }) => Promise<{ transaction: ", "Transaction", "; }>; } & ", "APMRouteCreateOptions", @@ -8056,7 +8082,7 @@ "Observable", "; enabled: boolean; autoCreateApmDataView: boolean; serviceMapEnabled: boolean; serviceMapFingerprintBucketSize: number; serviceMapFingerprintGlobalBucketSize: number; serviceMapTraceIdBucketSize: number; serviceMapTraceIdGlobalBucketSize: number; serviceMapMaxTracesPerRequest: number; serviceMapTerminateAfter: number; serviceMapMaxTraces: number; ui: Readonly<{} & { enabled: boolean; maxTraceItems: number; }>; searchAggregatedTransactions: ", "SearchAggregatedTransactionSetting", - "; telemetryCollectionEnabled: boolean; metricsInterval: number; agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; forceSyntheticSource: boolean; latestAgentVersionsUrl: string; serverlessOnboarding: boolean; serverless: Readonly<{} & { enabled: true; }>; managedServiceUrl: string; featureFlags: Readonly<{} & { agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; }>; }>>" + "; telemetryCollectionEnabled: boolean; metricsInterval: number; agent: Readonly<{} & { migrations: Readonly<{} & { enabled: boolean; }>; }>; forceSyntheticSource: boolean; latestAgentVersionsUrl: string; serverlessOnboarding: boolean; serverless: Readonly<{} & { enabled: true; }>; managedServiceUrl: string; featureFlags: Readonly<{} & { agentConfigurationAvailable: boolean; configurableIndicesAvailable: boolean; infrastructureTabAvailable: boolean; infraUiAvailable: boolean; migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; fastRefreshAvailable: boolean; }>; }>>" ], "path": "x-pack/plugins/apm/server/types.ts", "deprecated": false, diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index ae8e773311363..92e3546a79844 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-07-13 +date: 2023-07-17 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 ed8b3e1f1ed8c..0c962a35cf358 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-07-13 +date: 2023-07-17 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 76c5159216a35..9447f13beed67 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-07-13 +date: 2023-07-17 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 8052e456920be..9b76d5b464917 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-07-13 +date: 2023-07-17 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 a1735de3babc1..3f75afda70f57 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-07-13 +date: 2023-07-17 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 95743d690468f..4c5f34e5629b7 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-07-13 +date: 2023-07-17 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 d03065155b01f..639b3e2561289 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts'] --- import chartsObj from './charts.devdocs.json'; diff --git a/api_docs/cloud.devdocs.json b/api_docs/cloud.devdocs.json index bf2875c387ff7..5309d0888559a 100644 --- a/api_docs/cloud.devdocs.json +++ b/api_docs/cloud.devdocs.json @@ -140,6 +140,20 @@ "path": "x-pack/plugins/cloud/public/plugin.tsx", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudConfigType.serverless", + "type": "Object", + "tags": [], + "label": "serverless", + "description": [], + "signature": [ + "{ project_id: string; } | undefined" + ], + "path": "x-pack/plugins/cloud/public/plugin.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -326,6 +340,35 @@ "path": "x-pack/plugins/cloud/public/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudStart.isServerlessEnabled", + "type": "boolean", + "tags": [], + "label": "isServerlessEnabled", + "description": [ + "\n`true` when running on Serverless Elastic Cloud\nNote that `isCloudEnabled` will always be true when `isServerlessEnabled` is." + ], + "path": "x-pack/plugins/cloud/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudStart.serverless", + "type": "Object", + "tags": [], + "label": "serverless", + "description": [ + "\nServerless configuration" + ], + "signature": [ + "{ projectId?: string | undefined; }" + ], + "path": "x-pack/plugins/cloud/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -617,6 +660,35 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudSetup.isServerlessEnabled", + "type": "boolean", + "tags": [], + "label": "isServerlessEnabled", + "description": [ + "\n`true` when running on Serverless Elastic Cloud\nNote that `isCloudEnabled` will always be true when `isServerlessEnabled` is." + ], + "path": "x-pack/plugins/cloud/public/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-public.CloudSetup.serverless", + "type": "Object", + "tags": [], + "label": "serverless", + "description": [ + "\nServerless configuration" + ], + "signature": [ + "{ projectId?: string | undefined; }" + ], + "path": "x-pack/plugins/cloud/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "lifecycle": "setup", @@ -815,6 +887,35 @@ "path": "x-pack/plugins/cloud/server/plugin.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-server.CloudSetup.isServerlessEnabled", + "type": "boolean", + "tags": [], + "label": "isServerlessEnabled", + "description": [ + "\n`true` when running on Serverless Elastic Cloud\nNote that `isCloudEnabled` will always be true when `isServerlessEnabled` is." + ], + "path": "x-pack/plugins/cloud/server/plugin.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "cloud", + "id": "def-server.CloudSetup.serverless", + "type": "Object", + "tags": [], + "label": "serverless", + "description": [ + "\nServerless configuration" + ], + "signature": [ + "{ projectId?: string | undefined; }" + ], + "path": "x-pack/plugins/cloud/server/plugin.ts", + "deprecated": false, + "trackAdoption": false } ], "lifecycle": "setup", diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx index e222daeb0d63b..f7922ba070246 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud'] --- import cloudObj from './cloud.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 | |-------------------|-----------|------------------------|-----------------| -| 54 | 0 | 12 | 0 | +| 61 | 0 | 13 | 0 | ## Client diff --git a/api_docs/cloud_chat.mdx b/api_docs/cloud_chat.mdx index d6b8d2cdc8a0e..80d210fcfc3b5 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChat'] --- import cloudChatObj from './cloud_chat.devdocs.json'; diff --git a/api_docs/cloud_chat_provider.mdx b/api_docs/cloud_chat_provider.mdx index 36de0f67b98e9..176904ada1c0e 100644 --- a/api_docs/cloud_chat_provider.mdx +++ b/api_docs/cloud_chat_provider.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudChatProvider title: "cloudChatProvider" image: https://source.unsplash.com/400x175/?github description: API docs for the cloudChatProvider plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudChatProvider'] --- import cloudChatProviderObj from './cloud_chat_provider.devdocs.json'; diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx index e44f3096a919a..36f47e4e93ea2 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDataMigration'] --- import cloudDataMigrationObj from './cloud_data_migration.devdocs.json'; diff --git a/api_docs/cloud_defend.mdx b/api_docs/cloud_defend.mdx index d54ef4ce06e7d..ba6ba37c06527 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 116caa6814780..2da97ea50451a 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudExperiments'] --- import cloudExperimentsObj from './cloud_experiments.devdocs.json'; diff --git a/api_docs/cloud_security_posture.mdx b/api_docs/cloud_security_posture.mdx index 0c1b2133ba6d3..7934e4dde0c69 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.devdocs.json b/api_docs/console.devdocs.json index 7deaeedae3f87..35dfc2c7cf34a 100644 --- a/api_docs/console.devdocs.json +++ b/api_docs/console.devdocs.json @@ -265,22 +265,6 @@ "enums": [], "misc": [], "objects": [], - "setup": { - "parentPluginId": "console", - "id": "def-server.ConsoleSetup", - "type": "Type", - "tags": [], - "label": "ConsoleSetup", - "description": [], - "signature": [ - "{ addExtensionSpecFilePath: (path: string) => void; }" - ], - "path": "src/plugins/console/server/types.ts", - "deprecated": false, - "trackAdoption": false, - "lifecycle": "setup", - "initialIsOpen": true - }, "start": { "parentPluginId": "console", "id": "def-server.ConsoleStart", diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 89a40411b80d1..a95f7047b88f6 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; @@ -33,9 +33,6 @@ Contact [@elastic/platform-deployment-management](https://github.com/orgs/elasti ## Server -### Setup - - ### Start diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 067e817d560c8..95c8400a8ff60 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'contentManagement'] --- import contentManagementObj from './content_management.devdocs.json'; diff --git a/api_docs/controls.mdx b/api_docs/controls.mdx index ff947b5a790b0..603f98b534a1c 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'controls'] --- import controlsObj from './controls.devdocs.json'; diff --git a/api_docs/custom_integrations.mdx b/api_docs/custom_integrations.mdx index 726fe75c64c81..c734f9104b9a2 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-07-13 +date: 2023-07-17 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 1c446d0c9b28e..54aecb8e955aa 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-07-13 +date: 2023-07-17 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 55d48f0ca2f48..cbb8648c1f8f8 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-07-13 +date: 2023-07-17 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 8caf2b094d26d..fa7e3933f6883 100644 --- a/api_docs/data.devdocs.json +++ b/api_docs/data.devdocs.json @@ -8815,6 +8815,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/server/sample_data/logs.ts" @@ -13270,7 +13274,7 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/expression.tsx" + "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" }, { "plugin": "observability", @@ -20933,7 +20937,7 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/expression.tsx" + "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" }, { "plugin": "observability", @@ -27649,6 +27653,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/server/sample_data/logs.ts" diff --git a/api_docs/data.mdx b/api_docs/data.mdx index 3cc21f11e7d86..03afb7ec46aff 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-07-13 +date: 2023-07-17 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 ea37083c9666a..f63936ca74079 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-07-13 +date: 2023-07-17 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 1d31279da0b48..ab4d1cdf6e2ad 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-07-13 +date: 2023-07-17 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 593b3d7e16e2b..e2f65f0d65a26 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-07-13 +date: 2023-07-17 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 a85ad030751b8..51b26694c8219 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-07-13 +date: 2023-07-17 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 4acf03b61b04d..722c259e14d98 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-07-13 +date: 2023-07-17 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 f25ea1813e233..b7a3d99c3f65f 100644 --- a/api_docs/data_views.devdocs.json +++ b/api_docs/data_views.devdocs.json @@ -89,7 +89,7 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/expression.tsx" + "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" }, { "plugin": "observability", @@ -7925,7 +7925,7 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/expression.tsx" + "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" }, { "plugin": "observability", @@ -14880,7 +14880,7 @@ }, { "plugin": "observability", - "path": "x-pack/plugins/observability/public/components/threshold/components/expression.tsx" + "path": "x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx" }, { "plugin": "observability", @@ -24086,6 +24086,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/server/sample_data/logs.ts" diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx index ec8b6df08a684..e67167bc21355 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-07-13 +date: 2023-07-17 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 217b6c9b73aec..ca985e0804864 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-07-13 +date: 2023-07-17 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 469a2054c6296..b52f25aa46888 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 418fbd650446d..c5e5bf07b4e53 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -702,8 +702,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion) | - | -| | [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion)+ 10 more | - | +| | [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion) | - | +| | [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [install.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion), [get.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/server/services/epm/packages/get.test.ts#:~:text=migrationVersion)+ 14 more | - | | | [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title), [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title) | - | | | [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title), [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title) | - | | | [query_bar.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_details_page/components/agent_logs/query_bar.tsx#:~:text=title) | - | @@ -951,9 +951,9 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [executor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.ts#:~:text=alertFactory), [threshold_executor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.ts#:~:text=alertFactory), [executor.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/server/lib/rules/slo_burn_rate/executor.test.ts#:~:text=alertFactory) | - | -| | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title)+ 2 more | - | -| | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title)+ 2 more | - | -| | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx#:~:text=title) | - | +| | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [threshold_rule_expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title)+ 2 more | - | +| | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [threshold_rule_expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title)+ 2 more | - | +| | [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [use_metrics_explorer_data.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/hooks/use_metrics_explorer_data.ts#:~:text=title), [threshold_rule_expression.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/threshold_rule_expression.tsx#:~:text=title), [alert_details_app_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/threshold/components/alert_details_app_section.tsx#:~:text=title) | - | | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/application/index.tsx#:~:text=RedirectAppLinks) | - | | | [render_cell_value.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/alerts_table/render_cell_value.tsx#:~:text=DeprecatedCellValueElementProps), [render_cell_value.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability/public/components/alerts_table/render_cell_value.tsx#:~:text=DeprecatedCellValueElementProps) | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index 96988b210d293..f7ccfb3df1b9a 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 114ff24510c73..fb0291e9a37d1 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-07-13 +date: 2023-07-17 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 5b4f2716b00cb..298907d40ba87 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-07-13 +date: 2023-07-17 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 48dda991d719b..9b61581861827 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-07-13 +date: 2023-07-17 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 22c335a6bdabf..3ad704d4b7c09 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx index 5df5a15d89f59..4f31ec2fd02f8 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'embeddable'] --- import embeddableObj from './embeddable.devdocs.json'; diff --git a/api_docs/embeddable_enhanced.mdx b/api_docs/embeddable_enhanced.mdx index 5df39f9b59f6b..5e90ff3f9545c 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-07-13 +date: 2023-07-17 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 0bc3b60a9a7cd..7776b14e2dea0 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-07-13 +date: 2023-07-17 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 9481ef8ff7ad5..99cda4d5bb3af 100644 --- a/api_docs/enterprise_search.devdocs.json +++ b/api_docs/enterprise_search.devdocs.json @@ -128,7 +128,7 @@ "label": "CURRENT_CONNECTORS_JOB_INDEX", "description": [], "signature": [ - "\".elastic-connectors-v1\"" + "\".elastic-connectors-sync-jobs-v1\"" ], "path": "x-pack/plugins/enterprise_search/server/index.ts", "deprecated": false, diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx index a40603ac30816..7d109ee3e7de3 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-07-13 +date: 2023-07-17 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 72a974ca15d84..e4283d7a3c694 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'esUiShared'] --- import esUiSharedObj from './es_ui_shared.devdocs.json'; diff --git a/api_docs/event_annotation.mdx b/api_docs/event_annotation.mdx index 5364940099acc..d23f042a5683f 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation'] --- import eventAnnotationObj from './event_annotation.devdocs.json'; diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx index ae328fd1164ba..54388dcd93c23 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-07-13 +date: 2023-07-17 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 2694ba0efd2bf..811d59a9af9ca 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-07-13 +date: 2023-07-17 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 e7967eeaca8f3..43a292e74e597 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-07-13 +date: 2023-07-17 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 8373065ef030e..fddc607bd1381 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-07-13 +date: 2023-07-17 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 6d4eb1c010933..e56b1e7e24c50 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-07-13 +date: 2023-07-17 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 19a7dd01ee13e..5bca1306f7f2e 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-07-13 +date: 2023-07-17 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 44793c00bee3d..a3473c32bc887 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-07-13 +date: 2023-07-17 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 7e4d7ed60343a..ecb4fba85f19f 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-07-13 +date: 2023-07-17 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 71d6bb1e7adf4..03a98112ff2c3 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-07-13 +date: 2023-07-17 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 c37e371814afc..8b8a9f8cad38f 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-07-13 +date: 2023-07-17 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 590ef7c4d56fb..1cbd1fa4e769c 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-07-13 +date: 2023-07-17 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 ebc9b628e0530..37498f649ea80 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-07-13 +date: 2023-07-17 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 d86d0ae3509af..7c32d4cd0f617 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-07-13 +date: 2023-07-17 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 85f18ea25427c..9d7fa0f063e83 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-07-13 +date: 2023-07-17 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 ee2b844da1d64..654711dd156c3 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-07-13 +date: 2023-07-17 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 a58ece1eff7a5..2b143239b7c1d 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-07-13 +date: 2023-07-17 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 90661245687eb..a5314c2372c34 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-07-13 +date: 2023-07-17 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 637d41fac6a29..f5720460eee45 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-07-13 +date: 2023-07-17 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 97587fa96493e..68a5e83c9bb64 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-07-13 +date: 2023-07-17 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 8e94b08147a8e..1674c841b057a 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-07-13 +date: 2023-07-17 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 fcecdf57b2296..8a8a437867191 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-07-13 +date: 2023-07-17 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 a5eb0c5dd285e..90198a0f04b1b 100644 --- a/api_docs/fleet.devdocs.json +++ b/api_docs/fleet.devdocs.json @@ -20305,7 +20305,7 @@ "label": "install_source", "description": [], "signature": [ - "\"upload\" | \"registry\" | \"bundled\"" + "\"custom\" | \"upload\" | \"registry\" | \"bundled\"" ], "path": "x-pack/plugins/fleet/common/types/models/epm.ts", "deprecated": false, @@ -20509,7 +20509,7 @@ "label": "installSource", "description": [], "signature": [ - "\"upload\" | \"registry\" | \"bundled\"" + "\"custom\" | \"upload\" | \"registry\" | \"bundled\"" ], "path": "x-pack/plugins/fleet/common/types/rest_spec/epm.ts", "deprecated": false, @@ -26750,6 +26750,17 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "fleet", + "id": "def-common.EPM_API_ROUTES.CUSTOM_INTEGRATIONS_PATTERN", + "type": "string", + "tags": [], + "label": "CUSTOM_INTEGRATIONS_PATTERN", + "description": [], + "path": "x-pack/plugins/fleet/common/constants/routes.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "fleet", "id": "def-common.EPM_API_ROUTES.DELETE_PATTERN", diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 5533a02e4c496..5c6d7cf442272 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-07-13 +date: 2023-07-17 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 | |-------------------|-----------|------------------------|-----------------| -| 1179 | 3 | 1063 | 39 | +| 1180 | 3 | 1064 | 39 | ## Client diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index d2193fc298d04..fe400892c2902 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-07-13 +date: 2023-07-17 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 200ddd283c321..2cecf51eb22a6 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-07-13 +date: 2023-07-17 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 dfb874a8fc880..7795d72a61c9f 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-07-13 +date: 2023-07-17 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 4a484b4aa6d1d..b5d542bd8a36d 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-07-13 +date: 2023-07-17 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 8a7a53787ab26..db620c7d98e03 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement'] --- import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json'; diff --git a/api_docs/index_management.devdocs.json b/api_docs/index_management.devdocs.json index bfdd40f900a37..15ae3372c6048 100644 --- a/api_docs/index_management.devdocs.json +++ b/api_docs/index_management.devdocs.json @@ -750,7 +750,7 @@ "label": "IndexManagementConfig", "description": [], "signature": [ - "{ readonly ui: Readonly<{} & { enabled: boolean; }>; }" + "{ readonly ui: Readonly<{} & { enabled: boolean; }>; readonly enableIndexActions: boolean; }" ], "path": "x-pack/plugins/index_management/server/config.ts", "deprecated": false, diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx index d6f48042ed408..9788c1f8cfdd8 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-07-13 +date: 2023-07-17 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 4e69c773e8a69..85603d9216e58 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-07-13 +date: 2023-07-17 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 12f05417a90a8..ac9ca70f34f2b 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-07-13 +date: 2023-07-17 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 9a54b5f51ee88..abe4bb78f4cad 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-07-13 +date: 2023-07-17 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 f9ddf1e99904b..44f8e2a8b6a8a 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-07-13 +date: 2023-07-17 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 0f7b2497feed4..e443fbb3f9a4b 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-07-13 +date: 2023-07-17 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 1a2d7e193ff44..3290cce7f67f8 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-07-13 +date: 2023-07-17 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 1fbb9cecf8b29..7207c89a89da8 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_alerts_as_data_utils.devdocs.json index 9849eec4e5d5b..c58905ca35d4f 100644 --- a/api_docs/kbn_alerts_as_data_utils.devdocs.json +++ b/api_docs/kbn_alerts_as_data_utils.devdocs.json @@ -148,7 +148,7 @@ "label": "AADAlert", "description": [], "signature": [ - "({ '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; }) | ({} & { agent?: { name?: string | undefined; } | undefined; error?: { grouping_key?: string | undefined; } | undefined; kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; processor?: { event?: string | undefined; } | undefined; service?: { environment?: string | undefined; language?: { name?: string | undefined; } | undefined; name?: string | undefined; } | undefined; transaction?: { name?: string | undefined; type?: string | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({} & { kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & { '@timestamp': string; ecs: { version: string; }; } & { agent?: { build?: { original?: string | undefined; } | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; client?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; cloud?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; origin?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; target?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; } | undefined; container?: { cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; id?: string | undefined; image?: { hash?: { all?: string[] | undefined; } | undefined; name?: string | undefined; tag?: string[] | undefined; } | undefined; memory?: { usage?: string | number | undefined; } | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; } | undefined; } | undefined; runtime?: string | undefined; } | undefined; destination?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; device?: { id?: string | undefined; manufacturer?: string | undefined; model?: { identifier?: string | undefined; name?: string | undefined; } | undefined; } | undefined; dll?: { code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; name?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; } | undefined; dns?: { answers?: { class?: string | undefined; data?: string | undefined; name?: string | undefined; ttl?: string | number | undefined; type?: string | undefined; }[] | undefined; header_flags?: string[] | undefined; id?: string | undefined; op_code?: string | undefined; question?: { class?: string | undefined; name?: string | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; type?: string | undefined; } | undefined; resolved_ip?: string[] | undefined; response_code?: string | undefined; type?: string | undefined; } | undefined; email?: { attachments?: { file?: { extension?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; mime_type?: string | undefined; name?: string | undefined; size?: string | number | undefined; } | undefined; }[] | undefined; bcc?: { address?: string[] | undefined; } | undefined; cc?: { address?: string[] | undefined; } | undefined; content_type?: string | undefined; delivery_timestamp?: string | undefined; direction?: string | undefined; from?: { address?: string[] | undefined; } | undefined; local_id?: string | undefined; message_id?: string | undefined; origination_timestamp?: string | undefined; reply_to?: { address?: string[] | undefined; } | undefined; sender?: { address?: string | undefined; } | undefined; subject?: string | undefined; to?: { address?: string[] | undefined; } | undefined; x_mailer?: string | undefined; } | undefined; error?: { code?: string | undefined; id?: string | undefined; message?: string | undefined; stack_trace?: string | undefined; type?: string | undefined; } | undefined; event?: { action?: string | undefined; agent_id_status?: string | undefined; category?: string[] | undefined; code?: string | undefined; created?: string | undefined; dataset?: string | undefined; duration?: string | number | undefined; end?: string | undefined; hash?: string | undefined; id?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; outcome?: string | undefined; provider?: string | undefined; reason?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; severity?: string | number | undefined; start?: string | undefined; timezone?: string | undefined; type?: string[] | undefined; url?: string | undefined; } | undefined; faas?: { coldstart?: boolean | undefined; execution?: string | undefined; id?: string | undefined; name?: string | undefined; version?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; host?: { architecture?: string | undefined; boot?: { id?: string | undefined; } | undefined; cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; id?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; } | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; pid_ns_ino?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; type?: string | undefined; uptime?: string | number | undefined; } | undefined; http?: { request?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; id?: string | undefined; method?: string | undefined; mime_type?: string | undefined; referrer?: string | undefined; } | undefined; response?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; mime_type?: string | undefined; status_code?: string | number | undefined; } | undefined; version?: string | undefined; } | undefined; log?: { file?: { path?: string | undefined; } | undefined; level?: string | undefined; logger?: string | undefined; origin?: { file?: { line?: string | number | undefined; name?: string | undefined; } | undefined; function?: string | undefined; } | undefined; } | undefined; message?: string | undefined; network?: { application?: string | undefined; bytes?: string | number | undefined; community_id?: string | undefined; direction?: string | undefined; forwarded_ip?: string | undefined; iana_number?: string | undefined; name?: string | undefined; packets?: string | number | undefined; protocol?: string | undefined; transport?: string | undefined; type?: string | undefined; vlan?: { id?: string | undefined; name?: string | undefined; } | undefined; } | undefined; observer?: { geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; product?: string | undefined; serial_number?: string | undefined; type?: string | undefined; vendor?: string | undefined; version?: string | undefined; } | undefined; orchestrator?: { api_version?: string | undefined; cluster?: { id?: string | undefined; name?: string | undefined; url?: string | undefined; version?: string | undefined; } | undefined; namespace?: string | undefined; organization?: string | undefined; resource?: { id?: string | undefined; ip?: string[] | undefined; name?: string | undefined; parent?: { type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; organization?: { id?: string | undefined; name?: string | undefined; } | undefined; package?: { architecture?: string | undefined; build_version?: string | undefined; checksum?: string | undefined; description?: string | undefined; install_scope?: string | undefined; installed?: string | undefined; license?: string | undefined; name?: string | undefined; path?: string | undefined; reference?: string | undefined; size?: string | number | undefined; type?: string | undefined; version?: string | undefined; } | undefined; process?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; entry_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; attested_groups?: { name?: string | undefined; } | undefined; attested_user?: { id?: string | undefined; name?: string | undefined; } | undefined; command_line?: string | undefined; entity_id?: string | undefined; entry_meta?: { source?: { ip?: string | undefined; } | undefined; type?: string | undefined; } | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; env_vars?: string[] | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; group_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; previous?: { args?: string[] | undefined; args_count?: string | number | undefined; executable?: string | undefined; } | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; session_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; related?: { hash?: string[] | undefined; hosts?: string[] | undefined; ip?: string[] | undefined; user?: string[] | undefined; } | undefined; rule?: { author?: string[] | undefined; category?: string | undefined; description?: string | undefined; id?: string | undefined; license?: string | undefined; name?: string | undefined; reference?: string | undefined; ruleset?: string | undefined; uuid?: string | undefined; version?: string | undefined; } | undefined; server?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; service?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; origin?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; state?: string | undefined; target?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; type?: string | undefined; version?: string | undefined; } | undefined; source?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; span?: { id?: string | undefined; } | undefined; tags?: string[] | undefined; threat?: { enrichments?: { matched?: { atomic?: string | undefined; field?: string | undefined; id?: string | undefined; index?: string | undefined; occurred?: string | undefined; type?: string | undefined; } | undefined; }[] | undefined; feed?: { dashboard_id?: string | undefined; description?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; framework?: string | undefined; group?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; indicator?: { as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; confidence?: string | undefined; description?: string | undefined; email?: { address?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; first_seen?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; last_seen?: string | undefined; marking?: { tlp?: string | undefined; tlp_version?: string | undefined; } | undefined; modified_at?: string | undefined; port?: string | number | undefined; provider?: string | undefined; reference?: string | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; scanner_stats?: string | number | undefined; sightings?: string | number | undefined; type?: string | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; software?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; platforms?: string[] | undefined; reference?: string | undefined; type?: string | undefined; } | undefined; tactic?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; technique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; subtechnique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; } | undefined; } | undefined; tls?: { cipher?: string | undefined; client?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; server_name?: string | undefined; subject?: string | undefined; supported_ciphers?: string[] | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; curve?: string | undefined; established?: boolean | undefined; next_protocol?: string | undefined; resumed?: boolean | undefined; server?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3s?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; subject?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; version?: string | undefined; version_protocol?: string | undefined; } | undefined; trace?: { id?: string | undefined; } | undefined; transaction?: { id?: string | undefined; } | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; user?: { changes?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; domain?: string | undefined; effective?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; roles?: string[] | undefined; target?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; user_agent?: { device?: { name?: string | undefined; } | undefined; name?: string | undefined; original?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; version?: string | undefined; } | undefined; vulnerability?: { category?: string[] | undefined; classification?: string | undefined; description?: string | undefined; enumeration?: string | undefined; id?: string | undefined; reference?: string | undefined; report_id?: string | undefined; scanner?: { vendor?: string | undefined; } | undefined; score?: { base?: number | undefined; environmental?: number | undefined; temporal?: number | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; } | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({} & { kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & { '@timestamp': string; ecs: { version: string; }; } & { agent?: { build?: { original?: string | undefined; } | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; client?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; cloud?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; origin?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; target?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; } | undefined; container?: { cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; id?: string | undefined; image?: { hash?: { all?: string[] | undefined; } | undefined; name?: string | undefined; tag?: string[] | undefined; } | undefined; memory?: { usage?: string | number | undefined; } | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; } | undefined; } | undefined; runtime?: string | undefined; } | undefined; destination?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; device?: { id?: string | undefined; manufacturer?: string | undefined; model?: { identifier?: string | undefined; name?: string | undefined; } | undefined; } | undefined; dll?: { code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; name?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; } | undefined; dns?: { answers?: { class?: string | undefined; data?: string | undefined; name?: string | undefined; ttl?: string | number | undefined; type?: string | undefined; }[] | undefined; header_flags?: string[] | undefined; id?: string | undefined; op_code?: string | undefined; question?: { class?: string | undefined; name?: string | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; type?: string | undefined; } | undefined; resolved_ip?: string[] | undefined; response_code?: string | undefined; type?: string | undefined; } | undefined; email?: { attachments?: { file?: { extension?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; mime_type?: string | undefined; name?: string | undefined; size?: string | number | undefined; } | undefined; }[] | undefined; bcc?: { address?: string[] | undefined; } | undefined; cc?: { address?: string[] | undefined; } | undefined; content_type?: string | undefined; delivery_timestamp?: string | undefined; direction?: string | undefined; from?: { address?: string[] | undefined; } | undefined; local_id?: string | undefined; message_id?: string | undefined; origination_timestamp?: string | undefined; reply_to?: { address?: string[] | undefined; } | undefined; sender?: { address?: string | undefined; } | undefined; subject?: string | undefined; to?: { address?: string[] | undefined; } | undefined; x_mailer?: string | undefined; } | undefined; error?: { code?: string | undefined; id?: string | undefined; message?: string | undefined; stack_trace?: string | undefined; type?: string | undefined; } | undefined; event?: { action?: string | undefined; agent_id_status?: string | undefined; category?: string[] | undefined; code?: string | undefined; created?: string | undefined; dataset?: string | undefined; duration?: string | number | undefined; end?: string | undefined; hash?: string | undefined; id?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; outcome?: string | undefined; provider?: string | undefined; reason?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; severity?: string | number | undefined; start?: string | undefined; timezone?: string | undefined; type?: string[] | undefined; url?: string | undefined; } | undefined; faas?: { coldstart?: boolean | undefined; execution?: string | undefined; id?: string | undefined; name?: string | undefined; version?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; host?: { architecture?: string | undefined; boot?: { id?: string | undefined; } | undefined; cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; id?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; } | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; pid_ns_ino?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; type?: string | undefined; uptime?: string | number | undefined; } | undefined; http?: { request?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; id?: string | undefined; method?: string | undefined; mime_type?: string | undefined; referrer?: string | undefined; } | undefined; response?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; mime_type?: string | undefined; status_code?: string | number | undefined; } | undefined; version?: string | undefined; } | undefined; log?: { file?: { path?: string | undefined; } | undefined; level?: string | undefined; logger?: string | undefined; origin?: { file?: { line?: string | number | undefined; name?: string | undefined; } | undefined; function?: string | undefined; } | undefined; } | undefined; message?: string | undefined; network?: { application?: string | undefined; bytes?: string | number | undefined; community_id?: string | undefined; direction?: string | undefined; forwarded_ip?: string | undefined; iana_number?: string | undefined; name?: string | undefined; packets?: string | number | undefined; protocol?: string | undefined; transport?: string | undefined; type?: string | undefined; vlan?: { id?: string | undefined; name?: string | undefined; } | undefined; } | undefined; observer?: { geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; product?: string | undefined; serial_number?: string | undefined; type?: string | undefined; vendor?: string | undefined; version?: string | undefined; } | undefined; orchestrator?: { api_version?: string | undefined; cluster?: { id?: string | undefined; name?: string | undefined; url?: string | undefined; version?: string | undefined; } | undefined; namespace?: string | undefined; organization?: string | undefined; resource?: { id?: string | undefined; ip?: string[] | undefined; name?: string | undefined; parent?: { type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; organization?: { id?: string | undefined; name?: string | undefined; } | undefined; package?: { architecture?: string | undefined; build_version?: string | undefined; checksum?: string | undefined; description?: string | undefined; install_scope?: string | undefined; installed?: string | undefined; license?: string | undefined; name?: string | undefined; path?: string | undefined; reference?: string | undefined; size?: string | number | undefined; type?: string | undefined; version?: string | undefined; } | undefined; process?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; entry_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; attested_groups?: { name?: string | undefined; } | undefined; attested_user?: { id?: string | undefined; name?: string | undefined; } | undefined; command_line?: string | undefined; entity_id?: string | undefined; entry_meta?: { source?: { ip?: string | undefined; } | undefined; type?: string | undefined; } | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; env_vars?: string[] | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; group_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; previous?: { args?: string[] | undefined; args_count?: string | number | undefined; executable?: string | undefined; } | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; session_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; related?: { hash?: string[] | undefined; hosts?: string[] | undefined; ip?: string[] | undefined; user?: string[] | undefined; } | undefined; rule?: { author?: string[] | undefined; category?: string | undefined; description?: string | undefined; id?: string | undefined; license?: string | undefined; name?: string | undefined; reference?: string | undefined; ruleset?: string | undefined; uuid?: string | undefined; version?: string | undefined; } | undefined; server?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; service?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; origin?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; state?: string | undefined; target?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; type?: string | undefined; version?: string | undefined; } | undefined; source?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; span?: { id?: string | undefined; } | undefined; tags?: string[] | undefined; threat?: { enrichments?: { matched?: { atomic?: string | undefined; field?: string | undefined; id?: string | undefined; index?: string | undefined; occurred?: string | undefined; type?: string | undefined; } | undefined; }[] | undefined; feed?: { dashboard_id?: string | undefined; description?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; framework?: string | undefined; group?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; indicator?: { as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; confidence?: string | undefined; description?: string | undefined; email?: { address?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; first_seen?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; last_seen?: string | undefined; marking?: { tlp?: string | undefined; tlp_version?: string | undefined; } | undefined; modified_at?: string | undefined; port?: string | number | undefined; provider?: string | undefined; reference?: string | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; scanner_stats?: string | number | undefined; sightings?: string | number | undefined; type?: string | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; software?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; platforms?: string[] | undefined; reference?: string | undefined; type?: string | undefined; } | undefined; tactic?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; technique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; subtechnique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; } | undefined; } | undefined; tls?: { cipher?: string | undefined; client?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; server_name?: string | undefined; subject?: string | undefined; supported_ciphers?: string[] | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; curve?: string | undefined; established?: boolean | undefined; next_protocol?: string | undefined; resumed?: boolean | undefined; server?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3s?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; subject?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; version?: string | undefined; version_protocol?: string | undefined; } | undefined; trace?: { id?: string | undefined; } | undefined; transaction?: { id?: string | undefined; } | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; user?: { changes?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; domain?: string | undefined; effective?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; roles?: string[] | undefined; target?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; user_agent?: { device?: { name?: string | undefined; } | undefined; name?: string | undefined; original?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; version?: string | undefined; } | undefined; vulnerability?: { category?: string[] | undefined; classification?: string | undefined; description?: string | undefined; enumeration?: string | undefined; id?: string | undefined; reference?: string | undefined; report_id?: string | undefined; scanner?: { vendor?: string | undefined; } | undefined; score?: { base?: number | undefined; environmental?: number | undefined; temporal?: number | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; } | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({} & { kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; slo?: { id?: string | undefined; revision?: string | number | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({} & { agent?: { name?: string | undefined; } | undefined; anomaly?: { bucket_span?: { minutes?: string | undefined; } | undefined; start?: string | undefined; } | undefined; error?: { message?: string | undefined; } | undefined; kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; monitor?: { id?: string | undefined; name?: string | undefined; type?: string | undefined; } | undefined; observer?: { geo?: { name?: string | undefined; } | undefined; } | undefined; tls?: { server?: { hash?: { sha256?: string | undefined; } | undefined; x509?: { issuer?: { common_name?: string | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; subject?: { common_name?: string | undefined; } | undefined; } | undefined; } | undefined; } | undefined; url?: { full?: string | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({ '@timestamp': string; kibana: { alert: { ancestors: { depth: string | number; id: string; index: string; type: string; }[]; depth: string | number; instance: { id: string; }; original_event: { action: string; category: string[]; created: string; dataset: string; id: string; ingested: string; kind: string; module: string; original: string; outcome: string; provider: string; sequence: string | number; type: string[]; }; original_time: string; rule: { category: string; consumer: string; false_positives: string[]; max_signals: (string | number)[]; name: string; producer: string; revision: string | number; rule_type_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique: { id: string; name: string; reference: string; subtechnique: { id: string; name: string; reference: string; }; }; }; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { ecs?: { version?: string | undefined; } | undefined; event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; ancestors?: { rule?: string | undefined; } | undefined; building_block_type?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; group?: { id?: string | undefined; index?: number | undefined; } | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; new_terms?: string[] | undefined; original_event?: { agent_id_status?: string | undefined; code?: string | undefined; duration?: string | undefined; end?: string | undefined; hash?: string | undefined; reason?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; severity?: string | number | undefined; start?: string | undefined; timezone?: string | undefined; url?: string | undefined; } | undefined; reason?: string | undefined; risk_score?: number | undefined; rule?: { author?: string | undefined; building_block_type?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; execution?: { uuid?: string | undefined; } | undefined; from?: string | undefined; immutable?: string[] | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; parameters?: unknown; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; tags?: string[] | undefined; timeline_id?: string[] | undefined; timeline_title?: string[] | undefined; timestamp_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; start?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; threshold_result?: { count?: string | number | undefined; from?: string | undefined; terms?: { field?: string | undefined; value?: string | undefined; }[] | undefined; } | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_reason?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; workflow_user?: string | undefined; } | undefined; version?: string | undefined; } | undefined; signal?: { ancestors?: { depth?: unknown; id?: unknown; index?: unknown; type?: unknown; } | undefined; depth?: unknown; group?: { id?: unknown; index?: unknown; } | undefined; original_event?: { action?: unknown; category?: unknown; code?: unknown; created?: unknown; dataset?: unknown; duration?: unknown; end?: unknown; hash?: unknown; id?: unknown; kind?: unknown; module?: unknown; outcome?: unknown; provider?: unknown; reason?: unknown; risk_score?: unknown; risk_score_norm?: unknown; sequence?: unknown; severity?: unknown; start?: unknown; timezone?: unknown; type?: unknown; } | undefined; original_time?: unknown; reason?: unknown; rule?: { author?: unknown; building_block_type?: unknown; created_at?: unknown; created_by?: unknown; description?: unknown; enabled?: unknown; false_positives?: unknown; from?: unknown; id?: unknown; immutable?: unknown; interval?: unknown; license?: unknown; max_signals?: unknown; name?: unknown; note?: unknown; references?: unknown; risk_score?: unknown; rule_id?: unknown; rule_name_override?: unknown; severity?: unknown; tags?: unknown; threat?: { framework?: unknown; tactic?: { id?: unknown; name?: unknown; reference?: unknown; } | undefined; technique?: { id?: unknown; name?: unknown; reference?: unknown; subtechnique?: { id?: unknown; name?: unknown; reference?: unknown; } | undefined; } | undefined; } | undefined; timeline_id?: unknown; timeline_title?: unknown; timestamp_override?: unknown; to?: unknown; type?: unknown; updated_at?: unknown; updated_by?: unknown; version?: unknown; } | undefined; status?: unknown; threshold_result?: { cardinality?: { field?: unknown; value?: unknown; } | undefined; count?: unknown; from?: unknown; terms?: { field?: unknown; value?: unknown; } | undefined; } | undefined; } | undefined; tags?: string[] | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & { '@timestamp': string; ecs: { version: string; }; } & { agent?: { build?: { original?: string | undefined; } | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; client?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; cloud?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; origin?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; target?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; } | undefined; container?: { cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; id?: string | undefined; image?: { hash?: { all?: string[] | undefined; } | undefined; name?: string | undefined; tag?: string[] | undefined; } | undefined; memory?: { usage?: string | number | undefined; } | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; } | undefined; } | undefined; runtime?: string | undefined; } | undefined; destination?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; device?: { id?: string | undefined; manufacturer?: string | undefined; model?: { identifier?: string | undefined; name?: string | undefined; } | undefined; } | undefined; dll?: { code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; name?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; } | undefined; dns?: { answers?: { class?: string | undefined; data?: string | undefined; name?: string | undefined; ttl?: string | number | undefined; type?: string | undefined; }[] | undefined; header_flags?: string[] | undefined; id?: string | undefined; op_code?: string | undefined; question?: { class?: string | undefined; name?: string | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; type?: string | undefined; } | undefined; resolved_ip?: string[] | undefined; response_code?: string | undefined; type?: string | undefined; } | undefined; email?: { attachments?: { file?: { extension?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; mime_type?: string | undefined; name?: string | undefined; size?: string | number | undefined; } | undefined; }[] | undefined; bcc?: { address?: string[] | undefined; } | undefined; cc?: { address?: string[] | undefined; } | undefined; content_type?: string | undefined; delivery_timestamp?: string | undefined; direction?: string | undefined; from?: { address?: string[] | undefined; } | undefined; local_id?: string | undefined; message_id?: string | undefined; origination_timestamp?: string | undefined; reply_to?: { address?: string[] | undefined; } | undefined; sender?: { address?: string | undefined; } | undefined; subject?: string | undefined; to?: { address?: string[] | undefined; } | undefined; x_mailer?: string | undefined; } | undefined; error?: { code?: string | undefined; id?: string | undefined; message?: string | undefined; stack_trace?: string | undefined; type?: string | undefined; } | undefined; event?: { action?: string | undefined; agent_id_status?: string | undefined; category?: string[] | undefined; code?: string | undefined; created?: string | undefined; dataset?: string | undefined; duration?: string | number | undefined; end?: string | undefined; hash?: string | undefined; id?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; outcome?: string | undefined; provider?: string | undefined; reason?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; severity?: string | number | undefined; start?: string | undefined; timezone?: string | undefined; type?: string[] | undefined; url?: string | undefined; } | undefined; faas?: { coldstart?: boolean | undefined; execution?: string | undefined; id?: string | undefined; name?: string | undefined; version?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; host?: { architecture?: string | undefined; boot?: { id?: string | undefined; } | undefined; cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; id?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; } | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; pid_ns_ino?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; type?: string | undefined; uptime?: string | number | undefined; } | undefined; http?: { request?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; id?: string | undefined; method?: string | undefined; mime_type?: string | undefined; referrer?: string | undefined; } | undefined; response?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; mime_type?: string | undefined; status_code?: string | number | undefined; } | undefined; version?: string | undefined; } | undefined; log?: { file?: { path?: string | undefined; } | undefined; level?: string | undefined; logger?: string | undefined; origin?: { file?: { line?: string | number | undefined; name?: string | undefined; } | undefined; function?: string | undefined; } | undefined; } | undefined; message?: string | undefined; network?: { application?: string | undefined; bytes?: string | number | undefined; community_id?: string | undefined; direction?: string | undefined; forwarded_ip?: string | undefined; iana_number?: string | undefined; name?: string | undefined; packets?: string | number | undefined; protocol?: string | undefined; transport?: string | undefined; type?: string | undefined; vlan?: { id?: string | undefined; name?: string | undefined; } | undefined; } | undefined; observer?: { geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; product?: string | undefined; serial_number?: string | undefined; type?: string | undefined; vendor?: string | undefined; version?: string | undefined; } | undefined; orchestrator?: { api_version?: string | undefined; cluster?: { id?: string | undefined; name?: string | undefined; url?: string | undefined; version?: string | undefined; } | undefined; namespace?: string | undefined; organization?: string | undefined; resource?: { id?: string | undefined; ip?: string[] | undefined; name?: string | undefined; parent?: { type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; organization?: { id?: string | undefined; name?: string | undefined; } | undefined; package?: { architecture?: string | undefined; build_version?: string | undefined; checksum?: string | undefined; description?: string | undefined; install_scope?: string | undefined; installed?: string | undefined; license?: string | undefined; name?: string | undefined; path?: string | undefined; reference?: string | undefined; size?: string | number | undefined; type?: string | undefined; version?: string | undefined; } | undefined; process?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; entry_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; attested_groups?: { name?: string | undefined; } | undefined; attested_user?: { id?: string | undefined; name?: string | undefined; } | undefined; command_line?: string | undefined; entity_id?: string | undefined; entry_meta?: { source?: { ip?: string | undefined; } | undefined; type?: string | undefined; } | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; env_vars?: string[] | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; group_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; previous?: { args?: string[] | undefined; args_count?: string | number | undefined; executable?: string | undefined; } | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; session_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; related?: { hash?: string[] | undefined; hosts?: string[] | undefined; ip?: string[] | undefined; user?: string[] | undefined; } | undefined; rule?: { author?: string[] | undefined; category?: string | undefined; description?: string | undefined; id?: string | undefined; license?: string | undefined; name?: string | undefined; reference?: string | undefined; ruleset?: string | undefined; uuid?: string | undefined; version?: string | undefined; } | undefined; server?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; service?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; origin?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; state?: string | undefined; target?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; type?: string | undefined; version?: string | undefined; } | undefined; source?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; span?: { id?: string | undefined; } | undefined; tags?: string[] | undefined; threat?: { enrichments?: { matched?: { atomic?: string | undefined; field?: string | undefined; id?: string | undefined; index?: string | undefined; occurred?: string | undefined; type?: string | undefined; } | undefined; }[] | undefined; feed?: { dashboard_id?: string | undefined; description?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; framework?: string | undefined; group?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; indicator?: { as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; confidence?: string | undefined; description?: string | undefined; email?: { address?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; first_seen?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; last_seen?: string | undefined; marking?: { tlp?: string | undefined; tlp_version?: string | undefined; } | undefined; modified_at?: string | undefined; port?: string | number | undefined; provider?: string | undefined; reference?: string | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; scanner_stats?: string | number | undefined; sightings?: string | number | undefined; type?: string | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; software?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; platforms?: string[] | undefined; reference?: string | undefined; type?: string | undefined; } | undefined; tactic?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; technique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; subtechnique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; } | undefined; } | undefined; tls?: { cipher?: string | undefined; client?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; server_name?: string | undefined; subject?: string | undefined; supported_ciphers?: string[] | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; curve?: string | undefined; established?: boolean | undefined; next_protocol?: string | undefined; resumed?: boolean | undefined; server?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3s?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; subject?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; version?: string | undefined; version_protocol?: string | undefined; } | undefined; trace?: { id?: string | undefined; } | undefined; transaction?: { id?: string | undefined; } | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; user?: { changes?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; domain?: string | undefined; effective?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; roles?: string[] | undefined; target?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; user_agent?: { device?: { name?: string | undefined; } | undefined; name?: string | undefined; original?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; version?: string | undefined; } | undefined; vulnerability?: { category?: string[] | undefined; classification?: string | undefined; description?: string | undefined; enumeration?: string | undefined; id?: string | undefined; reference?: string | undefined; report_id?: string | undefined; scanner?: { vendor?: string | undefined; } | undefined; score?: { base?: number | undefined; environmental?: number | undefined; temporal?: number | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; } | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; })" + "({ '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; }) | ({} & { agent?: { name?: string | undefined; } | undefined; error?: { grouping_key?: string | undefined; grouping_name?: string | undefined; } | undefined; kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; processor?: { event?: string | undefined; } | undefined; service?: { environment?: string | undefined; language?: { name?: string | undefined; } | undefined; name?: string | undefined; } | undefined; transaction?: { name?: string | undefined; type?: string | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({} & { kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & { '@timestamp': string; ecs: { version: string; }; } & { agent?: { build?: { original?: string | undefined; } | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; client?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; cloud?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; origin?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; target?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; } | undefined; container?: { cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; id?: string | undefined; image?: { hash?: { all?: string[] | undefined; } | undefined; name?: string | undefined; tag?: string[] | undefined; } | undefined; memory?: { usage?: string | number | undefined; } | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; } | undefined; } | undefined; runtime?: string | undefined; } | undefined; destination?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; device?: { id?: string | undefined; manufacturer?: string | undefined; model?: { identifier?: string | undefined; name?: string | undefined; } | undefined; } | undefined; dll?: { code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; name?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; } | undefined; dns?: { answers?: { class?: string | undefined; data?: string | undefined; name?: string | undefined; ttl?: string | number | undefined; type?: string | undefined; }[] | undefined; header_flags?: string[] | undefined; id?: string | undefined; op_code?: string | undefined; question?: { class?: string | undefined; name?: string | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; type?: string | undefined; } | undefined; resolved_ip?: string[] | undefined; response_code?: string | undefined; type?: string | undefined; } | undefined; email?: { attachments?: { file?: { extension?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; mime_type?: string | undefined; name?: string | undefined; size?: string | number | undefined; } | undefined; }[] | undefined; bcc?: { address?: string[] | undefined; } | undefined; cc?: { address?: string[] | undefined; } | undefined; content_type?: string | undefined; delivery_timestamp?: string | undefined; direction?: string | undefined; from?: { address?: string[] | undefined; } | undefined; local_id?: string | undefined; message_id?: string | undefined; origination_timestamp?: string | undefined; reply_to?: { address?: string[] | undefined; } | undefined; sender?: { address?: string | undefined; } | undefined; subject?: string | undefined; to?: { address?: string[] | undefined; } | undefined; x_mailer?: string | undefined; } | undefined; error?: { code?: string | undefined; id?: string | undefined; message?: string | undefined; stack_trace?: string | undefined; type?: string | undefined; } | undefined; event?: { action?: string | undefined; agent_id_status?: string | undefined; category?: string[] | undefined; code?: string | undefined; created?: string | undefined; dataset?: string | undefined; duration?: string | number | undefined; end?: string | undefined; hash?: string | undefined; id?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; outcome?: string | undefined; provider?: string | undefined; reason?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; severity?: string | number | undefined; start?: string | undefined; timezone?: string | undefined; type?: string[] | undefined; url?: string | undefined; } | undefined; faas?: { coldstart?: boolean | undefined; execution?: string | undefined; id?: string | undefined; name?: string | undefined; version?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; host?: { architecture?: string | undefined; boot?: { id?: string | undefined; } | undefined; cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; id?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; } | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; pid_ns_ino?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; type?: string | undefined; uptime?: string | number | undefined; } | undefined; http?: { request?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; id?: string | undefined; method?: string | undefined; mime_type?: string | undefined; referrer?: string | undefined; } | undefined; response?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; mime_type?: string | undefined; status_code?: string | number | undefined; } | undefined; version?: string | undefined; } | undefined; log?: { file?: { path?: string | undefined; } | undefined; level?: string | undefined; logger?: string | undefined; origin?: { file?: { line?: string | number | undefined; name?: string | undefined; } | undefined; function?: string | undefined; } | undefined; } | undefined; message?: string | undefined; network?: { application?: string | undefined; bytes?: string | number | undefined; community_id?: string | undefined; direction?: string | undefined; forwarded_ip?: string | undefined; iana_number?: string | undefined; name?: string | undefined; packets?: string | number | undefined; protocol?: string | undefined; transport?: string | undefined; type?: string | undefined; vlan?: { id?: string | undefined; name?: string | undefined; } | undefined; } | undefined; observer?: { geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; product?: string | undefined; serial_number?: string | undefined; type?: string | undefined; vendor?: string | undefined; version?: string | undefined; } | undefined; orchestrator?: { api_version?: string | undefined; cluster?: { id?: string | undefined; name?: string | undefined; url?: string | undefined; version?: string | undefined; } | undefined; namespace?: string | undefined; organization?: string | undefined; resource?: { id?: string | undefined; ip?: string[] | undefined; name?: string | undefined; parent?: { type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; organization?: { id?: string | undefined; name?: string | undefined; } | undefined; package?: { architecture?: string | undefined; build_version?: string | undefined; checksum?: string | undefined; description?: string | undefined; install_scope?: string | undefined; installed?: string | undefined; license?: string | undefined; name?: string | undefined; path?: string | undefined; reference?: string | undefined; size?: string | number | undefined; type?: string | undefined; version?: string | undefined; } | undefined; process?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; entry_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; attested_groups?: { name?: string | undefined; } | undefined; attested_user?: { id?: string | undefined; name?: string | undefined; } | undefined; command_line?: string | undefined; entity_id?: string | undefined; entry_meta?: { source?: { ip?: string | undefined; } | undefined; type?: string | undefined; } | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; env_vars?: string[] | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; group_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; previous?: { args?: string[] | undefined; args_count?: string | number | undefined; executable?: string | undefined; } | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; session_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; related?: { hash?: string[] | undefined; hosts?: string[] | undefined; ip?: string[] | undefined; user?: string[] | undefined; } | undefined; rule?: { author?: string[] | undefined; category?: string | undefined; description?: string | undefined; id?: string | undefined; license?: string | undefined; name?: string | undefined; reference?: string | undefined; ruleset?: string | undefined; uuid?: string | undefined; version?: string | undefined; } | undefined; server?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; service?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; origin?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; state?: string | undefined; target?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; type?: string | undefined; version?: string | undefined; } | undefined; source?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; span?: { id?: string | undefined; } | undefined; tags?: string[] | undefined; threat?: { enrichments?: { matched?: { atomic?: string | undefined; field?: string | undefined; id?: string | undefined; index?: string | undefined; occurred?: string | undefined; type?: string | undefined; } | undefined; }[] | undefined; feed?: { dashboard_id?: string | undefined; description?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; framework?: string | undefined; group?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; indicator?: { as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; confidence?: string | undefined; description?: string | undefined; email?: { address?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; first_seen?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; last_seen?: string | undefined; marking?: { tlp?: string | undefined; tlp_version?: string | undefined; } | undefined; modified_at?: string | undefined; port?: string | number | undefined; provider?: string | undefined; reference?: string | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; scanner_stats?: string | number | undefined; sightings?: string | number | undefined; type?: string | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; software?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; platforms?: string[] | undefined; reference?: string | undefined; type?: string | undefined; } | undefined; tactic?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; technique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; subtechnique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; } | undefined; } | undefined; tls?: { cipher?: string | undefined; client?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; server_name?: string | undefined; subject?: string | undefined; supported_ciphers?: string[] | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; curve?: string | undefined; established?: boolean | undefined; next_protocol?: string | undefined; resumed?: boolean | undefined; server?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3s?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; subject?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; version?: string | undefined; version_protocol?: string | undefined; } | undefined; trace?: { id?: string | undefined; } | undefined; transaction?: { id?: string | undefined; } | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; user?: { changes?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; domain?: string | undefined; effective?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; roles?: string[] | undefined; target?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; user_agent?: { device?: { name?: string | undefined; } | undefined; name?: string | undefined; original?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; version?: string | undefined; } | undefined; vulnerability?: { category?: string[] | undefined; classification?: string | undefined; description?: string | undefined; enumeration?: string | undefined; id?: string | undefined; reference?: string | undefined; report_id?: string | undefined; scanner?: { vendor?: string | undefined; } | undefined; score?: { base?: number | undefined; environmental?: number | undefined; temporal?: number | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; } | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({} & { kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & { '@timestamp': string; ecs: { version: string; }; } & { agent?: { build?: { original?: string | undefined; } | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; client?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; cloud?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; origin?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; target?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; } | undefined; container?: { cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; id?: string | undefined; image?: { hash?: { all?: string[] | undefined; } | undefined; name?: string | undefined; tag?: string[] | undefined; } | undefined; memory?: { usage?: string | number | undefined; } | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; } | undefined; } | undefined; runtime?: string | undefined; } | undefined; destination?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; device?: { id?: string | undefined; manufacturer?: string | undefined; model?: { identifier?: string | undefined; name?: string | undefined; } | undefined; } | undefined; dll?: { code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; name?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; } | undefined; dns?: { answers?: { class?: string | undefined; data?: string | undefined; name?: string | undefined; ttl?: string | number | undefined; type?: string | undefined; }[] | undefined; header_flags?: string[] | undefined; id?: string | undefined; op_code?: string | undefined; question?: { class?: string | undefined; name?: string | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; type?: string | undefined; } | undefined; resolved_ip?: string[] | undefined; response_code?: string | undefined; type?: string | undefined; } | undefined; email?: { attachments?: { file?: { extension?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; mime_type?: string | undefined; name?: string | undefined; size?: string | number | undefined; } | undefined; }[] | undefined; bcc?: { address?: string[] | undefined; } | undefined; cc?: { address?: string[] | undefined; } | undefined; content_type?: string | undefined; delivery_timestamp?: string | undefined; direction?: string | undefined; from?: { address?: string[] | undefined; } | undefined; local_id?: string | undefined; message_id?: string | undefined; origination_timestamp?: string | undefined; reply_to?: { address?: string[] | undefined; } | undefined; sender?: { address?: string | undefined; } | undefined; subject?: string | undefined; to?: { address?: string[] | undefined; } | undefined; x_mailer?: string | undefined; } | undefined; error?: { code?: string | undefined; id?: string | undefined; message?: string | undefined; stack_trace?: string | undefined; type?: string | undefined; } | undefined; event?: { action?: string | undefined; agent_id_status?: string | undefined; category?: string[] | undefined; code?: string | undefined; created?: string | undefined; dataset?: string | undefined; duration?: string | number | undefined; end?: string | undefined; hash?: string | undefined; id?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; outcome?: string | undefined; provider?: string | undefined; reason?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; severity?: string | number | undefined; start?: string | undefined; timezone?: string | undefined; type?: string[] | undefined; url?: string | undefined; } | undefined; faas?: { coldstart?: boolean | undefined; execution?: string | undefined; id?: string | undefined; name?: string | undefined; version?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; host?: { architecture?: string | undefined; boot?: { id?: string | undefined; } | undefined; cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; id?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; } | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; pid_ns_ino?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; type?: string | undefined; uptime?: string | number | undefined; } | undefined; http?: { request?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; id?: string | undefined; method?: string | undefined; mime_type?: string | undefined; referrer?: string | undefined; } | undefined; response?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; mime_type?: string | undefined; status_code?: string | number | undefined; } | undefined; version?: string | undefined; } | undefined; log?: { file?: { path?: string | undefined; } | undefined; level?: string | undefined; logger?: string | undefined; origin?: { file?: { line?: string | number | undefined; name?: string | undefined; } | undefined; function?: string | undefined; } | undefined; } | undefined; message?: string | undefined; network?: { application?: string | undefined; bytes?: string | number | undefined; community_id?: string | undefined; direction?: string | undefined; forwarded_ip?: string | undefined; iana_number?: string | undefined; name?: string | undefined; packets?: string | number | undefined; protocol?: string | undefined; transport?: string | undefined; type?: string | undefined; vlan?: { id?: string | undefined; name?: string | undefined; } | undefined; } | undefined; observer?: { geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; product?: string | undefined; serial_number?: string | undefined; type?: string | undefined; vendor?: string | undefined; version?: string | undefined; } | undefined; orchestrator?: { api_version?: string | undefined; cluster?: { id?: string | undefined; name?: string | undefined; url?: string | undefined; version?: string | undefined; } | undefined; namespace?: string | undefined; organization?: string | undefined; resource?: { id?: string | undefined; ip?: string[] | undefined; name?: string | undefined; parent?: { type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; organization?: { id?: string | undefined; name?: string | undefined; } | undefined; package?: { architecture?: string | undefined; build_version?: string | undefined; checksum?: string | undefined; description?: string | undefined; install_scope?: string | undefined; installed?: string | undefined; license?: string | undefined; name?: string | undefined; path?: string | undefined; reference?: string | undefined; size?: string | number | undefined; type?: string | undefined; version?: string | undefined; } | undefined; process?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; entry_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; attested_groups?: { name?: string | undefined; } | undefined; attested_user?: { id?: string | undefined; name?: string | undefined; } | undefined; command_line?: string | undefined; entity_id?: string | undefined; entry_meta?: { source?: { ip?: string | undefined; } | undefined; type?: string | undefined; } | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; env_vars?: string[] | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; group_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; previous?: { args?: string[] | undefined; args_count?: string | number | undefined; executable?: string | undefined; } | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; session_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; related?: { hash?: string[] | undefined; hosts?: string[] | undefined; ip?: string[] | undefined; user?: string[] | undefined; } | undefined; rule?: { author?: string[] | undefined; category?: string | undefined; description?: string | undefined; id?: string | undefined; license?: string | undefined; name?: string | undefined; reference?: string | undefined; ruleset?: string | undefined; uuid?: string | undefined; version?: string | undefined; } | undefined; server?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; service?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; origin?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; state?: string | undefined; target?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; type?: string | undefined; version?: string | undefined; } | undefined; source?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; span?: { id?: string | undefined; } | undefined; tags?: string[] | undefined; threat?: { enrichments?: { matched?: { atomic?: string | undefined; field?: string | undefined; id?: string | undefined; index?: string | undefined; occurred?: string | undefined; type?: string | undefined; } | undefined; }[] | undefined; feed?: { dashboard_id?: string | undefined; description?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; framework?: string | undefined; group?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; indicator?: { as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; confidence?: string | undefined; description?: string | undefined; email?: { address?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; first_seen?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; last_seen?: string | undefined; marking?: { tlp?: string | undefined; tlp_version?: string | undefined; } | undefined; modified_at?: string | undefined; port?: string | number | undefined; provider?: string | undefined; reference?: string | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; scanner_stats?: string | number | undefined; sightings?: string | number | undefined; type?: string | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; software?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; platforms?: string[] | undefined; reference?: string | undefined; type?: string | undefined; } | undefined; tactic?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; technique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; subtechnique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; } | undefined; } | undefined; tls?: { cipher?: string | undefined; client?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; server_name?: string | undefined; subject?: string | undefined; supported_ciphers?: string[] | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; curve?: string | undefined; established?: boolean | undefined; next_protocol?: string | undefined; resumed?: boolean | undefined; server?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3s?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; subject?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; version?: string | undefined; version_protocol?: string | undefined; } | undefined; trace?: { id?: string | undefined; } | undefined; transaction?: { id?: string | undefined; } | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; user?: { changes?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; domain?: string | undefined; effective?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; roles?: string[] | undefined; target?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; user_agent?: { device?: { name?: string | undefined; } | undefined; name?: string | undefined; original?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; version?: string | undefined; } | undefined; vulnerability?: { category?: string[] | undefined; classification?: string | undefined; description?: string | undefined; enumeration?: string | undefined; id?: string | undefined; reference?: string | undefined; report_id?: string | undefined; scanner?: { vendor?: string | undefined; } | undefined; score?: { base?: number | undefined; environmental?: number | undefined; temporal?: number | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; } | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({} & { kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; slo?: { id?: string | undefined; revision?: string | number | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({} & { agent?: { name?: string | undefined; } | undefined; anomaly?: { bucket_span?: { minutes?: string | undefined; } | undefined; start?: string | undefined; } | undefined; error?: { message?: string | undefined; } | undefined; kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; monitor?: { id?: string | undefined; name?: string | undefined; type?: string | undefined; } | undefined; observer?: { geo?: { name?: string | undefined; } | undefined; } | undefined; tls?: { server?: { hash?: { sha256?: string | undefined; } | undefined; x509?: { issuer?: { common_name?: string | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; subject?: { common_name?: string | undefined; } | undefined; } | undefined; } | undefined; } | undefined; url?: { full?: string | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }) | ({ '@timestamp': string; kibana: { alert: { ancestors: { depth: string | number; id: string; index: string; type: string; }[]; depth: string | number; instance: { id: string; }; original_event: { action: string; category: string[]; created: string; dataset: string; id: string; ingested: string; kind: string; module: string; original: string; outcome: string; provider: string; sequence: string | number; type: string[]; }; original_time: string; rule: { category: string; consumer: string; false_positives: string[]; max_signals: (string | number)[]; name: string; producer: string; revision: string | number; rule_type_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique: { id: string; name: string; reference: string; subtechnique: { id: string; name: string; reference: string; }; }; }; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { ecs?: { version?: string | undefined; } | undefined; event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; ancestors?: { rule?: string | undefined; } | undefined; building_block_type?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; group?: { id?: string | undefined; index?: number | undefined; } | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; new_terms?: string[] | undefined; original_event?: { agent_id_status?: string | undefined; code?: string | undefined; duration?: string | undefined; end?: string | undefined; hash?: string | undefined; reason?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; severity?: string | number | undefined; start?: string | undefined; timezone?: string | undefined; url?: string | undefined; } | undefined; reason?: string | undefined; risk_score?: number | undefined; rule?: { author?: string | undefined; building_block_type?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; execution?: { uuid?: string | undefined; } | undefined; from?: string | undefined; immutable?: string[] | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; parameters?: unknown; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; tags?: string[] | undefined; timeline_id?: string[] | undefined; timeline_title?: string[] | undefined; timestamp_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; start?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; threshold_result?: { count?: string | number | undefined; from?: string | undefined; terms?: { field?: string | undefined; value?: string | undefined; }[] | undefined; } | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_reason?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; workflow_user?: string | undefined; } | undefined; version?: string | undefined; } | undefined; signal?: { ancestors?: { depth?: unknown; id?: unknown; index?: unknown; type?: unknown; } | undefined; depth?: unknown; group?: { id?: unknown; index?: unknown; } | undefined; original_event?: { action?: unknown; category?: unknown; code?: unknown; created?: unknown; dataset?: unknown; duration?: unknown; end?: unknown; hash?: unknown; id?: unknown; kind?: unknown; module?: unknown; outcome?: unknown; provider?: unknown; reason?: unknown; risk_score?: unknown; risk_score_norm?: unknown; sequence?: unknown; severity?: unknown; start?: unknown; timezone?: unknown; type?: unknown; } | undefined; original_time?: unknown; reason?: unknown; rule?: { author?: unknown; building_block_type?: unknown; created_at?: unknown; created_by?: unknown; description?: unknown; enabled?: unknown; false_positives?: unknown; from?: unknown; id?: unknown; immutable?: unknown; interval?: unknown; license?: unknown; max_signals?: unknown; name?: unknown; note?: unknown; references?: unknown; risk_score?: unknown; rule_id?: unknown; rule_name_override?: unknown; severity?: unknown; tags?: unknown; threat?: { framework?: unknown; tactic?: { id?: unknown; name?: unknown; reference?: unknown; } | undefined; technique?: { id?: unknown; name?: unknown; reference?: unknown; subtechnique?: { id?: unknown; name?: unknown; reference?: unknown; } | undefined; } | undefined; } | undefined; timeline_id?: unknown; timeline_title?: unknown; timestamp_override?: unknown; to?: unknown; type?: unknown; updated_at?: unknown; updated_by?: unknown; version?: unknown; } | undefined; status?: unknown; threshold_result?: { cardinality?: { field?: unknown; value?: unknown; } | undefined; count?: unknown; from?: unknown; terms?: { field?: unknown; value?: unknown; } | undefined; } | undefined; } | undefined; tags?: string[] | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & { '@timestamp': string; ecs: { version: string; }; } & { agent?: { build?: { original?: string | undefined; } | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; client?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; cloud?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; origin?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; target?: { account?: { id?: string | undefined; name?: string | undefined; } | undefined; availability_zone?: string | undefined; instance?: { id?: string | undefined; name?: string | undefined; } | undefined; machine?: { type?: string | undefined; } | undefined; project?: { id?: string | undefined; name?: string | undefined; } | undefined; provider?: string | undefined; region?: string | undefined; service?: { name?: string | undefined; } | undefined; } | undefined; } | undefined; container?: { cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; id?: string | undefined; image?: { hash?: { all?: string[] | undefined; } | undefined; name?: string | undefined; tag?: string[] | undefined; } | undefined; memory?: { usage?: string | number | undefined; } | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; } | undefined; } | undefined; runtime?: string | undefined; } | undefined; destination?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; device?: { id?: string | undefined; manufacturer?: string | undefined; model?: { identifier?: string | undefined; name?: string | undefined; } | undefined; } | undefined; dll?: { code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; name?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; } | undefined; dns?: { answers?: { class?: string | undefined; data?: string | undefined; name?: string | undefined; ttl?: string | number | undefined; type?: string | undefined; }[] | undefined; header_flags?: string[] | undefined; id?: string | undefined; op_code?: string | undefined; question?: { class?: string | undefined; name?: string | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; type?: string | undefined; } | undefined; resolved_ip?: string[] | undefined; response_code?: string | undefined; type?: string | undefined; } | undefined; email?: { attachments?: { file?: { extension?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; mime_type?: string | undefined; name?: string | undefined; size?: string | number | undefined; } | undefined; }[] | undefined; bcc?: { address?: string[] | undefined; } | undefined; cc?: { address?: string[] | undefined; } | undefined; content_type?: string | undefined; delivery_timestamp?: string | undefined; direction?: string | undefined; from?: { address?: string[] | undefined; } | undefined; local_id?: string | undefined; message_id?: string | undefined; origination_timestamp?: string | undefined; reply_to?: { address?: string[] | undefined; } | undefined; sender?: { address?: string | undefined; } | undefined; subject?: string | undefined; to?: { address?: string[] | undefined; } | undefined; x_mailer?: string | undefined; } | undefined; error?: { code?: string | undefined; id?: string | undefined; message?: string | undefined; stack_trace?: string | undefined; type?: string | undefined; } | undefined; event?: { action?: string | undefined; agent_id_status?: string | undefined; category?: string[] | undefined; code?: string | undefined; created?: string | undefined; dataset?: string | undefined; duration?: string | number | undefined; end?: string | undefined; hash?: string | undefined; id?: string | undefined; ingested?: string | undefined; kind?: string | undefined; module?: string | undefined; original?: string | undefined; outcome?: string | undefined; provider?: string | undefined; reason?: string | undefined; reference?: string | undefined; risk_score?: number | undefined; risk_score_norm?: number | undefined; sequence?: string | number | undefined; severity?: string | number | undefined; start?: string | undefined; timezone?: string | undefined; type?: string[] | undefined; url?: string | undefined; } | undefined; faas?: { coldstart?: boolean | undefined; execution?: string | undefined; id?: string | undefined; name?: string | undefined; version?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; host?: { architecture?: string | undefined; boot?: { id?: string | undefined; } | undefined; cpu?: { usage?: string | number | undefined; } | undefined; disk?: { read?: { bytes?: string | number | undefined; } | undefined; write?: { bytes?: string | number | undefined; } | undefined; } | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; id?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; network?: { egress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; ingress?: { bytes?: string | number | undefined; packets?: string | number | undefined; } | undefined; } | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; pid_ns_ino?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; type?: string | undefined; uptime?: string | number | undefined; } | undefined; http?: { request?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; id?: string | undefined; method?: string | undefined; mime_type?: string | undefined; referrer?: string | undefined; } | undefined; response?: { body?: { bytes?: string | number | undefined; content?: string | undefined; } | undefined; bytes?: string | number | undefined; mime_type?: string | undefined; status_code?: string | number | undefined; } | undefined; version?: string | undefined; } | undefined; log?: { file?: { path?: string | undefined; } | undefined; level?: string | undefined; logger?: string | undefined; origin?: { file?: { line?: string | number | undefined; name?: string | undefined; } | undefined; function?: string | undefined; } | undefined; } | undefined; message?: string | undefined; network?: { application?: string | undefined; bytes?: string | number | undefined; community_id?: string | undefined; direction?: string | undefined; forwarded_ip?: string | undefined; iana_number?: string | undefined; name?: string | undefined; packets?: string | number | undefined; protocol?: string | undefined; transport?: string | undefined; type?: string | undefined; vlan?: { id?: string | undefined; name?: string | undefined; } | undefined; } | undefined; observer?: { geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; hostname?: string | undefined; ip?: string[] | undefined; mac?: string[] | undefined; name?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; product?: string | undefined; serial_number?: string | undefined; type?: string | undefined; vendor?: string | undefined; version?: string | undefined; } | undefined; orchestrator?: { api_version?: string | undefined; cluster?: { id?: string | undefined; name?: string | undefined; url?: string | undefined; version?: string | undefined; } | undefined; namespace?: string | undefined; organization?: string | undefined; resource?: { id?: string | undefined; ip?: string[] | undefined; name?: string | undefined; parent?: { type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; type?: string | undefined; } | undefined; organization?: { id?: string | undefined; name?: string | undefined; } | undefined; package?: { architecture?: string | undefined; build_version?: string | undefined; checksum?: string | undefined; description?: string | undefined; install_scope?: string | undefined; installed?: string | undefined; license?: string | undefined; name?: string | undefined; path?: string | undefined; reference?: string | undefined; size?: string | number | undefined; type?: string | undefined; version?: string | undefined; } | undefined; process?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; entry_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; attested_groups?: { name?: string | undefined; } | undefined; attested_user?: { id?: string | undefined; name?: string | undefined; } | undefined; command_line?: string | undefined; entity_id?: string | undefined; entry_meta?: { source?: { ip?: string | undefined; } | undefined; type?: string | undefined; } | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; env_vars?: string[] | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { args?: string[] | undefined; args_count?: string | number | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; command_line?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; end?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; exit_code?: string | number | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; group_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; pgid?: string | number | undefined; pid?: string | number | undefined; previous?: { args?: string[] | undefined; args_count?: string | number | undefined; executable?: string | undefined; } | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; session_leader?: { args?: string[] | undefined; args_count?: string | number | undefined; command_line?: string | undefined; entity_id?: string | undefined; executable?: string | undefined; group?: { id?: string | undefined; name?: string | undefined; } | undefined; interactive?: boolean | undefined; name?: string | undefined; parent?: { entity_id?: string | undefined; pid?: string | number | undefined; session_leader?: { entity_id?: string | undefined; pid?: string | number | undefined; start?: string | undefined; } | undefined; start?: string | undefined; } | undefined; pid?: string | number | undefined; real_group?: { id?: string | undefined; name?: string | undefined; } | undefined; real_user?: { id?: string | undefined; name?: string | undefined; } | undefined; same_as_process?: boolean | undefined; saved_group?: { id?: string | undefined; name?: string | undefined; } | undefined; saved_user?: { id?: string | undefined; name?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; start?: string | undefined; supplemental_groups?: { id?: string | undefined; name?: string | undefined; } | undefined; thread?: { id?: string | number | undefined; name?: string | undefined; } | undefined; title?: string | undefined; uptime?: string | number | undefined; user?: { id?: string | undefined; name?: string | undefined; } | undefined; working_directory?: string | undefined; } | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; related?: { hash?: string[] | undefined; hosts?: string[] | undefined; ip?: string[] | undefined; user?: string[] | undefined; } | undefined; rule?: { author?: string[] | undefined; category?: string | undefined; description?: string | undefined; id?: string | undefined; license?: string | undefined; name?: string | undefined; reference?: string | undefined; ruleset?: string | undefined; uuid?: string | undefined; version?: string | undefined; } | undefined; server?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; service?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; origin?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; state?: string | undefined; target?: { address?: string | undefined; environment?: string | undefined; ephemeral_id?: string | undefined; id?: string | undefined; name?: string | undefined; node?: { name?: string | undefined; role?: string | undefined; roles?: string[] | undefined; } | undefined; state?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; type?: string | undefined; version?: string | undefined; } | undefined; source?: { address?: string | undefined; as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; bytes?: string | number | undefined; domain?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; mac?: string | undefined; nat?: { ip?: string | undefined; port?: string | number | undefined; } | undefined; packets?: string | number | undefined; port?: string | number | undefined; registered_domain?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; user?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; span?: { id?: string | undefined; } | undefined; tags?: string[] | undefined; threat?: { enrichments?: { matched?: { atomic?: string | undefined; field?: string | undefined; id?: string | undefined; index?: string | undefined; occurred?: string | undefined; type?: string | undefined; } | undefined; }[] | undefined; feed?: { dashboard_id?: string | undefined; description?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; framework?: string | undefined; group?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; reference?: string | undefined; } | undefined; indicator?: { as?: { number?: string | number | undefined; organization?: { name?: string | undefined; } | undefined; } | undefined; confidence?: string | undefined; description?: string | undefined; email?: { address?: string | undefined; } | undefined; file?: { accessed?: string | undefined; attributes?: string[] | undefined; code_signature?: { digest_algorithm?: string | undefined; exists?: boolean | undefined; signing_id?: string | undefined; status?: string | undefined; subject_name?: string | undefined; team_id?: string | undefined; timestamp?: string | undefined; trusted?: boolean | undefined; valid?: boolean | undefined; } | undefined; created?: string | undefined; ctime?: string | undefined; device?: string | undefined; directory?: string | undefined; drive_letter?: string | undefined; elf?: { architecture?: string | undefined; byte_order?: string | undefined; cpu_type?: string | undefined; creation_date?: string | undefined; exports?: unknown[] | undefined; header?: { abi_version?: string | undefined; class?: string | undefined; data?: string | undefined; entrypoint?: string | number | undefined; object_version?: string | undefined; os_abi?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; imports?: unknown[] | undefined; sections?: { chi2?: string | number | undefined; entropy?: string | number | undefined; flags?: string | undefined; name?: string | undefined; physical_offset?: string | undefined; physical_size?: string | number | undefined; type?: string | undefined; virtual_address?: string | number | undefined; virtual_size?: string | number | undefined; }[] | undefined; segments?: { sections?: string | undefined; type?: string | undefined; }[] | undefined; shared_libraries?: string[] | undefined; telfhash?: string | undefined; } | undefined; extension?: string | undefined; fork_name?: string | undefined; gid?: string | undefined; group?: string | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; sha384?: string | undefined; sha512?: string | undefined; ssdeep?: string | undefined; tlsh?: string | undefined; } | undefined; inode?: string | undefined; mime_type?: string | undefined; mode?: string | undefined; mtime?: string | undefined; name?: string | undefined; owner?: string | undefined; path?: string | undefined; pe?: { architecture?: string | undefined; company?: string | undefined; description?: string | undefined; file_version?: string | undefined; imphash?: string | undefined; original_file_name?: string | undefined; pehash?: string | undefined; product?: string | undefined; } | undefined; size?: string | number | undefined; target_path?: string | undefined; type?: string | undefined; uid?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; first_seen?: string | undefined; geo?: { city_name?: string | undefined; continent_code?: string | undefined; continent_name?: string | undefined; country_iso_code?: string | undefined; country_name?: string | undefined; location?: string | { type: string; coordinates: number[]; } | { lat: number; lon: number; } | { location: number[]; } | { location: string; } | undefined; name?: string | undefined; postal_code?: string | undefined; region_iso_code?: string | undefined; region_name?: string | undefined; timezone?: string | undefined; } | undefined; ip?: string | undefined; last_seen?: string | undefined; marking?: { tlp?: string | undefined; tlp_version?: string | undefined; } | undefined; modified_at?: string | undefined; port?: string | number | undefined; provider?: string | undefined; reference?: string | undefined; registry?: { data?: { bytes?: string | undefined; strings?: string[] | undefined; type?: string | undefined; } | undefined; hive?: string | undefined; key?: string | undefined; path?: string | undefined; value?: string | undefined; } | undefined; scanner_stats?: string | number | undefined; sightings?: string | number | undefined; type?: string | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; software?: { alias?: string[] | undefined; id?: string | undefined; name?: string | undefined; platforms?: string[] | undefined; reference?: string | undefined; type?: string | undefined; } | undefined; tactic?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; technique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; subtechnique?: { id?: string[] | undefined; name?: string[] | undefined; reference?: string[] | undefined; } | undefined; } | undefined; } | undefined; tls?: { cipher?: string | undefined; client?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; server_name?: string | undefined; subject?: string | undefined; supported_ciphers?: string[] | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; curve?: string | undefined; established?: boolean | undefined; next_protocol?: string | undefined; resumed?: boolean | undefined; server?: { certificate?: string | undefined; certificate_chain?: string[] | undefined; hash?: { md5?: string | undefined; sha1?: string | undefined; sha256?: string | undefined; } | undefined; issuer?: string | undefined; ja3s?: string | undefined; not_after?: string | undefined; not_before?: string | undefined; subject?: string | undefined; x509?: { alternative_names?: string[] | undefined; issuer?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; not_after?: string | undefined; not_before?: string | undefined; public_key_algorithm?: string | undefined; public_key_curve?: string | undefined; public_key_exponent?: string | number | undefined; public_key_size?: string | number | undefined; serial_number?: string | undefined; signature_algorithm?: string | undefined; subject?: { common_name?: string[] | undefined; country?: string[] | undefined; distinguished_name?: string | undefined; locality?: string[] | undefined; organization?: string[] | undefined; organizational_unit?: string[] | undefined; state_or_province?: string[] | undefined; } | undefined; version_number?: string | undefined; } | undefined; } | undefined; version?: string | undefined; version_protocol?: string | undefined; } | undefined; trace?: { id?: string | undefined; } | undefined; transaction?: { id?: string | undefined; } | undefined; url?: { domain?: string | undefined; extension?: string | undefined; fragment?: string | undefined; full?: string | undefined; original?: string | undefined; password?: string | undefined; path?: string | undefined; port?: string | number | undefined; query?: string | undefined; registered_domain?: string | undefined; scheme?: string | undefined; subdomain?: string | undefined; top_level_domain?: string | undefined; username?: string | undefined; } | undefined; user?: { changes?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; domain?: string | undefined; effective?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; risk?: { calculated_level?: string | undefined; calculated_score?: number | undefined; calculated_score_norm?: number | undefined; static_level?: string | undefined; static_score?: number | undefined; static_score_norm?: number | undefined; } | undefined; roles?: string[] | undefined; target?: { domain?: string | undefined; email?: string | undefined; full_name?: string | undefined; group?: { domain?: string | undefined; id?: string | undefined; name?: string | undefined; } | undefined; hash?: string | undefined; id?: string | undefined; name?: string | undefined; roles?: string[] | undefined; } | undefined; } | undefined; user_agent?: { device?: { name?: string | undefined; } | undefined; name?: string | undefined; original?: string | undefined; os?: { family?: string | undefined; full?: string | undefined; kernel?: string | undefined; name?: string | undefined; platform?: string | undefined; type?: string | undefined; version?: string | undefined; } | undefined; version?: string | undefined; } | undefined; vulnerability?: { category?: string[] | undefined; classification?: string | undefined; description?: string | undefined; enumeration?: string | undefined; id?: string | undefined; reference?: string | undefined; report_id?: string | undefined; scanner?: { vendor?: string | undefined; } | undefined; score?: { base?: number | undefined; environmental?: number | undefined; temporal?: number | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; } | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; })" ], "path": "packages/kbn-alerts-as-data-utils/src/schemas/index.ts", "deprecated": false, @@ -244,7 +244,7 @@ "label": "ObservabilityApmAlert", "description": [], "signature": [ - "{} & { agent?: { name?: string | undefined; } | undefined; error?: { grouping_key?: string | undefined; } | undefined; kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; processor?: { event?: string | undefined; } | undefined; service?: { environment?: string | undefined; language?: { name?: string | undefined; } | undefined; name?: string | undefined; } | undefined; transaction?: { name?: string | undefined; type?: string | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }" + "{} & { agent?: { name?: string | undefined; } | undefined; error?: { grouping_key?: string | undefined; grouping_name?: string | undefined; } | undefined; kibana?: { alert?: { evaluation?: { threshold?: string | number | undefined; value?: string | number | undefined; values?: (string | number)[] | undefined; } | undefined; } | undefined; } | undefined; processor?: { event?: string | undefined; } | undefined; service?: { environment?: string | undefined; language?: { name?: string | undefined; } | undefined; name?: string | undefined; } | undefined; transaction?: { name?: string | undefined; type?: string | undefined; } | undefined; } & { '@timestamp': string; kibana: { alert: { instance: { id: string; }; rule: { category: string; consumer: string; name: string; producer: string; revision: string | number; rule_type_id: string; uuid: string; }; status: string; uuid: string; }; space_ids: string[]; }; } & { event?: { action?: string | undefined; kind?: string | undefined; } | undefined; kibana?: { alert?: { action_group?: string | undefined; case_ids?: string[] | undefined; duration?: { us?: string | number | undefined; } | undefined; end?: string | undefined; flapping?: boolean | undefined; flapping_history?: boolean[] | undefined; last_detected?: string | undefined; maintenance_window_ids?: string[] | undefined; reason?: string | undefined; rule?: { execution?: { uuid?: string | undefined; } | undefined; parameters?: unknown; tags?: string[] | undefined; } | undefined; start?: string | undefined; time_range?: { gte?: string | undefined; lte?: string | undefined; } | undefined; url?: string | undefined; workflow_status?: string | undefined; workflow_tags?: string[] | undefined; } | undefined; version?: string | undefined; } | undefined; tags?: string[] | undefined; } & {} & { ecs?: { version?: string | undefined; } | undefined; kibana?: { alert?: { risk_score?: number | undefined; rule?: { author?: string | undefined; created_at?: string | undefined; created_by?: string | undefined; description?: string | undefined; enabled?: string | undefined; from?: string | undefined; interval?: string | undefined; license?: string | undefined; note?: string | undefined; references?: string[] | undefined; rule_id?: string | undefined; rule_name_override?: string | undefined; to?: string | undefined; type?: string | undefined; updated_at?: string | undefined; updated_by?: string | undefined; version?: string | undefined; } | undefined; severity?: string | undefined; suppression?: { docs_count?: string | number | undefined; end?: string | undefined; start?: string | undefined; terms?: { field?: string[] | undefined; value?: string[] | undefined; } | undefined; } | undefined; system_status?: string | undefined; workflow_reason?: string | undefined; workflow_user?: string | undefined; } | undefined; } | undefined; }" ], "path": "packages/kbn-alerts-as-data-utils/src/schemas/generated/observability_apm_schema.ts", "deprecated": false, diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx index b9b520e36dfb8..25805dc9de487 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-07-13 +date: 2023-07-17 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 694d2f230f177..b98aa0d9a8b99 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-07-13 +date: 2023-07-17 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 126f0a46f88cb..9decdeab723e2 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-07-13 +date: 2023-07-17 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 74a8353bbed7d..74b83766e05ef 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-07-13 +date: 2023-07-17 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 34d69381a912f..900253f68c7ef 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-07-13 +date: 2023-07-17 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 8b4ea10b16aba..84a166fd94df8 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-07-13 +date: 2023-07-17 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 23f311d7a545c..50feab81a7639 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-07-13 +date: 2023-07-17 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 f9f6d8e319a20..7162a9fd5099d 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-07-13 +date: 2023-07-17 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 3072792c8f147..14f16be16e4cb 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-07-13 +date: 2023-07-17 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 cc63c9a594184..9fa02eea5eaa9 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-07-13 +date: 2023-07-17 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 59119a02ed685..cdda6da6667ec 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-07-13 +date: 2023-07-17 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 78e0682b0677f..410b4bc52bf6d 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-07-13 +date: 2023-07-17 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 7621ada3f324d..6389aecf47af7 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-07-13 +date: 2023-07-17 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 9172324ca42bf..98dabfa96ed3a 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-07-13 +date: 2023-07-17 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 ff368b72062dc..c1e29e0b243a2 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-07-13 +date: 2023-07-17 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 d5eb1e50d7a6c..83d81dd3e35d5 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-07-13 +date: 2023-07-17 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 a06e63ba0db57..77acce1e1234a 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-07-13 +date: 2023-07-17 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 c2b8678b95d5c..25f5510908f25 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-07-13 +date: 2023-07-17 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 dd345f00b4991..387ae077ff2de 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-07-13 +date: 2023-07-17 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 a620ff7fa7f31..25e0f452b7107 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-07-13 +date: 2023-07-17 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 5c0d6aebc6bfd..c32be8e7ffb24 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-07-13 +date: 2023-07-17 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 57a4692ea3eb9..c317f1b391eda 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-07-13 +date: 2023-07-17 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 a6f8482805bfa..b15551f78db40 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-07-13 +date: 2023-07-17 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 f504890769f02..d49098c95136b 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-07-13 +date: 2023-07-17 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 e76b045c08ae6..c6b3ebd7de5df 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-07-13 +date: 2023-07-17 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 70ed7fb5db79f..b7f6a1a5ef89c 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config'] --- import kbnConfigObj from './kbn_config.devdocs.json'; diff --git a/api_docs/kbn_config_mocks.devdocs.json b/api_docs/kbn_config_mocks.devdocs.json index 800e030c8cac8..df37ecf488422 100644 --- a/api_docs/kbn_config_mocks.devdocs.json +++ b/api_docs/kbn_config_mocks.devdocs.json @@ -230,7 +230,7 @@ "section": "def-common.ConfigPath", "text": "ConfigPath" }, - "]>; get: jest.MockInstance; get: jest.MockInstance; set: jest.MockInstance; set: jest.MockInstance; getFlattenedPaths: jest.MockInstance; toRaw: jest.MockInstance, []>; } & ", + ", value: any], unknown>; getFlattenedPaths: jest.MockInstance; toRaw: jest.MockInstance, [], unknown>; } & ", "Config" ], "path": "packages/kbn-config-mocks/src/config.mock.ts", @@ -264,11 +264,11 @@ "signature": [ "{ validate: jest.MockInstance, [params?: ", "ConfigValidateParameters", - " | undefined]>; getConfig$: jest.MockInstance<", + " | undefined], unknown>; getConfig$: jest.MockInstance<", "Observable", "<", "Config", - ">, []>; setSchema: jest.MockInstance, [], unknown>; setSchema: jest.MockInstance]>; addDeprecationProvider: jest.MockInstance], unknown>; addDeprecationProvider: jest.MockInstance; getHandledDeprecatedConfigs: jest.MockInstance<[string, ", + "], unknown>; getHandledDeprecatedConfigs: jest.MockInstance<[string, ", { "pluginId": "@kbn/config", "scope": "common", @@ -308,7 +308,7 @@ "section": "def-common.DeprecatedConfigDetails", "text": "DeprecatedConfigDetails" }, - "[]][], []>; atPath: jest.MockInstance<", + "[]][], [], unknown>; atPath: jest.MockInstance<", "Observable", ", [path: ", { @@ -318,7 +318,7 @@ "section": "def-common.ConfigPath", "text": "ConfigPath" }, - "]>; atPathSync: jest.MockInstance; atPathSync: jest.MockInstance; isEnabledAtPath: jest.MockInstance, [path: ", + "], unknown>; isEnabledAtPath: jest.MockInstance, [path: ", { "pluginId": "@kbn/config", "scope": "common", @@ -334,7 +334,7 @@ "section": "def-common.ConfigPath", "text": "ConfigPath" }, - "]>; getUnusedPaths: jest.MockInstance, []>; getUsedPaths: jest.MockInstance, []>; getDeprecatedConfigPath$: jest.MockInstance<", + "], unknown>; getUnusedPaths: jest.MockInstance, [], unknown>; getUsedPaths: jest.MockInstance, [], unknown>; getDeprecatedConfigPath$: jest.MockInstance<", "Observable", "<", { @@ -344,7 +344,7 @@ "section": "def-common.ChangedDeprecatedPaths", "text": "ChangedDeprecatedPaths" }, - ">, []>; } & ", + ">, [], unknown>; } & ", "IConfigService" ], "path": "packages/kbn-config-mocks/src/config_service.mock.ts", @@ -360,9 +360,9 @@ "label": "RawConfigServiceMock", "description": [], "signature": [ - "{ stop: jest.MockInstance; getConfig$: jest.MockInstance<", + "{ stop: jest.MockInstance; getConfig$: jest.MockInstance<", "Observable", - ">, []>; loadConfig: jest.MockInstance; reloadConfig: jest.MockInstance; } & ", + ">, [], unknown>; loadConfig: jest.MockInstance; reloadConfig: jest.MockInstance; } & ", { "pluginId": "@kbn/utility-types", "scope": "common", diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx index 232eb1874d230..5751503828032 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-07-13 +date: 2023-07-17 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 86ba55286ac5c..289d5193f5000 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-07-13 +date: 2023-07-17 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 346f8be9ed795..f440684bd515e 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-content-editor'] --- import kbnContentManagementContentEditorObj from './kbn_content_management_content_editor.devdocs.json'; diff --git a/api_docs/kbn_content_management_tabbed_table_list_view.mdx b/api_docs/kbn_content_management_tabbed_table_list_view.mdx index cb07834904447..5ab7a8124f60b 100644 --- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx +++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view title: "@kbn/content-management-tabbed-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-tabbed-table-list-view plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-tabbed-table-list-view'] --- import kbnContentManagementTabbedTableListViewObj from './kbn_content_management_tabbed_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view.mdx b/api_docs/kbn_content_management_table_list_view.mdx index c6bdced42d5eb..ab5fe673bfad9 100644 --- a/api_docs/kbn_content_management_table_list_view.mdx +++ b/api_docs/kbn_content_management_table_list_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view title: "@kbn/content-management-table-list-view" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view'] --- import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json'; diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx index 59bf34fc96f24..03d27b2964ad9 100644 --- a/api_docs/kbn_content_management_table_list_view_table.mdx +++ b/api_docs/kbn_content_management_table_list_view_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table title: "@kbn/content-management-table-list-view-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/content-management-table-list-view-table plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-table'] --- import kbnContentManagementTableListViewTableObj from './kbn_content_management_table_list_view_table.devdocs.json'; diff --git a/api_docs/kbn_content_management_utils.mdx b/api_docs/kbn_content_management_utils.mdx index babd8c5419aea..f8c56803c41fe 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-07-13 +date: 2023-07-17 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 d4c0bd5f4855d..ffe19ffbc78c0 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-07-13 +date: 2023-07-17 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 50250c0c082ac..638334ffbef96 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-07-13 +date: 2023-07-17 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 6f87d89ab7d18..c948417acb7dc 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-07-13 +date: 2023-07-17 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 92336f64a9a8b..ce8a813978824 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-07-13 +date: 2023-07-17 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 2c847f6fe747f..de71f4727da11 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-07-13 +date: 2023-07-17 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 cd24830e79c03..94c56dbec7ff5 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-07-13 +date: 2023-07-17 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 d02e04fa133c9..71f02da7079cd 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-07-13 +date: 2023-07-17 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 0aaeeda661da6..9924286a3e028 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_application_browser_mocks.devdocs.json index be12beebfd75c..9f38ead6f5aa9 100644 --- a/api_docs/kbn_core_application_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_application_browser_mocks.devdocs.json @@ -38,25 +38,25 @@ "section": "def-common.ScopedHistory", "text": "ScopedHistory" }, - ", [basePath: string]>; createHref: jest.MockInstance, [basePath: string], unknown>; createHref: jest.MockInstance, options?: { prependBasePath?: boolean | undefined; } | undefined]>; length: number; action: ", + ", options?: { prependBasePath?: boolean | undefined; } | undefined], unknown>; length: number; action: ", "Action", "; location: ", "Location", "; push: jest.MockInstance, state?: unknown]>; replace: jest.MockInstance, state?: unknown], unknown>; replace: jest.MockInstance, state?: unknown]>; go: jest.MockInstance; goBack: jest.MockInstance; goForward: jest.MockInstance; block: jest.MockInstance<", + ", state?: unknown], unknown>; go: jest.MockInstance; goBack: jest.MockInstance; goForward: jest.MockInstance; block: jest.MockInstance<", "UnregisterCallback", ", [prompt?: string | boolean | ", "TransitionPromptHook", - " | undefined]>; listen: jest.MockInstance<", + " | undefined], unknown>; listen: jest.MockInstance<", "UnregisterCallback", ", [listener: ", "LocationListener", - "]>; } & ", + "], unknown>; } & ", { "pluginId": "@kbn/core-application-browser", "scope": "common", diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx index 20cb5788d863d..8e0e8a1b259a7 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-07-13 +date: 2023-07-17 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 d69dcf27afdb4..1916da59584d1 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-07-13 +date: 2023-07-17 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 75b470d49a335..fe81872b3a2cd 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-07-13 +date: 2023-07-17 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 9b7f724e197e7..4c52f78d579f1 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-07-13 +date: 2023-07-17 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 4260c6c974c8e..c0fb11d48b1b0 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-07-13 +date: 2023-07-17 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 07703d075984c..92d782af05f5d 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-07-13 +date: 2023-07-17 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 f6b533e2eef39..2a08340092d4d 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-07-13 +date: 2023-07-17 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 f1b64c8e792fc..806224e0353ec 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-07-13 +date: 2023-07-17 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 11da7cb2dab13..4b1b9cf4e6f62 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-07-13 +date: 2023-07-17 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 74d3338be9d8c..149f296ac941b 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-07-13 +date: 2023-07-17 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 d547d5b2b4096..fc373d03145d7 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-07-13 +date: 2023-07-17 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 89cbbf7641566..3536c8d6235ab 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-07-13 +date: 2023-07-17 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 816606360771e..37149300b590b 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-07-13 +date: 2023-07-17 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 6c92c2a164684..47fd2076f0ffc 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-07-13 +date: 2023-07-17 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 44779d3375ccc..860ee4f4e8df7 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-07-13 +date: 2023-07-17 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 8cadef61b790d..11013cb3a8ee3 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-07-13 +date: 2023-07-17 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 2850149229722..a23129ed1733b 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-07-13 +date: 2023-07-17 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 aa8fba73ae214..374e7a5511084 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-07-13 +date: 2023-07-17 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 c5e555af955cf..4b11c5827268e 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-07-13 +date: 2023-07-17 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 31520988ae26c..b9b6129c86239 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-07-13 +date: 2023-07-17 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 6938d95c58330..a5c16f2c62066 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-07-13 +date: 2023-07-17 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 19f86b54f69b6..9be15e2d343c4 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_custom_branding_server_mocks.devdocs.json index a0dcf7cd134cf..3ce2c8571b4da 100644 --- a/api_docs/kbn_core_custom_branding_server_mocks.devdocs.json +++ b/api_docs/kbn_core_custom_branding_server_mocks.devdocs.json @@ -66,7 +66,7 @@ "label": "createSetupContract", "description": [], "signature": [ - "() => { register: jest.Mock; getBrandingFor: jest.Mock; }" + "() => { register: jest.Mock; getBrandingFor: jest.Mock; }" ], "path": "packages/core/custom-branding/core-custom-branding-server-mocks/src/custom_branding_service.mock.ts", "deprecated": false, diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx index 29fc1342f239d..644ffb7b2a9d8 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-07-13 +date: 2023-07-17 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 967f1860d3bdd..3ffc82854aaff 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-07-13 +date: 2023-07-17 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 2e0e4e0f10f03..cb7b18e702d88 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-07-13 +date: 2023-07-17 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 78afd614e82fe..d0496b4e3729c 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-07-13 +date: 2023-07-17 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 4cd3e1b19f738..a589d8456fb77 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-07-13 +date: 2023-07-17 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 209597139058c..bb6b8ba0ade07 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-07-13 +date: 2023-07-17 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 ff0d8c4a668f2..bc72a01d3cc28 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-07-13 +date: 2023-07-17 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 aa7d63ff68aa6..1c6155b94448e 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-07-13 +date: 2023-07-17 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 3b23da0ad24f8..d9fdc211d1c25 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_doc_links_browser_mocks.devdocs.json index cb8eebb761298..d49117767da15 100644 --- a/api_docs/kbn_core_doc_links_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_doc_links_browser_mocks.devdocs.json @@ -58,7 +58,7 @@ "label": "createSetupContract", "description": [], "signature": [ - "() => jest.Mock" + "() => jest.Mock" ], "path": "packages/core/doc-links/core-doc-links-browser-mocks/src/doc_links_service.mock.ts", "deprecated": false, diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx index a01948504beaa..9060976b767f0 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-07-13 +date: 2023-07-17 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 25d170c7d20ef..e9e5a320ea689 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-07-13 +date: 2023-07-17 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 f76a7596fd664..de605115e1c6e 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-07-13 +date: 2023-07-17 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 c5e360c68faca..8e7e0c1f5ebcc 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json index 5d5398da21156..7ad9ebdcc1c7f 100644 --- a/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.devdocs.json @@ -61,7 +61,7 @@ "section": "def-common.ClientApiMockInstance", "text": "ClientApiMockInstance" }, - " extends jest.MockInstance" + " extends jest.MockInstance" ], "path": "packages/core/elasticsearch/core-elasticsearch-client-server-mocks/src/mocks.ts", "deprecated": false, @@ -1366,7 +1366,7 @@ "section": "def-common.ScopedClusterClientMock", "text": "ScopedClusterClientMock" }, - ", []> & (() => ", + ", [], unknown> & (() => ", { "pluginId": "@kbn/core-elasticsearch-client-server-mocks", "scope": "common", @@ -3584,7 +3584,7 @@ "label": "CustomClusterClientMock", "description": [], "signature": [ - "{ close: jest.MockInstance, []>; readonly asInternalUser: ", + "{ close: jest.MockInstance, [], unknown>; readonly asInternalUser: ", { "pluginId": "@kbn/core-elasticsearch-server", "scope": "common", @@ -3608,7 +3608,7 @@ "section": "def-common.ScopeableRequest", "text": "ScopeableRequest" }, - "]>; } & ", + "], unknown>; } & ", { "pluginId": "@kbn/core-elasticsearch-server", "scope": "common", diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx index 1cec70fc49ab5..16ffe9ece85fb 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-07-13 +date: 2023-07-17 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 3ac4ccbab444e..ffa0ffebec840 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-07-13 +date: 2023-07-17 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 24ac35dca54af..7e452b797e6f4 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_elasticsearch_server_mocks.devdocs.json index 787e518bcf5f8..ce0361d169a13 100644 --- a/api_docs/kbn_core_elasticsearch_server_mocks.devdocs.json +++ b/api_docs/kbn_core_elasticsearch_server_mocks.devdocs.json @@ -75,7 +75,7 @@ "section": "def-common.ElasticsearchClientConfig", "text": "ElasticsearchClientConfig" }, - "> | undefined]> & ((type: string, config?: Partial<", + "> | undefined], unknown> & ((type: string, config?: Partial<", { "pluginId": "@kbn/core-elasticsearch-server", "scope": "common", @@ -155,7 +155,7 @@ "section": "def-common.UnauthorizedErrorHandler", "text": "UnauthorizedErrorHandler" }, - "]>; } & Omit<", + "], unknown>; } & Omit<", { "pluginId": "@kbn/core-elasticsearch-server", "scope": "common", diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx index 47b92383acd3c..8d589dba1c751 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-07-13 +date: 2023-07-17 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 b3d29d65cdf9b..6bf9521a67110 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-07-13 +date: 2023-07-17 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 d5d2e0bea2fbb..346b351e6443c 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-07-13 +date: 2023-07-17 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 da01635129551..2269cc4a3c6bc 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-07-13 +date: 2023-07-17 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 cbc07a2cee616..8920e14ce0c86 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-07-13 +date: 2023-07-17 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 76d388fed0e4b..2a21dcf94ac47 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-07-13 +date: 2023-07-17 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 c31e8c64cb02a..a42c4b9446b0b 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-07-13 +date: 2023-07-17 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 0adc8ebfe00d5..25eaa926e65e3 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-07-13 +date: 2023-07-17 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 babca9b4374b5..2c9367cf344d6 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-07-13 +date: 2023-07-17 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 29532576b39fb..5a09fcfe82a16 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-07-13 +date: 2023-07-17 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 c241df41f3e97..e816f3d0f20b8 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-07-13 +date: 2023-07-17 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 8c2c1f74b9e9e..301ad23abcf94 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-07-13 +date: 2023-07-17 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 b10b9dc6b10fb..e773ec50dd7ed 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-07-13 +date: 2023-07-17 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 edf4d89eac14a..55d8ce488c6cf 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_http_browser_mocks.devdocs.json index 99f58c97afc9c..39526d744321e 100644 --- a/api_docs/kbn_core_http_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_http_browser_mocks.devdocs.json @@ -164,7 +164,7 @@ "section": "def-common.HttpInterceptor", "text": "HttpInterceptor" }, - "]>; fetch: jest.MockInstance, [options: ", + "], unknown>; fetch: jest.MockInstance, [options: ", { "pluginId": "@kbn/core-http-browser", "scope": "common", @@ -172,7 +172,7 @@ "section": "def-common.HttpFetchOptionsWithPath", "text": "HttpFetchOptionsWithPath" }, - "]>; delete: jest.MockInstance, [options: ", + "], unknown>; delete: jest.MockInstance, [options: ", { "pluginId": "@kbn/core-http-browser", "scope": "common", @@ -180,7 +180,7 @@ "section": "def-common.HttpFetchOptionsWithPath", "text": "HttpFetchOptionsWithPath" }, - "]>; get: jest.MockInstance, [options: ", + "], unknown>; get: jest.MockInstance, [options: ", { "pluginId": "@kbn/core-http-browser", "scope": "common", @@ -188,7 +188,7 @@ "section": "def-common.HttpFetchOptionsWithPath", "text": "HttpFetchOptionsWithPath" }, - "]>; head: jest.MockInstance, [options: ", + "], unknown>; head: jest.MockInstance, [options: ", { "pluginId": "@kbn/core-http-browser", "scope": "common", @@ -196,7 +196,7 @@ "section": "def-common.HttpFetchOptionsWithPath", "text": "HttpFetchOptionsWithPath" }, - "]>; options: jest.MockInstance, [options: ", + "], unknown>; options: jest.MockInstance, [options: ", { "pluginId": "@kbn/core-http-browser", "scope": "common", @@ -204,7 +204,7 @@ "section": "def-common.HttpFetchOptionsWithPath", "text": "HttpFetchOptionsWithPath" }, - "]>; patch: jest.MockInstance, [options: ", + "], unknown>; patch: jest.MockInstance, [options: ", { "pluginId": "@kbn/core-http-browser", "scope": "common", @@ -212,7 +212,7 @@ "section": "def-common.HttpFetchOptionsWithPath", "text": "HttpFetchOptionsWithPath" }, - "]>; post: jest.MockInstance, [options: ", + "], unknown>; post: jest.MockInstance, [options: ", { "pluginId": "@kbn/core-http-browser", "scope": "common", @@ -220,7 +220,7 @@ "section": "def-common.HttpFetchOptionsWithPath", "text": "HttpFetchOptionsWithPath" }, - "]>; put: jest.MockInstance, [options: ", + "], unknown>; put: jest.MockInstance, [options: ", { "pluginId": "@kbn/core-http-browser", "scope": "common", @@ -228,11 +228,11 @@ "section": "def-common.HttpFetchOptionsWithPath", "text": "HttpFetchOptionsWithPath" }, - "]>; addLoadingCountSource: jest.MockInstance; addLoadingCountSource: jest.MockInstance]>; getLoadingCount$: jest.MockInstance<", + "], unknown>; getLoadingCount$: jest.MockInstance<", "Observable", - ", []>; } & ", + ", [], unknown>; } & ", { "pluginId": "@kbn/core-http-browser", "scope": "common", diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx index a1154770e00e1..f48aed1b112f8 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-07-13 +date: 2023-07-17 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 6073146d38323..b4d6e297439c8 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_http_context_server_mocks.devdocs.json index 547559b7e5ce0..fe319a53cb570 100644 --- a/api_docs/kbn_core_http_context_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_context_server_mocks.devdocs.json @@ -54,7 +54,7 @@ "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" }, - ", \"resolve\">]>; createHandler: jest.MockInstance<(request: ", + ", \"resolve\">], unknown>; createHandler: jest.MockInstance<(request: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -102,7 +102,7 @@ "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, - ">]>; } & ", + ">], unknown>; } & ", { "pluginId": "@kbn/core-http-server", "scope": "common", diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx index 2976a7d7e17aa..3ab3f6e5f8b85 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-07-13 +date: 2023-07-17 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 db999bfae8965..9f4ec5336da2a 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-07-13 +date: 2023-07-17 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 f2095d830f97f..5fb16a5db3feb 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-07-13 +date: 2023-07-17 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 94faccd55fa77..3f0b2ee725b26 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_http_resources_server_mocks.devdocs.json index 0ce3d88b19cbf..5af3c308b95e5 100644 --- a/api_docs/kbn_core_http_resources_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_resources_server_mocks.devdocs.json @@ -30,7 +30,7 @@ "label": "HttpResourcesMock", "description": [], "signature": [ - "{ start: jest.MockInstance; setup: jest.MockInstance<{ createRegistrar: (router: ", + "{ start: jest.MockInstance; setup: jest.MockInstance<{ createRegistrar: (router: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -56,7 +56,7 @@ }, "; }, [deps: ", "SetupDeps", - "]>; stop: jest.MockInstance; preboot: jest.MockInstance<{ createRegistrar: (router: ", + "], unknown>; stop: jest.MockInstance; preboot: jest.MockInstance<{ createRegistrar: (router: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -82,7 +82,7 @@ }, "; }, [deps: ", "PrebootDeps", - "]>; } & ", + "], unknown>; } & ", { "pluginId": "@kbn/utility-types", "scope": "common", @@ -181,7 +181,7 @@ "section": "def-common.HttpResources", "text": "HttpResources" }, - ">, []>; }" + ">, [], any>; }" ], "path": "packages/core/http/core-http-resources-server-mocks/src/http_resources_server.mock.ts", "deprecated": false, @@ -205,7 +205,7 @@ "section": "def-common.HttpResources", "text": "HttpResources" }, - ">, []>; }" + ">, [], any>; }" ], "path": "packages/core/http/core-http-resources-server-mocks/src/http_resources_server.mock.ts", "deprecated": false, @@ -237,7 +237,7 @@ "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, - " | undefined]> & ((options?: ", + " | undefined], unknown> & ((options?: ", { "pluginId": "@kbn/core-http-resources-server", "scope": "common", @@ -269,7 +269,7 @@ "section": "def-common.HttpResourcesRenderOptions", "text": "HttpResourcesRenderOptions" }, - " | undefined]> & ((options?: ", + " | undefined], unknown> & ((options?: ", { "pluginId": "@kbn/core-http-resources-server", "scope": "common", @@ -301,7 +301,7 @@ "section": "def-common.HttpResourcesResponseOptions", "text": "HttpResourcesResponseOptions" }, - "]> & ((options: ", + "], unknown> & ((options: ", { "pluginId": "@kbn/core-http-resources-server", "scope": "common", @@ -333,7 +333,7 @@ "section": "def-common.HttpResourcesResponseOptions", "text": "HttpResourcesResponseOptions" }, - "]> & ((options: ", + "], unknown> & ((options: ", { "pluginId": "@kbn/core-http-resources-server", "scope": "common", @@ -365,7 +365,7 @@ "section": "def-common.HttpResourcesResponseOptions", "text": "HttpResourcesResponseOptions" }, - "]> & ((options: ", + "], unknown> & ((options: ", { "pluginId": "@kbn/core-http-resources-server", "scope": "common", @@ -417,7 +417,7 @@ "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, - " | undefined; } | undefined> | undefined]> & ( | Error | Buffer | ", + " | undefined; } | undefined> | undefined], unknown> & ( | Error | Buffer | ", "Stream", " | { message: string | Error; attributes?: ", { @@ -479,7 +479,7 @@ "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, - " | undefined; } | undefined> | undefined]> & ( | Error | Buffer | ", + " | undefined; } | undefined> | undefined], unknown> & ( | Error | Buffer | ", "Stream", " | { message: string | Error; attributes?: ", { @@ -521,7 +521,7 @@ "section": "def-common.HttpResponseOptions", "text": "HttpResponseOptions" }, - " | undefined]> & ((options?: ", + " | undefined], unknown> & ((options?: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -553,7 +553,7 @@ "section": "def-common.RedirectResponseOptions", "text": "RedirectResponseOptions" }, - "]> & ((options: ", + "], unknown> & ((options: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -585,7 +585,7 @@ "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, - " | undefined]> & ((options?: ", + " | undefined], unknown> & ((options?: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -617,7 +617,7 @@ "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, - " | undefined]> & ((options?: ", + " | undefined], unknown> & ((options?: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -649,7 +649,7 @@ "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, - " | undefined]> & ((options?: ", + " | undefined], unknown> & ((options?: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -681,7 +681,7 @@ "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, - " | undefined]> & ((options?: ", + " | undefined], unknown> & ((options?: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -713,7 +713,7 @@ "section": "def-common.ErrorHttpResponseOptions", "text": "ErrorHttpResponseOptions" }, - " | undefined]> & ((options?: ", + " | undefined], unknown> & ((options?: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -755,7 +755,7 @@ "section": "def-common.ResponseError", "text": "ResponseError" }, - ">]> & ((options: ", + ">], unknown> & ((options: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -807,7 +807,7 @@ "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, - " | undefined; } | undefined>]> & ( | Error | Buffer | ", + " | undefined; } | undefined>], unknown> & ( | Error | Buffer | ", "Stream", " | { message: string | Error; attributes?: ", { @@ -859,7 +859,7 @@ "section": "def-common.ResponseErrorAttributes", "text": "ResponseErrorAttributes" }, - " | undefined; } | undefined>]> & ( | Error | Buffer | ", + " | undefined; } | undefined>], unknown> & ( | Error | Buffer | ", "Stream", " | { message: string | Error; attributes?: ", { diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx index 6db6f8d25b767..8209027b637c5 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-07-13 +date: 2023-07-17 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 771c814b023d7..bd52b2a2c20c2 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_http_router_server_mocks.devdocs.json index ddb2cbc8b1b18..8dbc1fe6e57a7 100644 --- a/api_docs/kbn_core_http_router_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_router_server_mocks.devdocs.json @@ -210,7 +210,7 @@ "section": "def-common.IKibanaResponse", "text": "IKibanaResponse" }, - ">]>; } & ", + ">], unknown>; } & ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -265,7 +265,7 @@ "section": "def-common.VersionedRouteConfig", "text": "VersionedRouteConfig" }, - "<\"get\">]>; put: jest.MockInstance<", + "<\"get\">], unknown>; put: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -281,7 +281,7 @@ "section": "def-common.VersionedRouteConfig", "text": "VersionedRouteConfig" }, - "<\"put\">]>; post: jest.MockInstance<", + "<\"put\">], unknown>; post: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -297,7 +297,7 @@ "section": "def-common.VersionedRouteConfig", "text": "VersionedRouteConfig" }, - "<\"post\">]>; patch: jest.MockInstance<", + "<\"post\">], unknown>; patch: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -313,7 +313,7 @@ "section": "def-common.VersionedRouteConfig", "text": "VersionedRouteConfig" }, - "<\"patch\">]>; delete: jest.MockInstance<", + "<\"patch\">], unknown>; delete: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -329,7 +329,7 @@ "section": "def-common.VersionedRouteConfig", "text": "VersionedRouteConfig" }, - "<\"delete\">]>; } & ", + "<\"delete\">], unknown>; } & ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -400,7 +400,7 @@ "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, - ">]>; post: jest.MockInstance], unknown>; post: jest.MockInstance]>; put: jest.MockInstance], unknown>; put: jest.MockInstance]>; patch: jest.MockInstance], unknown>; patch: jest.MockInstance]>; delete: jest.MockInstance], unknown>; delete: jest.MockInstance]>; handleLegacyErrors: jest.MockInstance<", + ">], unknown>; handleLegacyErrors: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -560,7 +560,7 @@ "section": "def-common.KibanaResponseFactory", "text": "KibanaResponseFactory" }, - ">]>; getRoutes: jest.MockInstance<", + ">], unknown>; getRoutes: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -568,7 +568,7 @@ "section": "def-common.RouterRoute", "text": "RouterRoute" }, - "[], []>; versioned: ", + "[], [], unknown>; versioned: ", { "pluginId": "@kbn/core-http-server", "scope": "common", diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index b6ccef6c3723c..1070cf25cd7b7 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-mocks'] --- import kbnCoreHttpRouterServerMocksObj from './kbn_core_http_router_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_http_server.devdocs.json b/api_docs/kbn_core_http_server.devdocs.json index 8f3d3158648cb..ec363d8fadb07 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3267,6 +3267,14 @@ "plugin": "@kbn/core-ui-settings-server-internal", "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/get.ts" }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/get.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/get.ts" + }, { "plugin": "@kbn/core-status-server-internal", "path": "packages/core/status/core-status-server-internal/src/routes/status.ts" @@ -6105,6 +6113,22 @@ "plugin": "@kbn/core-ui-settings-server-internal", "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/set.ts" }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set_many.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set_many.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set.ts" + }, { "plugin": "@kbn/core-capabilities-server-internal", "path": "packages/core/capabilities/core-capabilities-server-internal/src/routes/resolve_capabilities.ts" @@ -8121,6 +8145,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/routes/epm/index.ts" + }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/server/routes/setup/index.ts" @@ -9643,6 +9671,14 @@ "plugin": "@kbn/core-ui-settings-server-internal", "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/delete.ts" }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/delete.ts" + }, + { + "plugin": "@kbn/core-ui-settings-server-internal", + "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/delete.ts" + }, { "plugin": "home", "path": "src/plugins/home/server/services/sample_data/routes/uninstall.ts" diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 96b41a5ef180a..98ac097da48bc 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-07-13 +date: 2023-07-17 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 c53bbf9c0cb05..1a07f19e7b00c 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_http_server_mocks.devdocs.json index 40836ac247b24..f62b950435af3 100644 --- a/api_docs/kbn_core_http_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_server_mocks.devdocs.json @@ -197,7 +197,7 @@ "section": "def-common.RequestHandlerContextBase", "text": "RequestHandlerContextBase" }, - ">) => void]>; basePath: ", + ">) => void], unknown>; basePath: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -213,7 +213,7 @@ "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, - ", []>; } & ", + ", [], unknown>; } & ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -268,7 +268,7 @@ "section": "def-common.IContextProvider", "text": "IContextProvider" }, - ">]>; getServerInfo: jest.MockInstance<", + ">], unknown>; getServerInfo: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -276,7 +276,7 @@ "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, - ", []>; createCookieSessionStorageFactory: jest.MockInstance; createCookieSessionStorageFactory: jest.MockInstance]>; registerOnPreRouting: jest.MockInstance], unknown>; registerOnPreRouting: jest.MockInstance; registerOnPreAuth: jest.MockInstance; registerOnPreAuth: jest.MockInstance; registerAuth: jest.MockInstance; registerAuth: jest.MockInstance; registerOnPostAuth: jest.MockInstance; registerOnPostAuth: jest.MockInstance; registerOnPreResponse: jest.MockInstance; registerOnPreResponse: jest.MockInstance; } & Omit<", + "], unknown>; } & Omit<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -387,7 +387,7 @@ "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, - ", []>; } & ", + ", [], unknown>; } & ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -436,7 +436,15 @@ }, "; server: ", "Server", - "; registerStaticDir: jest.MockInstance; registerRouteHandlerContext: jest.MockInstance; registerRouteHandlerContext: >(pluginOpaqueId: symbol, contextName: ContextName, provider: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -444,15 +452,15 @@ "section": "def-common.IContextProvider", "text": "IContextProvider" }, - "<", + ") => ", { "pluginId": "@kbn/core-http-server", "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RequestHandlerContextBase", - "text": "RequestHandlerContextBase" + "section": "def-common.IContextContainer", + "text": "IContextContainer" }, - ", never>]>; getServerInfo: jest.MockInstance<", + "; getServerInfo: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -460,7 +468,7 @@ "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, - ", []>; registerRoutes: jest.MockInstance; registerRoutes: jest.MockInstance) => void]>; } & Omit<", + ">) => void], unknown>; } & Omit<", "InternalHttpServicePreboot", ", \"basePath\"> & { basePath: BasePathMocked; }" ], @@ -511,7 +519,15 @@ }, "; server: ", "Server", - "; registerStaticDir: jest.MockInstance; registerRouteHandlerContext: jest.MockInstance; registerRouteHandlerContext: >(pluginOpaqueId: symbol, contextName: ContextName, provider: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -519,15 +535,15 @@ "section": "def-common.IContextProvider", "text": "IContextProvider" }, - "<", + ") => ", { "pluginId": "@kbn/core-http-server", "scope": "common", "docId": "kibKbnCoreHttpServerPluginApi", - "section": "def-common.RequestHandlerContextBase", - "text": "RequestHandlerContextBase" + "section": "def-common.IContextContainer", + "text": "IContextContainer" }, - ", never>]>; getServerInfo: jest.MockInstance<", + "; getServerInfo: jest.MockInstance<", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -535,7 +551,7 @@ "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, - ", []>; createCookieSessionStorageFactory: jest.MockInstance; createCookieSessionStorageFactory: jest.MockInstance]>; registerOnPreRouting: jest.MockInstance], unknown>; registerOnPreRouting: jest.MockInstance; registerOnPreAuth: jest.MockInstance; registerOnPreAuth: jest.MockInstance; registerAuth: jest.MockInstance; registerAuth: jest.MockInstance; registerOnPostAuth: jest.MockInstance; registerOnPostAuth: jest.MockInstance; registerOnPreResponse: jest.MockInstance; registerOnPreResponse: jest.MockInstance; registerRouterAfterListening: jest.MockInstance; registerRouterAfterListening: jest.MockInstance]>; } & Omit<", + ">], unknown>; } & Omit<", "InternalHttpServiceSetup", ", \"createRouter\" | \"basePath\" | \"auth\" | \"authRequestHeaders\"> & { auth: AuthMocked; basePath: BasePathMocked; createRouter: jest.MockedFunction<(path: string) => ", { @@ -640,7 +656,7 @@ "label": "InternalHttpServiceStartMock", "description": [], "signature": [ - "{ isListening: jest.MockInstance; basePath: ", + "{ isListening: jest.MockInstance; basePath: ", { "pluginId": "@kbn/core-http-server", "scope": "common", @@ -664,7 +680,7 @@ "section": "def-common.HttpServerInfo", "text": "HttpServerInfo" }, - ", []>; } & ", + ", [], unknown>; } & ", "InternalHttpServiceStart", " & { basePath: BasePathMocked; }" ], diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index 5d18120f474da..6f69d17963267 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-07-13 +date: 2023-07-17 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 6709630e1127a..00942ed36c695 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-07-13 +date: 2023-07-17 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 2876d33b14f3c..dd4d286a1fdca 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-07-13 +date: 2023-07-17 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 c68d4ebb7b9f6..4126db9bcea40 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-07-13 +date: 2023-07-17 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 9300dd5403ed2..33b30fdf74e02 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-07-13 +date: 2023-07-17 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 19218eeeb0bc5..fbc3b5b30dade 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-07-13 +date: 2023-07-17 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 82c23c51f2cac..96762dd28deac 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-07-13 +date: 2023-07-17 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 3e1275ecb779d..b4764b2c34dab 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_integrations_browser_mocks.devdocs.json index a5bbc4f2e637b..0a1cd1cd04f08 100644 --- a/api_docs/kbn_core_integrations_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_integrations_browser_mocks.devdocs.json @@ -61,7 +61,7 @@ "section": "def-common.IntegrationsServiceSetupDeps", "text": "IntegrationsServiceSetupDeps" }, - "]>; setup: jest.MockInstance, []>; stop: jest.MockInstance, []>; } & ", + "], unknown>; setup: jest.MockInstance, [], unknown>; stop: jest.MockInstance, [], unknown>; } & ", { "pluginId": "@kbn/core-integrations-browser-mocks", "scope": "common", diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx index 8338056c152cc..8a928980c372c 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-mocks'] --- import kbnCoreIntegrationsBrowserMocksObj from './kbn_core_integrations_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_lifecycle_browser.mdx b/api_docs/kbn_core_lifecycle_browser.mdx index 7d52748dead01..20abd15126d01 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_lifecycle_browser_mocks.devdocs.json index b366bf385edb9..5818e585029e8 100644 --- a/api_docs/kbn_core_lifecycle_browser_mocks.devdocs.json +++ b/api_docs/kbn_core_lifecycle_browser_mocks.devdocs.json @@ -70,7 +70,7 @@ }, ">; hasCustomBranding$: ", "Observable", - "; }; docLinks: jest.Mock; executionContext: jest.Mocked<", + "; }; docLinks: jest.Mock; executionContext: jest.Mocked<", { "pluginId": "@kbn/core-execution-context-browser", "scope": "common", @@ -244,7 +244,7 @@ "section": "def-common.FatalErrorsSetup", "text": "FatalErrorsSetup" }, - ">; }, any, any]>, []>; http: ", + ">; }, any, any]>, [], any>; http: ", { "pluginId": "@kbn/core-http-browser-mocks", "scope": "common", diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx index 11de43cdc82ae..2ce3195b0a107 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-07-13 +date: 2023-07-17 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 230b0c3e8c2ce..b009b9cf5d1bf 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_lifecycle_server_mocks.devdocs.json index 5a0a8c83af587..3eb3da50099db 100644 --- a/api_docs/kbn_core_lifecycle_server_mocks.devdocs.json +++ b/api_docs/kbn_core_lifecycle_server_mocks.devdocs.json @@ -68,7 +68,7 @@ "section": "def-common.HttpResources", "text": "HttpResources" }, - ">, []>; }; uiSettings: jest.Mocked<", + ">, [], any>; }; uiSettings: jest.Mocked<", "InternalUiSettingsServicePreboot", ">; logging: jest.Mocked<", "InternalLoggingServicePreboot", @@ -152,7 +152,7 @@ "section": "def-common.HttpResources", "text": "HttpResources" }, - ">, []>; }; rendering: jest.Mocked<", + ">, [], any>; }; rendering: jest.Mocked<", "InternalRenderingServiceSetup", ">; uiSettings: jest.Mocked<", { @@ -184,7 +184,7 @@ "IExecutionContext", ">; coreUsageData: jest.Mocked<", "InternalCoreUsageDataSetup", - ">; customBranding: { register: jest.Mock; getBrandingFor: jest.Mock; }; userSettings: { setUserProfileSettings: jest.Mock; getUserSettingDarkMode: jest.Mock; }; }" + ">; customBranding: { register: jest.Mock; getBrandingFor: jest.Mock; }; userSettings: { setUserProfileSettings: jest.Mock; getUserSettingDarkMode: jest.Mock; }; }" ], "path": "packages/core/lifecycle/core-lifecycle-server-mocks/src/index.ts", "deprecated": false, diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx index ab34cc42b940e..88e707120ad45 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-07-13 +date: 2023-07-17 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 20bbbb8883518..7cff538d30f0d 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-07-13 +date: 2023-07-17 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 92e7e69c7646b..9a7ec46671976 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-07-13 +date: 2023-07-17 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 c7221624f35ce..cce990a1079a2 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-07-13 +date: 2023-07-17 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 06f41a57cb1ff..f0981753542cc 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-07-13 +date: 2023-07-17 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 d96d61e84fbe3..d8429c5691b32 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-07-13 +date: 2023-07-17 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 d3049399cdcb3..898ba3f3d427c 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-07-13 +date: 2023-07-17 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 769c76c04fe3f..c6cc43365f76f 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-07-13 +date: 2023-07-17 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 824617b579599..c0c83eb013d85 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-07-13 +date: 2023-07-17 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 b5611371ab7d8..4f8ab3e442875 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-07-13 +date: 2023-07-17 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 3d305788a5077..8c2f9c398e466 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-07-13 +date: 2023-07-17 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 74f08a008e206..2e2cb5c005fa8 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-07-13 +date: 2023-07-17 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 002138972d995..bdb3474bdcb6f 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-07-13 +date: 2023-07-17 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 050342c97717e..bec27550fda17 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-07-13 +date: 2023-07-17 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 cc4236a7a04fa..659b677d6ddc0 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-07-13 +date: 2023-07-17 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 5c4ab4074ab5e..b9e712fac318d 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-07-13 +date: 2023-07-17 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 4586b1ef3373a..2c133bbb17afb 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-07-13 +date: 2023-07-17 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 fa2a31a6205d0..10970d9a43021 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-07-13 +date: 2023-07-17 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 66d75ee886ac6..f893ab5572064 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-07-13 +date: 2023-07-17 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 09e4448c2e956..93db65b2c9b4a 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-07-13 +date: 2023-07-17 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 7bbf1ac0d3dec..7a1fad2938ba8 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-07-13 +date: 2023-07-17 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 66072ad97528c..ac1138fcf705b 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-07-13 +date: 2023-07-17 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 fa824d883ebe6..f22867e7e07c6 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-07-13 +date: 2023-07-17 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 783aa573f84c2..ef612cf47efe5 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-07-13 +date: 2023-07-17 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 ef61a15e60017..29db180a3ac3b 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-07-13 +date: 2023-07-17 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 5ccf7174db502..f50059deab3da 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_preboot_server_mocks.devdocs.json index 0d76046807017..c762b352747d3 100644 --- a/api_docs/kbn_core_preboot_server_mocks.devdocs.json +++ b/api_docs/kbn_core_preboot_server_mocks.devdocs.json @@ -30,7 +30,7 @@ "label": "InternalPrebootServicePrebootMock", "description": [], "signature": [ - "{ readonly isSetupOnHold: jest.MockInstance; readonly holdSetupUntilResolved: jest.MockInstance]>; readonly waitUntilCanSetup: jest.MockInstance, []>; } & ", + "{ readonly isSetupOnHold: jest.MockInstance; readonly holdSetupUntilResolved: jest.MockInstance], unknown>; readonly waitUntilCanSetup: jest.MockInstance, [], unknown>; } & ", "InternalPrebootServicePreboot" ], "path": "packages/core/preboot/core-preboot-server-mocks/src/preboot_service.mock.ts", @@ -46,7 +46,7 @@ "label": "PrebootServicePrebootMock", "description": [], "signature": [ - "{ readonly isSetupOnHold: jest.MockInstance; readonly holdSetupUntilResolved: jest.MockInstance]>; } & ", + "{ readonly isSetupOnHold: jest.MockInstance; readonly holdSetupUntilResolved: jest.MockInstance], unknown>; } & ", { "pluginId": "@kbn/core-preboot-server", "scope": "common", diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx index 1717891a7115c..da3662a1b1964 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-07-13 +date: 2023-07-17 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 9f4008313135c..4712aec9a1424 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-07-13 +date: 2023-07-17 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 3a74cdbb2ad5b..f62fc322c6ebc 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-07-13 +date: 2023-07-17 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 ba662708fd64c..d7cd5c148f213 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-07-13 +date: 2023-07-17 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 c41c5062aa565..f8e01613ec954 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-root-server-internal'] --- import kbnCoreRootServerInternalObj from './kbn_core_root_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_api_browser.mdx b/api_docs/kbn_core_saved_objects_api_browser.mdx index 4da78adc42468..a55253023997f 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_saved_objects_api_server.devdocs.json index 2d11fb4b9bb95..31fbb9fb8cb39 100644 --- a/api_docs/kbn_core_saved_objects_api_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_api_server.devdocs.json @@ -2366,6 +2366,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/server/sample_data/logs.ts" diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx index 4362de7b6be02..eef6d06f5d053 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-07-13 +date: 2023-07-17 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 78532a7032059..fbaf385549d4a 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-07-13 +date: 2023-07-17 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 7266a40032075..6d0e57b7d34ee 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-07-13 +date: 2023-07-17 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 21e78fe177f1b..61a5a70181257 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-07-13 +date: 2023-07-17 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 42d8f8f377b83..1a6fe6ab7bc78 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-07-13 +date: 2023-07-17 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 cd203fad90fab..6bbb00fa14cf3 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-07-13 +date: 2023-07-17 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 2218de8a2fe22..17085a496be38 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-browser-mocks'] --- import kbnCoreSavedObjectsBrowserMocksObj from './kbn_core_saved_objects_browser_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_common.mdx b/api_docs/kbn_core_saved_objects_common.mdx index 28ffd4be36b30..d879a0ce9f9ce 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-07-13 +date: 2023-07-17 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 be802b9444f0e..88ffe5d00126d 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-07-13 +date: 2023-07-17 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 beffba5db75bc..28a3090ea2dd0 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-07-13 +date: 2023-07-17 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 7cd8ac84fc940..df05680a06c61 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-07-13 +date: 2023-07-17 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 b2553c8b7132d..52061cb1ba7fc 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_saved_objects_server.devdocs.json index 5354c336cd82f..c8938d2d31144 100644 --- a/api_docs/kbn_core_saved_objects_server.devdocs.json +++ b/api_docs/kbn_core_saved_objects_server.devdocs.json @@ -5831,6 +5831,10 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" }, + { + "plugin": "fleet", + "path": "x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts" + }, { "plugin": "graph", "path": "x-pack/plugins/graph/server/sample_data/logs.ts" diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx index 0e4f67e68df09..d240c4d518236 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-07-13 +date: 2023-07-17 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 52d1c333567c3..4ecba83c7b311 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-07-13 +date: 2023-07-17 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 2c3c6c3c5b386..93d44ee83d0f9 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-07-13 +date: 2023-07-17 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 b27f0e3aa63ab..f378d0af85f9a 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-07-13 +date: 2023-07-17 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 3b5e4b646b6fc..032207c6ba738 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-07-13 +date: 2023-07-17 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 f7c73c872fcbb..5f67513be11b8 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-07-13 +date: 2023-07-17 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 9d9a783ed469a..a7cd02f0fb79b 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-07-13 +date: 2023-07-17 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 70a7d567d87d2..239d06b8dc8f0 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-07-13 +date: 2023-07-17 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 6284e192e9745..dd126d50dab45 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-07-13 +date: 2023-07-17 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 dd2e747e69100..21261877eb733 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_test_helpers_http_setup_browser.devdocs.json index f60b10783ed6e..5d94094ad2028 100644 --- a/api_docs/kbn_core_test_helpers_http_setup_browser.devdocs.json +++ b/api_docs/kbn_core_test_helpers_http_setup_browser.devdocs.json @@ -123,13 +123,13 @@ "label": "injectedMetadata", "description": [], "signature": [ - "{ getBasePath: jest.MockInstance; getServerBasePath: jest.MockInstance; getPublicBaseUrl: jest.MockInstance; getKibanaBuildNumber: jest.MockInstance; getKibanaBranch: jest.MockInstance; getKibanaVersion: jest.MockInstance; getCspConfig: jest.MockInstance<{ warnLegacyBrowsers: boolean; }, []>; getExternalUrlConfig: jest.MockInstance<{ policy: ", + "{ getBasePath: jest.MockInstance; getServerBasePath: jest.MockInstance; getPublicBaseUrl: jest.MockInstance; getKibanaBuildNumber: jest.MockInstance; getKibanaBranch: jest.MockInstance; getKibanaVersion: jest.MockInstance; getCspConfig: jest.MockInstance<{ warnLegacyBrowsers: boolean; }, [], unknown>; getExternalUrlConfig: jest.MockInstance<{ policy: ", "InjectedMetadataExternalUrlPolicy", - "[]; }, []>; getTheme: jest.MockInstance<{ darkMode: boolean; version: \"v8\"; }, []>; getElasticsearchInfo: jest.MockInstance<", + "[]; }, [], unknown>; getTheme: jest.MockInstance<{ darkMode: boolean; version: \"v8\"; }, [], unknown>; getElasticsearchInfo: jest.MockInstance<", "InjectedMetadataClusterInfo", - ", []>; getPlugins: jest.MockInstance<", + ", [], unknown>; getPlugins: jest.MockInstance<", "InjectedMetadataPlugin", - "[], []>; getAnonymousStatusPage: jest.MockInstance; getLegacyMetadata: jest.MockInstance<{ uiSettings: { defaults: Record; user?: Record | undefined; }; globalUiSettings: { defaults: Record; user?: Record | undefined; }; }, []>; getInjectedVar: jest.MockInstance; getInjectedVars: jest.MockInstance<{ [key: string]: unknown; }, []>; getCustomBranding: jest.MockInstance<", + "[], [], unknown>; getAnonymousStatusPage: jest.MockInstance; getLegacyMetadata: jest.MockInstance<{ uiSettings: { defaults: Record; user?: Record | undefined; }; globalUiSettings: { defaults: Record; user?: Record | undefined; }; }, [], unknown>; getInjectedVar: jest.MockInstance; getInjectedVars: jest.MockInstance<{ [key: string]: unknown; }, [], unknown>; getCustomBranding: jest.MockInstance<", { "pluginId": "@kbn/core-custom-branding-common", "scope": "common", @@ -137,7 +137,7 @@ "section": "def-common.CustomBranding", "text": "CustomBranding" }, - ", []>; } & ", + ", [], unknown>; } & ", "InternalInjectedMetadataSetup" ], "path": "packages/core/test-helpers/core-test-helpers-http-setup-browser/src/http_test_setup.ts", @@ -152,7 +152,7 @@ "label": "fatalErrors", "description": [], "signature": [ - "{ add: jest.MockInstance; get$: jest.MockInstance<", + "{ add: jest.MockInstance; get$: jest.MockInstance<", "Observable", "<", { @@ -162,7 +162,7 @@ "section": "def-common.FatalErrorInfo", "text": "FatalErrorInfo" }, - ">, []>; } & ", + ">, [], unknown>; } & ", { "pluginId": "@kbn/core-fatal-errors-browser", "scope": "common", 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 7226da9ff1194..81ae165df9d09 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-07-13 +date: 2023-07-17 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 402053b2511c1..c8a327b24acba 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-07-13 +date: 2023-07-17 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 f98e734ba0c85..e650808dd254f 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-07-13 +date: 2023-07-17 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 316731894ec08..bd4c92232b13b 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-07-13 +date: 2023-07-17 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 ef96520cd8d06..dd52dcefd5f59 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-07-13 +date: 2023-07-17 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 d035a28221fba..7698e25e66487 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-07-13 +date: 2023-07-17 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 29dbacf9025ca..f56614805f6b8 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-07-13 +date: 2023-07-17 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 9958562bd293e..47d2eea7a3505 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-07-13 +date: 2023-07-17 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 1585fc6f5b346..86f2728f42ca9 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-07-13 +date: 2023-07-17 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 7c938bf838fff..0003bb42d0c0f 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-07-13 +date: 2023-07-17 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 cb415dedcf87c..c1662dfd9176c 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-07-13 +date: 2023-07-17 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 3c5b615232c94..fceeb61ec4314 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_ui_settings_server_internal.devdocs.json index 51a298f3e4469..19b0355b0870b 100644 --- a/api_docs/kbn_core_ui_settings_server_internal.devdocs.json +++ b/api_docs/kbn_core_ui_settings_server_internal.devdocs.json @@ -298,7 +298,15 @@ "section": "def-common.ObjectType", "text": "ObjectType" }, - "<{}>; }>" + "<{}>; publicApiEnabled: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ConditionalType", + "text": "ConditionalType" + }, + "; }>" ], "path": "packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_config.ts", "deprecated": false, diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx index 42330a3b90e20..fad44ec556f39 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-07-13 +date: 2023-07-17 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 fb6d27268c6c0..c63b39862b2bc 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-07-13 +date: 2023-07-17 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 eac2398eadf85..f6857f2173def 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-07-13 +date: 2023-07-17 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 487c8d6b6978a..bde332eda35c3 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_usage_data_server_mocks.devdocs.json index 161e578a32ed5..b96ca62e45b33 100644 --- a/api_docs/kbn_core_usage_data_server_mocks.devdocs.json +++ b/api_docs/kbn_core_usage_data_server_mocks.devdocs.json @@ -101,39 +101,39 @@ "section": "def-common.CoreUsageStats", "text": "CoreUsageStats" }, - ">, []>; incrementSavedObjectsBulkCreate: jest.MockInstance, [options: ", + ">, [], unknown>; incrementSavedObjectsBulkCreate: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsBulkGet: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsBulkGet: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsBulkResolve: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsBulkResolve: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsBulkUpdate: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsBulkUpdate: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsBulkDelete: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsBulkDelete: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsCreate: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsCreate: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsDelete: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsDelete: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsFind: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsFind: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsGet: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsGet: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsResolve: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsResolve: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsUpdate: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsUpdate: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementSavedObjectsImport: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsImport: jest.MockInstance, [options: ", "IncrementSavedObjectsImportOptions", - "]>; incrementSavedObjectsResolveImportErrors: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsResolveImportErrors: jest.MockInstance, [options: ", "IncrementSavedObjectsResolveImportErrorsOptions", - "]>; incrementSavedObjectsExport: jest.MockInstance, [options: ", + "], unknown>; incrementSavedObjectsExport: jest.MockInstance, [options: ", "IncrementSavedObjectsExportOptions", - "]>; incrementLegacyDashboardsImport: jest.MockInstance, [options: ", + "], unknown>; incrementLegacyDashboardsImport: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; incrementLegacyDashboardsExport: jest.MockInstance, [options: ", + "], unknown>; incrementLegacyDashboardsExport: jest.MockInstance, [options: ", "BaseIncrementOptions", - "]>; } & ", + "], unknown>; } & ", "ICoreUsageStatsClient" ], "path": "packages/core/usage-data/core-usage-data-server-mocks/src/core_usage_data_service.mock.ts", diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx index 4b9acc72dd408..4b1eb04343345 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-07-13 +date: 2023-07-17 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 ec6c2e36f8287..e0c4e5eb6459a 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-07-13 +date: 2023-07-17 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 9afe2e777c398..baeba82559ed6 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_core_user_settings_server_mocks.devdocs.json index 08b7ea7d803fe..3b10d96b110bf 100644 --- a/api_docs/kbn_core_user_settings_server_mocks.devdocs.json +++ b/api_docs/kbn_core_user_settings_server_mocks.devdocs.json @@ -66,7 +66,7 @@ "label": "createSetupContract", "description": [], "signature": [ - "() => { setUserProfileSettings: jest.Mock; getUserSettingDarkMode: jest.Mock; }" + "() => { setUserProfileSettings: jest.Mock; getUserSettingDarkMode: jest.Mock; }" ], "path": "packages/core/user-settings/core-user-settings-server-mocks/src/user_settings_service.mock.ts", "deprecated": false, diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 9a16b292e90a7..73290d93e1f56 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-07-13 +date: 2023-07-17 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 34e611ff5a4c8..cd0c2176c4388 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-07-13 +date: 2023-07-17 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 9a5b0dbb7c957..23e1799a1d2cb 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-07-13 +date: 2023-07-17 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 cc4126bb50c06..b32b37ffbeddd 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index 6a25144310430..9518e1084031b 100644 --- a/api_docs/kbn_data_service.mdx +++ b/api_docs/kbn_data_service.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service title: "@kbn/data-service" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/data-service plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service'] --- import kbnDataServiceObj from './kbn_data_service.devdocs.json'; diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx index 73accf99299ce..2c874f1f275f7 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/datemath'] --- import kbnDatemathObj from './kbn_datemath.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_analytics.mdx b/api_docs/kbn_deeplinks_analytics.mdx index f2eee176558d2..84cf0c0796df9 100644 --- a/api_docs/kbn_deeplinks_analytics.mdx +++ b/api_docs/kbn_deeplinks_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics title: "@kbn/deeplinks-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-analytics plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-analytics'] --- import kbnDeeplinksAnalyticsObj from './kbn_deeplinks_analytics.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_devtools.mdx b/api_docs/kbn_deeplinks_devtools.mdx index bcb83d34a64f9..777bbc7d9afec 100644 --- a/api_docs/kbn_deeplinks_devtools.mdx +++ b/api_docs/kbn_deeplinks_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools title: "@kbn/deeplinks-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-devtools plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools'] --- import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx index cb5b653560357..6c88e74e2372a 100644 --- a/api_docs/kbn_deeplinks_management.mdx +++ b/api_docs/kbn_deeplinks_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management title: "@kbn/deeplinks-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-management plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-management'] --- import kbnDeeplinksManagementObj from './kbn_deeplinks_management.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_ml.mdx b/api_docs/kbn_deeplinks_ml.mdx index 67eecc850f3df..78887b4402ed5 100644 --- a/api_docs/kbn_deeplinks_ml.mdx +++ b/api_docs/kbn_deeplinks_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml title: "@kbn/deeplinks-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-ml plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-ml'] --- import kbnDeeplinksMlObj from './kbn_deeplinks_ml.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_observability.mdx b/api_docs/kbn_deeplinks_observability.mdx index a1eab7d606d3f..0c56b9cd7986e 100644 --- a/api_docs/kbn_deeplinks_observability.mdx +++ b/api_docs/kbn_deeplinks_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability title: "@kbn/deeplinks-observability" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-observability plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-observability'] --- import kbnDeeplinksObservabilityObj from './kbn_deeplinks_observability.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_search.mdx b/api_docs/kbn_deeplinks_search.mdx index 71f3b0309537b..f65f58b13cd57 100644 --- a/api_docs/kbn_deeplinks_search.mdx +++ b/api_docs/kbn_deeplinks_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search title: "@kbn/deeplinks-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/deeplinks-search plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx index ee131463e91dc..c426680fd4372 100644 --- a/api_docs/kbn_default_nav_analytics.mdx +++ b/api_docs/kbn_default_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics title: "@kbn/default-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-analytics plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-analytics'] --- import kbnDefaultNavAnalyticsObj from './kbn_default_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_default_nav_devtools.mdx b/api_docs/kbn_default_nav_devtools.mdx index 62537fe4c1834..5b2a71e95a629 100644 --- a/api_docs/kbn_default_nav_devtools.mdx +++ b/api_docs/kbn_default_nav_devtools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools title: "@kbn/default-nav-devtools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-devtools plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-devtools'] --- import kbnDefaultNavDevtoolsObj from './kbn_default_nav_devtools.devdocs.json'; diff --git a/api_docs/kbn_default_nav_management.mdx b/api_docs/kbn_default_nav_management.mdx index 530013cafb912..5927f187253c5 100644 --- a/api_docs/kbn_default_nav_management.mdx +++ b/api_docs/kbn_default_nav_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management title: "@kbn/default-nav-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-management plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-management'] --- import kbnDefaultNavManagementObj from './kbn_default_nav_management.devdocs.json'; diff --git a/api_docs/kbn_default_nav_ml.mdx b/api_docs/kbn_default_nav_ml.mdx index 1395e842f88d8..1158ecf361024 100644 --- a/api_docs/kbn_default_nav_ml.mdx +++ b/api_docs/kbn_default_nav_ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml title: "@kbn/default-nav-ml" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/default-nav-ml plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/default-nav-ml'] --- import kbnDefaultNavMlObj from './kbn_default_nav_ml.devdocs.json'; diff --git a/api_docs/kbn_dev_cli_errors.mdx b/api_docs/kbn_dev_cli_errors.mdx index 859fd3ebb15dd..bc9e72f7d8d8f 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-07-13 +date: 2023-07-17 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 bd9cc94a57032..72d0ee1c8c10b 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-07-13 +date: 2023-07-17 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 c6a7ae588b82f..ba0c32c55507b 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-07-13 +date: 2023-07-17 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 ab8a1e337faf9..f9540a5893d86 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-07-13 +date: 2023-07-17 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 954dd7d4166cc..e73919aa53b29 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-07-13 +date: 2023-07-17 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 24771c25a64ea..c69f980ec219c 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-07-13 +date: 2023-07-17 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 0d7703dd0ad8b..1bcf48320ce97 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-07-13 +date: 2023-07-17 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 c6a477dc2e2b4..8666b37837589 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-07-13 +date: 2023-07-17 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 4b6d571c93f75..2bc973fbdf4a4 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-07-13 +date: 2023-07-17 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 0105733724ec9..10de8814e73ab 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard'] --- import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant.devdocs.json b/api_docs/kbn_elastic_assistant.devdocs.json index 3685f00b7b9b9..8e4208cecb509 100644 --- a/api_docs/kbn_elastic_assistant.devdocs.json +++ b/api_docs/kbn_elastic_assistant.devdocs.json @@ -897,6 +897,21 @@ ], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/elastic-assistant", + "id": "def-public.ELASTIC_AI_ASSISTANT_TITLE", + "type": "Any", + "tags": [], + "label": "ELASTIC_AI_ASSISTANT_TITLE", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/translations.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/elastic-assistant", "id": "def-public.PromptContextTemplate", @@ -928,292 +943,24 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false - } - ], - "objects": [ + }, { "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS", - "type": "Object", + "id": "def-public.WELCOME_CONVERSATION_TITLE", + "type": "Any", "tags": [], - "label": "BASE_CONVERSATIONS", + "label": "WELCOME_CONVERSATION_TITLE", "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", + "signature": [ + "any" + ], + "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/translations.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.DEFAULT_CONVERSATION_TITLE", - "type": "Object", - "tags": [], - "label": "[DEFAULT_CONVERSATION_TITLE]", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.DEFAULT_CONVERSATION_TITLE.id", - "type": "Any", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "any" - ], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.DEFAULT_CONVERSATION_TITLE.messages", - "type": "Array", - "tags": [], - "label": "messages", - "description": [], - "signature": [ - "({ role: \"user\"; content: string; timestamp: string; } | { role: \"assistant\"; content: string; timestamp: string; })[]" - ], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.DEFAULT_CONVERSATION_TITLE.apiConfig", - "type": "Object", - "tags": [], - "label": "apiConfig", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [] - } - ] - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.timeline", - "type": "Object", - "tags": [], - "label": "timeline", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.timeline.id", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.timeline.messages", - "type": "Array", - "tags": [], - "label": "messages", - "description": [], - "signature": [ - "never[]" - ], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.timeline.apiConfig", - "type": "Object", - "tags": [], - "label": "apiConfig", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [] - } - ] - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE", - "type": "Object", - "tags": [], - "label": "[WELCOME_CONVERSATION_TITLE]", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.id", - "type": "Any", - "tags": [], - "label": "id", - "description": [], - "signature": [ - "any" - ], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme", - "type": "Object", - "tags": [], - "label": "theme", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.title", - "type": "Any", - "tags": [], - "label": "title", - "description": [], - "signature": [ - "any" - ], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.titleIcon", - "type": "string", - "tags": [], - "label": "titleIcon", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.assistant", - "type": "Object", - "tags": [], - "label": "assistant", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.assistant.name", - "type": "Any", - "tags": [], - "label": "name", - "description": [], - "signature": [ - "any" - ], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.assistant.icon", - "type": "string", - "tags": [], - "label": "icon", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.system", - "type": "Object", - "tags": [], - "label": "system", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.system.icon", - "type": "string", - "tags": [], - "label": "icon", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - } - ] - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.theme.user", - "type": "Object", - "tags": [], - "label": "user", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [] - } - ] - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.messages", - "type": "Array", - "tags": [], - "label": "messages", - "description": [], - "signature": [ - "{ role: \"assistant\"; content: any; timestamp: string; presentation: { delay: number; stream: true; }; }[]" - ], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/elastic-assistant", - "id": "def-public.BASE_CONVERSATIONS.WELCOME_CONVERSATION_TITLE.apiConfig", - "type": "Object", - "tags": [], - "label": "apiConfig", - "description": [], - "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/sample_conversations.tsx", - "deprecated": false, - "trackAdoption": false, - "children": [] - } - ] - } - ], "initialIsOpen": false } - ] + ], + "objects": [] }, "server": { "classes": [], diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx index 22de25998b737..1613724743105 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; @@ -21,13 +21,10 @@ Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/secur | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 84 | 4 | 65 | 3 | +| 64 | 2 | 45 | 3 | ## Client -### Objects - - ### Functions diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index b4728c59e9cb6..bb0848e0230fc 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-07-13 +date: 2023-07-17 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 d99444e6d694f..b66755c660582 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-07-13 +date: 2023-07-17 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 3d94e2e2467dd..807b0edbceece 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.devdocs.json b/api_docs/kbn_es_query.devdocs.json index 960dfc1192653..bc53217d27e65 100644 --- a/api_docs/kbn_es_query.devdocs.json +++ b/api_docs/kbn_es_query.devdocs.json @@ -4036,6 +4036,55 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/es-query", + "id": "def-common.toKqlExpression", + "type": "Function", + "tags": [], + "label": "toKqlExpression", + "description": [ + "\nGiven a KQL AST node, generate the corresponding KQL expression." + ], + "signature": [ + "(node: ", + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.KueryNode", + "text": "KueryNode" + }, + ") => string" + ], + "path": "packages/kbn-es-query/src/kuery/ast/ast.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/es-query", + "id": "def-common.toKqlExpression.$1", + "type": "Object", + "tags": [], + "label": "node", + "description": [], + "signature": [ + { + "pluginId": "@kbn/es-query", + "scope": "common", + "docId": "kibKbnEsQueryPluginApi", + "section": "def-common.KueryNode", + "text": "KueryNode" + } + ], + "path": "packages/kbn-es-query/src/kuery/ast/ast.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/es-query", "id": "def-common.uniqFilters", @@ -5295,62 +5344,6 @@ ], "initialIsOpen": false }, - { - "parentPluginId": "@kbn/es-query", - "id": "def-common.FunctionTypeBuildNode", - "type": "Interface", - "tags": [], - "label": "FunctionTypeBuildNode", - "description": [], - "path": "packages/kbn-es-query/src/kuery/node_types/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/es-query", - "id": "def-common.FunctionTypeBuildNode.type", - "type": "string", - "tags": [], - "label": "type", - "description": [], - "signature": [ - "\"function\"" - ], - "path": "packages/kbn-es-query/src/kuery/node_types/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/es-query", - "id": "def-common.FunctionTypeBuildNode.function", - "type": "CompoundType", - "tags": [], - "label": "function", - "description": [], - "signature": [ - "\"nested\" | \"exists\" | \"is\" | \"range\" | \"and\" | \"or\" | \"not\"" - ], - "path": "packages/kbn-es-query/src/kuery/node_types/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/es-query", - "id": "def-common.FunctionTypeBuildNode.arguments", - "type": "Array", - "tags": [], - "label": "arguments", - "description": [], - "signature": [ - "any[]" - ], - "path": "packages/kbn-es-query/src/kuery/node_types/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, { "parentPluginId": "@kbn/es-query", "id": "def-common.IFieldSubTypeMulti", diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 4fdd9d9aa5892..61e0217b1a371 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.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 | |-------------------|-----------|------------------------|-----------------| -| 255 | 1 | 197 | 15 | +| 253 | 1 | 194 | 15 | ## Common diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 1801c44f0802a..744b5ba547810 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-07-13 +date: 2023-07-17 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 c3562691f4b59..1c3f966dbde11 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-07-13 +date: 2023-07-17 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 c3648fff54cbf..646ad5bbde730 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-07-13 +date: 2023-07-17 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 49432057fb7cb..b17361eedde72 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-07-13 +date: 2023-07-17 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 46c842e191a78..1d09d3e6e613a 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-07-13 +date: 2023-07-17 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 82aef15de730f..eff1ab7f7f225 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-07-13 +date: 2023-07-17 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 0007e6a55495d..f89b37a72b4e1 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 2dcee172c5978..7012346066051 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index 98035cabd6a92..24714cd89ccf6 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-07-13 +date: 2023-07-17 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 d480599d61f01..5d71984c8f714 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-07-13 +date: 2023-07-17 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 8b1a4f6c3dc3b..aaaccadd44687 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-07-13 +date: 2023-07-17 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 9b9abc6e897d8..8e625b255fbf4 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-07-13 +date: 2023-07-17 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 43d7ce55e4e87..c9b8f161778cf 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-07-13 +date: 2023-07-17 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 4f233991d579a..3a7310dcc3b63 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-07-13 +date: 2023-07-17 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 9ac01d4d88485..9136b6b86ffae 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-07-13 +date: 2023-07-17 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 14fed28478710..7e0c06dd2f47c 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-07-13 +date: 2023-07-17 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 9eaade5c41805..13da597d6c26d 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-07-13 +date: 2023-07-17 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 46de432822cf9..d8a04a15c33ab 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-07-13 +date: 2023-07-17 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 aa6843f4a6d2b..e37aa8bc4dfdc 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-07-13 +date: 2023-07-17 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 9adda81297c71..48ff7fb472000 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-07-13 +date: 2023-07-17 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 dfd6c00ccaa4f..447ece2f9e939 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index 0892ebe00a4af..db776ea3647a1 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 6749a78383d90..55c58b39378eb 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-07-13 +date: 2023-07-17 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 dff452ed5ca6c..4c30045cf22d3 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-07-13 +date: 2023-07-17 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 a8222c6f73a35..7b1aea3b00e25 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-07-13 +date: 2023-07-17 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 d9a1f3701fe38..a8ef79679c9d8 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-07-13 +date: 2023-07-17 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 2ef27220a1c40..ed20d887758f1 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-07-13 +date: 2023-07-17 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 5d828552545c6..e74bd30e2f48d 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.devdocs.json b/api_docs/kbn_logging_mocks.devdocs.json index 617062bcc5f08..39e3725849b91 100644 --- a/api_docs/kbn_logging_mocks.devdocs.json +++ b/api_docs/kbn_logging_mocks.devdocs.json @@ -38,7 +38,7 @@ "section": "def-common.LogMeta", "text": "LogMeta" }, - " | undefined]>; debug: jest.MockInstance; debug: jest.MockInstance; info: jest.MockInstance; info: jest.MockInstance; warn: jest.MockInstance; warn: jest.MockInstance; error: jest.MockInstance; error: jest.MockInstance; fatal: jest.MockInstance; fatal: jest.MockInstance; log: jest.MockInstance; log: jest.MockInstance; isLevelEnabled: jest.MockInstance; isLevelEnabled: jest.MockInstance; get: jest.MockInstance<", + "], unknown>; get: jest.MockInstance<", { "pluginId": "@kbn/logging", "scope": "common", @@ -90,7 +90,7 @@ "section": "def-common.Logger", "text": "Logger" }, - ", string[]>; } & ", + ", string[], unknown>; } & ", { "pluginId": "@kbn/logging", "scope": "common", @@ -195,7 +195,7 @@ "section": "def-common.LogMeta", "text": "LogMeta" }, - " | undefined]>; debug: jest.MockInstance; debug: jest.MockInstance; info: jest.MockInstance; info: jest.MockInstance; warn: jest.MockInstance; warn: jest.MockInstance; error: jest.MockInstance; error: jest.MockInstance; fatal: jest.MockInstance; fatal: jest.MockInstance; log: jest.MockInstance; log: jest.MockInstance; isLevelEnabled: jest.MockInstance; isLevelEnabled: jest.MockInstance; get: jest.MockInstance<", + "], unknown>; get: jest.MockInstance<", { "pluginId": "@kbn/logging", "scope": "common", @@ -247,7 +247,7 @@ "section": "def-common.Logger", "text": "Logger" }, - ", string[]>; } & ", + ", string[], unknown>; } & ", { "pluginId": "@kbn/logging", "scope": "common", @@ -352,7 +352,7 @@ "section": "def-common.LogMeta", "text": "LogMeta" }, - " | undefined]>; debug: jest.MockInstance; debug: jest.MockInstance; info: jest.MockInstance; info: jest.MockInstance; warn: jest.MockInstance; warn: jest.MockInstance; error: jest.MockInstance; error: jest.MockInstance; fatal: jest.MockInstance; fatal: jest.MockInstance; log: jest.MockInstance; log: jest.MockInstance; isLevelEnabled: jest.MockInstance; isLevelEnabled: jest.MockInstance; get: jest.MockInstance<", + "], unknown>; get: jest.MockInstance<", { "pluginId": "@kbn/logging", "scope": "common", @@ -404,7 +404,7 @@ "section": "def-common.Logger", "text": "Logger" }, - ", string[]>; } & ", + ", string[], unknown>; } & ", { "pluginId": "@kbn/logging", "scope": "common", diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index fc4c19983ea80..c04f9db280719 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-07-13 +date: 2023-07-17 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 c87e28734802f..ce55b282523cf 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 6e114e8188c6b..7a844936e13f8 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index b353e88bd74f3..23c0bf4f4ab0e 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.devdocs.json b/api_docs/kbn_mapbox_gl.devdocs.json index 77583b59f73f0..176946b8db4e2 100644 --- a/api_docs/kbn_mapbox_gl.devdocs.json +++ b/api_docs/kbn_mapbox_gl.devdocs.json @@ -145,7 +145,7 @@ "label": "_data", "description": [], "signature": [ - "string | GeoJSON.GeoJSON" + "string | GeoJSON.GeoJSON | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -154,12 +154,12 @@ { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.GeoJSONSource._options", - "type": "Any", + "type": "Object", "tags": [], "label": "_options", "description": [], "signature": [ - "any" + "{ data?: string | GeoJSON.GeoJSON | undefined; cluster?: boolean | undefined; clusterMaxZoom?: number | undefined; clusterRadius?: number | undefined; clusterMinPoints?: number | undefined; generateId?: boolean | undefined; }" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -168,12 +168,12 @@ { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.GeoJSONSource.workerOptions", - "type": "Any", + "type": "Object", "tags": [], "label": "workerOptions", "description": [], "signature": [ - "any" + "{ source?: string | undefined; cluster?: boolean | undefined; geojsonVtOptions?: { buffer?: number | undefined; tolerance?: number | undefined; extent?: number | undefined; maxZoom?: number | undefined; linemetrics?: boolean | undefined; generateId?: boolean | undefined; } | undefined; superclusterOptions?: { maxZoom?: number | undefined; miniPoints?: number | undefined; extent?: number | undefined; radius?: number | undefined; log?: boolean | undefined; generateId?: boolean | undefined; } | undefined; clusterProperties?: any; fliter?: any; promoteId?: any; collectResourceTiming?: boolean | undefined; }" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -405,6 +405,82 @@ "this" ] }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.GeoJSONSource.updateData", + "type": "Function", + "tags": [], + "label": "updateData", + "description": [ + "\nUpdates the source's GeoJSON, and re-renders the map.\n\nFor sources with lots of features, this method can be used to make updates more quickly.\n\nThis approach requires unique IDs for every feature in the source. The IDs can either be specified on the feature,\nor by using the promoteId option to specify which property should be used as the ID.\n\nIt is an error to call updateData on a source that did not have unique IDs for each of its features already.\n\nUpdates are applied on a best-effort basis, updating an ID that does not exist will not result in an error.\n" + ], + "signature": [ + "(diff: maplibregl.GeoJSONSourceDiff) => this" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.GeoJSONSource.updateData.$1", + "type": "Object", + "tags": [], + "label": "diff", + "description": [ + "The changes that need to be applied." + ], + "signature": [ + "maplibregl.GeoJSONSourceDiff" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "this" + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.GeoJSONSource.setClusterOptions", + "type": "Function", + "tags": [], + "label": "setClusterOptions", + "description": [ + "\nTo disable/enable clustering on the source options" + ], + "signature": [ + "(options: maplibregl.SetClusterOptions) => this" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.GeoJSONSource.setClusterOptions.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "The options to set" + ], + "signature": [ + "maplibregl.SetClusterOptions" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "this" + ] + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.GeoJSONSource.getClusterExpansionZoom", @@ -612,7 +688,7 @@ "label": "_updateWorkerData", "description": [], "signature": [ - "(sourceDataType: maplibregl.MapSourceDataType) => void" + "(diff?: maplibregl.GeoJSONSourceDiff | undefined) => void" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -621,17 +697,17 @@ { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.GeoJSONSource._updateWorkerData.$1", - "type": "CompoundType", + "type": "Object", "tags": [], - "label": "sourceDataType", + "label": "diff", "description": [], "signature": [ - "maplibregl.MapSourceDataType" + "maplibregl.GeoJSONSourceDiff | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [] @@ -927,14 +1003,14 @@ "\nReturns the coordinates represented as an array of two numbers.\n" ], "signature": [ - "() => number[]" + "() => [number, number]" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, "children": [], "returnComment": [ - "The coordinates represeted as an array of longitude and latitude." + "The coordinates represented as an array of longitude and latitude." ] }, { @@ -995,44 +1071,6 @@ "Distance in meters between the two coordinates." ] }, - { - "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.LngLat.toBounds", - "type": "Function", - "tags": [], - "label": "toBounds", - "description": [ - "\nReturns a `LngLatBounds` from the coordinates extended by a given `radius`. The returned `LngLatBounds` completely contains the `radius`.\n" - ], - "signature": [ - "(radius?: number | undefined) => maplibregl.LngLatBounds" - ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.LngLat.toBounds.$1", - "type": "number", - "tags": [], - "label": "radius", - "description": [ - "Distance in meters from the coordinates to extend the bounds." - ], - "signature": [ - "number | undefined" - ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": false - } - ], - "returnComment": [ - "A new `LngLatBounds` object representing the coordinates extended by the `radius`." - ] - }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.LngLat.convert", @@ -1133,32 +1171,36 @@ { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.LngLatBounds.Unnamed.$1", - "type": "Any", + "type": "CompoundType", "tags": [], "label": "sw", - "description": [], + "description": [ + "The southwest corner of the bounding box.\nOR array of 4 numbers in the order of west, south, east, north\nOR array of 2 LngLatLike: [sw,ne]" + ], "signature": [ - "any" + "[number, number, number, number] | maplibregl.LngLatLike | [maplibregl.LngLatLike, maplibregl.LngLatLike] | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.LngLatBounds.Unnamed.$2", - "type": "Any", + "type": "CompoundType", "tags": [], "label": "ne", - "description": [], + "description": [ + "The northeast corner of the bounding box." + ], "signature": [ - "any" + "maplibregl.LngLatLike | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [] @@ -1467,7 +1509,7 @@ "\nReturns the bounding box represented as an array.\n" ], "signature": [ - "() => number[][]" + "() => [number, number][]" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -1592,6 +1634,61 @@ "returnComment": [ "A new `LngLatBounds` object, if a conversion occurred, or the original `LngLatBounds` object." ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.LngLatBounds.fromLngLat", + "type": "Function", + "tags": [], + "label": "fromLngLat", + "description": [ + "\nReturns a `LngLatBounds` from the coordinates extended by a given `radius`. The returned `LngLatBounds` completely contains the `radius`.\n" + ], + "signature": [ + "(center: maplibregl.LngLat, radius?: number | undefined) => maplibregl.LngLatBounds" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.LngLatBounds.fromLngLat.$1", + "type": "Object", + "tags": [], + "label": "center", + "description": [ + "center coordinates of the new bounds." + ], + "signature": [ + "maplibregl.LngLat" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.LngLatBounds.fromLngLat.$2", + "type": "number", + "tags": [], + "label": "radius", + "description": [ + "Distance in meters from the coordinates to extend the bounds." + ], + "signature": [ + "number | undefined" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "A new `LngLatBounds` object representing the coordinates extended by the `radius`." + ] } ], "initialIsOpen": false @@ -1719,6 +1816,48 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._cooperativeGestures", + "type": "CompoundType", + "tags": [], + "label": "_cooperativeGestures", + "description": [], + "signature": [ + "boolean | maplibregl.GestureOptions" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._cooperativeGesturesScreen", + "type": "Object", + "tags": [], + "label": "_cooperativeGesturesScreen", + "description": [], + "signature": [ + "HTMLElement" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._metaKey", + "type": "CompoundType", + "tags": [], + "label": "_metaKey", + "description": [], + "signature": [ + "keyof MouseEvent" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map._showTileBoundaries", @@ -1810,6 +1949,17 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._maxTileCacheZoomLevels", + "type": "number", + "tags": [], + "label": "_maxTileCacheZoomLevels", + "description": [], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map._frame", @@ -1868,6 +2018,17 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._idleTriggered", + "type": "boolean", + "tags": [], + "label": "_idleTriggered", + "description": [], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map._fullyLoaded", @@ -1890,6 +2051,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._resizeObserver", + "type": "Object", + "tags": [], + "label": "_resizeObserver", + "description": [], + "signature": [ + "ResizeObserver" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map._preserveDrawingBuffer", @@ -2056,6 +2231,17 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._validateStyle", + "type": "boolean", + "tags": [], + "label": "_validateStyle", + "description": [], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map._requestManager", @@ -2119,23 +2305,67 @@ }, { "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map.scrollZoom", - "type": "Object", + "id": "def-common.Map._terrainDataCallback", + "type": "Function", "tags": [], - "label": "scrollZoom", - "description": [ - "\nThe map's {@link ScrollZoomHandler}, which implements zooming in and out with a scroll wheel or trackpad.\nFind more details and examples using `scrollZoom` in the {@link ScrollZoomHandler} section." - ], + "label": "_terrainDataCallback", + "description": [], "signature": [ - "maplibregl.ScrollZoomHandler" + "(e: maplibregl.MapStyleDataEvent | maplibregl.MapSourceDataEvent) => void" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map.boxZoom", + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._terrainDataCallback.$1", + "type": "CompoundType", + "tags": [], + "label": "e", + "description": [], + "signature": [ + "maplibregl.MapStyleDataEvent | maplibregl.MapSourceDataEvent" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._imageQueueHandle", + "type": "number", + "tags": [], + "label": "_imageQueueHandle", + "description": [ + "image queue throttling handle. To be used later when clean up" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.scrollZoom", + "type": "Object", + "tags": [], + "label": "scrollZoom", + "description": [ + "\nThe map's {@link ScrollZoomHandler}, which implements zooming in and out with a scroll wheel or trackpad.\nFind more details and examples using `scrollZoom` in the {@link ScrollZoomHandler} section." + ], + "signature": [ + "maplibregl.ScrollZoomHandler" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.boxZoom", "type": "Object", "tags": [], "label": "boxZoom", @@ -2220,10 +2450,10 @@ "tags": [], "label": "touchZoomRotate", "description": [ - "\nThe map's {@link TouchZoomRotateHandler}, which allows the user to zoom or rotate the map with touch gestures.\nFind more details and examples using `touchZoomRotate` in the {@link TouchZoomRotateHandler} section." + "\nThe map's {@link TwoFingersTouchZoomRotateHandler}, which allows the user to zoom or rotate the map with touch gestures.\nFind more details and examples using `touchZoomRotate` in the {@link TwoFingersTouchZoomRotateHandler} section." ], "signature": [ - "maplibregl.TouchZoomRotateHandler" + "maplibregl.TwoFingersTouchZoomRotateHandler" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -2236,10 +2466,10 @@ "tags": [], "label": "touchPitch", "description": [ - "\nThe map's {@link TouchPitchHandler}, which allows the user to pitch the map with touch gestures.\nFind more details and examples using `touchPitch` in the {@link TouchPitchHandler} section." + "\nThe map's {@link TwoFingersTouchPitchHandler}, which allows the user to pitch the map with touch gestures.\nFind more details and examples using `touchPitch` in the {@link TwoFingersTouchPitchHandler} section." ], "signature": [ - "maplibregl.TouchPitchHandler" + "maplibregl.TwoFingersTouchPitchHandler" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -2426,6 +2656,83 @@ "True if map contains control." ] }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.calculateCameraOptionsFromTo", + "type": "Function", + "tags": [], + "label": "calculateCameraOptionsFromTo", + "description": [], + "signature": [ + "(from: maplibregl.LngLat, altitudeFrom: number, to: maplibregl.LngLat, altitudeTo?: number | undefined) => maplibregl.CameraOptions" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.calculateCameraOptionsFromTo.$1", + "type": "Object", + "tags": [], + "label": "from", + "description": [], + "signature": [ + "maplibregl.LngLat" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.calculateCameraOptionsFromTo.$2", + "type": "number", + "tags": [], + "label": "altitudeFrom", + "description": [], + "signature": [ + "number" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.calculateCameraOptionsFromTo.$3", + "type": "Object", + "tags": [], + "label": "to", + "description": [], + "signature": [ + "maplibregl.LngLat" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.calculateCameraOptionsFromTo.$4", + "type": "number", + "tags": [], + "label": "altitudeTo", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map.resize", @@ -2892,6 +3199,64 @@ "`this`" ] }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.getCooperativeGestures", + "type": "Function", + "tags": [], + "label": "getCooperativeGestures", + "description": [ + "\nGets the map's cooperativeGestures option\n" + ], + "signature": [ + "() => boolean | maplibregl.GestureOptions" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [ + "gestureOptions" + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.setCooperativeGestures", + "type": "Function", + "tags": [], + "label": "setCooperativeGestures", + "description": [ + "\nSets or clears the map's cooperativeGestures option\n" + ], + "signature": [ + "(gestureOptions?: boolean | maplibregl.GestureOptions | null | undefined) => this" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.setCooperativeGestures.$1", + "type": "CompoundType", + "tags": [], + "label": "gestureOptions", + "description": [ + "If `true` or set to an options object, map is only accessible on desktop while holding Command/Ctrl and only accessible on mobile with two fingers. Interacting with the map using normal gestures will trigger an informational screen. With this option enabled, \"drag to pitch\" requires a three-finger gesture." + ], + "signature": [ + "boolean | maplibregl.GestureOptions | null | undefined" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "`this`" + ] + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map.project", @@ -3037,7 +3402,7 @@ "label": "_createDelegatedListener", "description": [], "signature": [ - "(type: string, layerId: string, listener: maplibregl.Listener) => { layer: string; listener: maplibregl.Listener; delegates: { error?: ((e: any) => void) | undefined; load?: ((e: any) => void) | undefined; idle?: ((e: any) => void) | undefined; remove?: ((e: any) => void) | undefined; render?: ((e: any) => void) | undefined; resize?: ((e: any) => void) | undefined; webglcontextlost?: ((e: any) => void) | undefined; webglcontextrestored?: ((e: any) => void) | undefined; dataloading?: ((e: any) => void) | undefined; data?: ((e: any) => void) | undefined; tiledataloading?: ((e: any) => void) | undefined; sourcedataloading?: ((e: any) => void) | undefined; styledataloading?: ((e: any) => void) | undefined; sourcedata?: ((e: any) => void) | undefined; styledata?: ((e: any) => void) | undefined; styleimagemissing?: ((e: any) => void) | undefined; dataabort?: ((e: any) => void) | undefined; sourcedataabort?: ((e: any) => void) | undefined; boxzoomcancel?: ((e: any) => void) | undefined; boxzoomstart?: ((e: any) => void) | undefined; boxzoomend?: ((e: any) => void) | undefined; touchcancel?: ((e: any) => void) | undefined; touchmove?: ((e: any) => void) | undefined; touchend?: ((e: any) => void) | undefined; touchstart?: ((e: any) => void) | undefined; click?: ((e: any) => void) | undefined; contextmenu?: ((e: any) => void) | undefined; dblclick?: ((e: any) => void) | undefined; mousemove?: ((e: any) => void) | undefined; mouseup?: ((e: any) => void) | undefined; mousedown?: ((e: any) => void) | undefined; mouseout?: ((e: any) => void) | undefined; mouseover?: ((e: any) => void) | undefined; movestart?: ((e: any) => void) | undefined; move?: ((e: any) => void) | undefined; moveend?: ((e: any) => void) | undefined; zoomstart?: ((e: any) => void) | undefined; zoom?: ((e: any) => void) | undefined; zoomend?: ((e: any) => void) | undefined; rotatestart?: ((e: any) => void) | undefined; rotate?: ((e: any) => void) | undefined; rotateend?: ((e: any) => void) | undefined; dragstart?: ((e: any) => void) | undefined; drag?: ((e: any) => void) | undefined; dragend?: ((e: any) => void) | undefined; pitchstart?: ((e: any) => void) | undefined; pitch?: ((e: any) => void) | undefined; pitchend?: ((e: any) => void) | undefined; wheel?: ((e: any) => void) | undefined; }; }" + "(type: string, layerId: string, listener: maplibregl.Listener) => { layer: string; listener: maplibregl.Listener; delegates: { error?: ((e: any) => void) | undefined; load?: ((e: any) => void) | undefined; idle?: ((e: any) => void) | undefined; remove?: ((e: any) => void) | undefined; render?: ((e: any) => void) | undefined; resize?: ((e: any) => void) | undefined; webglcontextlost?: ((e: any) => void) | undefined; webglcontextrestored?: ((e: any) => void) | undefined; dataloading?: ((e: any) => void) | undefined; data?: ((e: any) => void) | undefined; tiledataloading?: ((e: any) => void) | undefined; sourcedataloading?: ((e: any) => void) | undefined; styledataloading?: ((e: any) => void) | undefined; sourcedata?: ((e: any) => void) | undefined; styledata?: ((e: any) => void) | undefined; styleimagemissing?: ((e: any) => void) | undefined; dataabort?: ((e: any) => void) | undefined; sourcedataabort?: ((e: any) => void) | undefined; boxzoomcancel?: ((e: any) => void) | undefined; boxzoomstart?: ((e: any) => void) | undefined; boxzoomend?: ((e: any) => void) | undefined; touchcancel?: ((e: any) => void) | undefined; touchmove?: ((e: any) => void) | undefined; touchend?: ((e: any) => void) | undefined; touchstart?: ((e: any) => void) | undefined; click?: ((e: any) => void) | undefined; contextmenu?: ((e: any) => void) | undefined; dblclick?: ((e: any) => void) | undefined; mousemove?: ((e: any) => void) | undefined; mouseup?: ((e: any) => void) | undefined; mousedown?: ((e: any) => void) | undefined; mouseout?: ((e: any) => void) | undefined; mouseover?: ((e: any) => void) | undefined; movestart?: ((e: any) => void) | undefined; move?: ((e: any) => void) | undefined; moveend?: ((e: any) => void) | undefined; zoomstart?: ((e: any) => void) | undefined; zoom?: ((e: any) => void) | undefined; zoomend?: ((e: any) => void) | undefined; rotatestart?: ((e: any) => void) | undefined; rotate?: ((e: any) => void) | undefined; rotateend?: ((e: any) => void) | undefined; dragstart?: ((e: any) => void) | undefined; drag?: ((e: any) => void) | undefined; dragend?: ((e: any) => void) | undefined; pitchstart?: ((e: any) => void) | undefined; pitch?: ((e: any) => void) | undefined; pitchend?: ((e: any) => void) | undefined; wheel?: ((e: any) => void) | undefined; terrain?: ((e: any) => void) | undefined; }; }" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3135,7 +3500,9 @@ "type": "string", "tags": [], "label": "layer", - "description": [], + "description": [ + "The ID of a style layer or a listener if no ID is provided. Event will only be triggered if its location\nis within a visible feature in this layer. The event will have a `features` property containing\nan array of the matching features. If `layerIdOrListener` is not supplied, the event will not have a `features` property.\nPlease note that many event types are not compatible with the optional `layerIdOrListener` parameter." + ], "signature": [ "string" ], @@ -3275,7 +3642,7 @@ "\nAdds a listener that will be called only once to a specified event type.\n\n\nAdds a listener that will be called only once to a specified event type occurring on features in a specified style layer.\n" ], "signature": [ - "{ (type: T, layer: string, listener: (ev: maplibregl.MapLayerEventType[T] & Object) => void): this; (type: T, listener: (ev: maplibregl.MapEventType[T] & Object) => void): this; (type: string, listener: maplibregl.Listener): this; }" + "{ (type: T, layer: string, listener?: ((ev: maplibregl.MapLayerEventType[T] & Object) => void) | undefined): this | Promise; (type: T, listener?: ((ev: maplibregl.MapEventType[T] & Object) => void) | undefined): Promise | this; (type: string, listener?: maplibregl.Listener | undefined): Promise | this; }" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3304,7 +3671,9 @@ "type": "string", "tags": [], "label": "layer", - "description": [], + "description": [ + "The ID of a style layer or a listener if no ID is provided. Only events whose location is within a visible\nfeature in this layer will trigger the listener. The event will have a `features` property containing\nan array of the matching features." + ], "signature": [ "string" ], @@ -3323,12 +3692,12 @@ "The function to be called when the event is fired.\nThe listener function is called with the data object passed to `fire`,\nextended with `target` and `type` properties." ], "signature": [ - "(ev: maplibregl.MapLayerEventType[T] & Object) => void" + "((ev: maplibregl.MapLayerEventType[T] & Object) => void) | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [ @@ -3343,7 +3712,7 @@ "label": "once", "description": [], "signature": [ - "{ (type: T, layer: string, listener: (ev: maplibregl.MapLayerEventType[T] & Object) => void): this; (type: T, listener: (ev: maplibregl.MapEventType[T] & Object) => void): this; (type: string, listener: maplibregl.Listener): this; }" + "{ (type: T, layer: string, listener?: ((ev: maplibregl.MapLayerEventType[T] & Object) => void) | undefined): this | Promise; (type: T, listener?: ((ev: maplibregl.MapEventType[T] & Object) => void) | undefined): Promise | this; (type: string, listener?: maplibregl.Listener | undefined): Promise | this; }" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3372,12 +3741,12 @@ "label": "listener", "description": [], "signature": [ - "(ev: maplibregl.MapEventType[T] & Object) => void" + "((ev: maplibregl.MapEventType[T] & Object) => void) | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [] @@ -3390,7 +3759,7 @@ "label": "once", "description": [], "signature": [ - "{ (type: T, layer: string, listener: (ev: maplibregl.MapLayerEventType[T] & Object) => void): this; (type: T, listener: (ev: maplibregl.MapEventType[T] & Object) => void): this; (type: string, listener: maplibregl.Listener): this; }" + "{ (type: T, layer: string, listener?: ((ev: maplibregl.MapLayerEventType[T] & Object) => void) | undefined): this | Promise; (type: T, listener?: ((ev: maplibregl.MapEventType[T] & Object) => void) | undefined): Promise | this; (type: string, listener?: maplibregl.Listener | undefined): Promise | this; }" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3419,12 +3788,12 @@ "label": "listener", "description": [], "signature": [ - "maplibregl.Listener" + "maplibregl.Listener | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [] @@ -3473,7 +3842,9 @@ "type": "string", "tags": [], "label": "layer", - "description": [], + "description": [ + "The layer ID or listener previously used to install the listener." + ], "signature": [ "string" ], @@ -3610,7 +3981,7 @@ "\nReturns an array of MapGeoJSONFeature objects\nrepresenting visible features that satisfy the query parameters.\n" ], "signature": [ - "(geometry?: maplibregl.PointLike | [maplibregl.PointLike, maplibregl.PointLike] | undefined, options?: any) => maplibregl.MapGeoJSONFeature[]" + "(geometryOrOptions?: maplibregl.PointLike | [maplibregl.PointLike, maplibregl.PointLike] | maplibregl.QueryRenderedFeaturesOptions | undefined, options?: maplibregl.QueryRenderedFeaturesOptions | undefined) => maplibregl.MapGeoJSONFeature[]" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3621,12 +3992,12 @@ "id": "def-common.Map.queryRenderedFeatures.$1", "type": "CompoundType", "tags": [], - "label": "geometry", + "label": "geometryOrOptions", "description": [ - "- The geometry of the query region:\neither a single point or southwest and northeast points describing a bounding box.\nOmitting this parameter (i.e. calling {@link MapqueryRenderedFeatures } with zero arguments,\nor with only a `options` argument) is equivalent to passing a bounding box encompassing the entire\nmap viewport." + "(optional) The geometry of the query region:\neither a single point or southwest and northeast points describing a bounding box.\nOmitting this parameter (i.e. calling {@link MapqueryRenderedFeatures } with zero arguments,\nor with only a `options` argument) is equivalent to passing a bounding box encompassing the entire\nmap viewport.\nThe geometryOrOptions can receive a QueryRenderedFeaturesOptions only to support a situation where the function receives only one parameter which is the options parameter." ], "signature": [ - "maplibregl.PointLike | [maplibregl.PointLike, maplibregl.PointLike] | undefined" + "maplibregl.PointLike | [maplibregl.PointLike, maplibregl.PointLike] | maplibregl.QueryRenderedFeaturesOptions | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3636,23 +4007,23 @@ { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map.queryRenderedFeatures.$2", - "type": "Any", + "type": "Object", "tags": [], "label": "options", "description": [ - "Options object." + "(optional) Options object." ], "signature": [ - "any" + "maplibregl.QueryRenderedFeaturesOptions | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [ - "An array of MapGeoJSONFeature objects.\n\nThe `properties` value of each returned feature object contains the properties of its source feature. For GeoJSON sources, only\nstring and numeric property values are supported (i.e. `null`, `Array`, and `Object` values are not supported).\n\nEach feature includes top-level `layer`, `source`, and `sourceLayer` properties. The `layer` property is an object\nrepresenting the style layer to which the feature belongs. Layout and paint properties in this object contain values\nwhich are fully evaluated for the given zoom level and feature.\n\nOnly features that are currently rendered are included. Some features will **not** be included, like:\n\n- Features from layers whose `visibility` property is `\"none\"`.\n- Features from layers whose zoom range excludes the current zoom level.\n- Symbol features that have been hidden due to text or icon collision.\n\nFeatures from all other layers are included, including features that may have no visible\ncontribution to the rendered result; for example, because the layer's opacity or color alpha component is set to\n0.\n\nThe topmost rendered feature appears first in the returned array, and subsequent features are sorted by\ndescending z-order. Features that are rendered multiple times (due to wrapping across the antimeridian at low\nzoom levels) are returned only once (though subject to the following caveat).\n\nBecause features come from tiled vector data or GeoJSON data that is converted to tiles internally, feature\ngeometries may be split or duplicated across tile boundaries and, as a result, features may appear multiple\ntimes in query results. For example, suppose there is a highway running through the bounding rectangle of a query.\nThe results of the query will be those parts of the highway that lie within the map tiles covering the bounding\nrectangle, even if the highway extends into other tiles, and the portion of the highway within each map tile\nwill be returned as a separate feature. Similarly, a point feature near a tile boundary may appear in multiple\ntiles due to tile buffering." + "An array of MapGeoJSONFeature objects.\n\nThe `properties` value of each returned feature object contains the properties of its source feature. For GeoJSON sources, only\nstring and numeric property values are supported (i.e. `null`, `Array`, and `Object` values are not supported).\n\nEach feature includes top-level `layer`, `source`, and `sourceLayer` properties. The `layer` property is an object\nrepresenting the style layer to which the feature belongs. Layout and paint properties in this object contain values\nwhich are fully evaluated for the given zoom level and feature.\n\nOnly features that are currently rendered are included. Some features will **not** be included, like:\n\n- Features from layers whose `visibility` property is `\"none\"`.\n- Features from layers whose zoom range excludes the current zoom level.\n- Symbol features that have been hidden due to text or icon collision.\n\nFeatures from all other layers are included, including features that may have no visible\ncontribution to the rendered result; for example, because the layer's opacity or color alpha component is set to\n0.\n\nThe topmost rendered feature appears first in the returned array, and subsequent features are sorted by\ndescending z-order. Features that are rendered multiple times (due to wrapping across the antemeridian at low\nzoom levels) are returned only once (though subject to the following caveat).\n\nBecause features come from tiled vector data or GeoJSON data that is converted to tiles internally, feature\ngeometries may be split or duplicated across tile boundaries and, as a result, features may appear multiple\ntimes in query results. For example, suppose there is a highway running through the bounding rectangle of a query.\nThe results of the query will be those parts of the highway that lie within the map tiles covering the bounding\nrectangle, even if the highway extends into other tiles, and the portion of the highway within each map tile\nwill be returned as a separate feature. Similarly, a point feature near a tile boundary may appear in multiple\ntiles due to tile buffering." ] }, { @@ -3665,7 +4036,7 @@ "\nReturns an array of MapGeoJSONFeature objects\nrepresenting features within the specified vector tile or GeoJSON source that satisfy the query parameters.\n" ], "signature": [ - "(sourceId: string, parameters?: { sourceLayer: string; filter: any[]; validate?: boolean | undefined; } | null | undefined) => maplibregl.MapGeoJSONFeature[]" + "(sourceId: string, parameters?: { sourceLayer?: string | undefined; filter?: maplibregl.FilterSpecification | undefined; validate?: boolean | undefined; } | null | undefined) => maplibregl.MapGeoJSONFeature[]" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3698,7 +4069,7 @@ "Options object." ], "signature": [ - "{ sourceLayer: string; filter: any[]; validate?: boolean | undefined; } | null | undefined" + "{ sourceLayer?: string | undefined; filter?: maplibregl.FilterSpecification | undefined; validate?: boolean | undefined; } | null | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3720,7 +4091,7 @@ "\nUpdates the map's MapLibre style object with a new value.\n\nIf a style is already set when this is used and options.diff is set to true, the map renderer will attempt to compare the given style\nagainst the map's current state and perform only the changes necessary to make the map style match the desired state. Changes in sprites\n(images used for icons and patterns) and glyphs (fonts for label text) **cannot** be diffed. If the sprites or fonts used in the current\nstyle and the given style are different in any way, the map renderer will force a full update, removing the current style and building\nthe given one from scratch.\n\n" ], "signature": [ - "(style: string | maplibregl.StyleSpecification | null, options?: ({ diff?: boolean | undefined; } & maplibregl.StyleOptions) | undefined) => this" + "(style: string | maplibregl.StyleSpecification | null, options?: (maplibregl.StyleSwapOptions & maplibregl.StyleOptions) | undefined) => this" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3733,7 +4104,7 @@ "tags": [], "label": "style", "description": [ - "A JSON object conforming to the schema described in the\n[MapLibre Style Specification](https://maplibre.org/maplibre-gl-js-docs/style-spec/), or a URL to such JSON." + "A JSON object conforming to the schema described in the\n[MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/), or a URL to such JSON." ], "signature": [ "string | maplibregl.StyleSpecification | null" @@ -3753,7 +4124,7 @@ "Options object." ], "signature": [ - "({ diff?: boolean | undefined; } & maplibregl.StyleOptions) | undefined" + "(maplibregl.StyleSwapOptions & maplibregl.StyleOptions) | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3843,7 +4214,7 @@ "label": "_updateStyle", "description": [], "signature": [ - "(style: string | maplibregl.StyleSpecification | null, options?: ({ diff?: boolean | undefined; } & maplibregl.StyleOptions) | undefined) => this" + "(style: string | maplibregl.StyleSpecification | null, options?: (maplibregl.StyleSwapOptions & maplibregl.StyleOptions) | undefined) => this" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3872,7 +4243,7 @@ "label": "options", "description": [], "signature": [ - "({ diff?: boolean | undefined; } & maplibregl.StyleOptions) | undefined" + "(maplibregl.StyleSwapOptions & maplibregl.StyleOptions) | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3906,7 +4277,7 @@ "label": "_diffStyle", "description": [], "signature": [ - "(style: string | maplibregl.StyleSpecification, options?: ({ diff?: boolean | undefined; } & maplibregl.StyleOptions) | undefined) => void" + "(style: string | maplibregl.StyleSpecification, options?: (maplibregl.StyleSwapOptions & maplibregl.StyleOptions) | undefined) => void" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3935,7 +4306,7 @@ "label": "options", "description": [], "signature": [ - "({ diff?: boolean | undefined; } & maplibregl.StyleOptions) | undefined" + "(maplibregl.StyleSwapOptions & maplibregl.StyleOptions) | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3953,7 +4324,7 @@ "label": "_updateDiff", "description": [], "signature": [ - "(style: maplibregl.StyleSpecification, options?: ({ diff?: boolean | undefined; } & maplibregl.StyleOptions) | undefined) => void" + "(style: maplibregl.StyleSpecification, options?: (maplibregl.StyleSwapOptions & maplibregl.StyleOptions) | undefined) => void" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -3982,7 +4353,7 @@ "label": "options", "description": [], "signature": [ - "({ diff?: boolean | undefined; } & maplibregl.StyleOptions) | undefined" + "(maplibregl.StyleSwapOptions & maplibregl.StyleOptions) | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -4075,7 +4446,7 @@ "tags": [], "label": "source", "description": [ - "The source object, conforming to the\nMapLibre Style Specification's [source definition](https://maplibre.org/maplibre-gl-js-docs/style-spec/#sources) or\n{@link CanvasSourceOptions }." + "The source object, conforming to the\nMapLibre Style Specification's [source definition](https://maplibre.org/maplibre-style-spec/#sources) or\n{@link CanvasSourceOptions }." ], "signature": [ "maplibregl.SourceSpecification" @@ -4128,6 +4499,64 @@ "A Boolean indicating whether the source is loaded." ] }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.setTerrain", + "type": "Function", + "tags": [], + "label": "setTerrain", + "description": [ + "\nLoads a 3D terrain mesh, based on a \"raster-dem\" source." + ], + "signature": [ + "(options: maplibregl.TerrainSpecification) => maplibregl.Map" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.setTerrain.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "Options object." + ], + "signature": [ + "maplibregl.TerrainSpecification" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "`this`" + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.getTerrain", + "type": "Function", + "tags": [], + "label": "getTerrain", + "description": [ + "\nGet the terrain-options if terrain is loaded" + ], + "signature": [ + "() => maplibregl.TerrainSpecification" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [ + "the TerrainSpecification passed to setTerrain" + ] + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map.areTilesLoaded", @@ -4230,7 +4659,7 @@ "\nRemoves a source from the map's style.\n" ], "signature": [ - "(id: string) => this" + "(id: string) => maplibregl.Map" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -4297,7 +4726,7 @@ } ], "returnComment": [ - "The style source with the specified ID or `undefined` if the ID\ncorresponds to no existing sources.\nThe shape of the object varies by source type.\nA list of options for each source type is available on the MapLibre Style Specification's\n[Sources](https://maplibre.org/maplibre-gl-js-docs/style-spec/sources/) page." + "The style source with the specified ID or `undefined` if the ID\ncorresponds to no existing sources.\nThe shape of the object varies by source type.\nA list of options for each source type is available on the MapLibre Style Specification's\n[Sources](https://maplibre.org/maplibre-style-spec/sources/) page." ] }, { @@ -4310,7 +4739,7 @@ ], "label": "addImage", "description": [ - "\nAdd an image to the style. This image can be displayed on the map like any other icon in the style's\nsprite using the image's ID with\n[`icon-image`](https://maplibre.org/maplibre-gl-js-docs/style-spec/#layout-symbol-icon-image),\n[`background-pattern`](https://maplibre.org/maplibre-gl-js-docs/style-spec/#paint-background-background-pattern),\n[`fill-pattern`](https://maplibre.org/maplibre-gl-js-docs/style-spec/#paint-fill-fill-pattern),\nor [`line-pattern`](https://maplibre.org/maplibre-gl-js-docs/style-spec/#paint-line-line-pattern).\nA {@link Map.event:error} event will be fired if there is not enough space in the sprite to add this image.\n" + "\nAdd an image to the style. This image can be displayed on the map like any other icon in the style's\nsprite using the image's ID with\n[`icon-image`](https://maplibre.org/maplibre-style-spec/#layout-symbol-icon-image),\n[`background-pattern`](https://maplibre.org/maplibre-style-spec/#paint-background-background-pattern),\n[`fill-pattern`](https://maplibre.org/maplibre-style-spec/#paint-fill-fill-pattern),\nor [`line-pattern`](https://maplibre.org/maplibre-style-spec/#paint-line-line-pattern).\nA {@link Map.event:error} event will be fired if there is not enough space in the sprite to add this image.\n" ], "signature": [ "(id: string, image: HTMLImageElement | ImageBitmap | ImageData | { width: number; height: number; data: Uint8Array | Uint8ClampedArray; } | maplibregl.StyleImageInterface, { pixelRatio, sdf, stretchX, stretchY, content }?: Partial | undefined) => this" @@ -4378,7 +4807,7 @@ "tags": [], "label": "updateImage", "description": [ - "\nUpdate an existing image in a style. This image can be displayed on the map like any other icon in the style's\nsprite using the image's ID with\n[`icon-image`](https://maplibre.org/maplibre-gl-js-docs/style-spec/#layout-symbol-icon-image),\n[`background-pattern`](https://maplibre.org/maplibre-gl-js-docs/style-spec/#paint-background-background-pattern),\n[`fill-pattern`](https://maplibre.org/maplibre-gl-js-docs/style-spec/#paint-fill-fill-pattern),\nor [`line-pattern`](https://maplibre.org/maplibre-gl-js-docs/style-spec/#paint-line-line-pattern).\n" + "\nUpdate an existing image in a style. This image can be displayed on the map like any other icon in the style's\nsprite using the image's ID with\n[`icon-image`](https://maplibre.org/maplibre-style-spec/#layout-symbol-icon-image),\n[`background-pattern`](https://maplibre.org/maplibre-style-spec/#paint-background-background-pattern),\n[`fill-pattern`](https://maplibre.org/maplibre-style-spec/#paint-fill-fill-pattern),\nor [`line-pattern`](https://maplibre.org/maplibre-style-spec/#paint-line-line-pattern).\n" ], "signature": [ "(id: string, image: HTMLImageElement | ImageBitmap | ImageData | maplibregl.StyleImageInterface | { width: number; height: number; data: Uint8Array | Uint8ClampedArray; }) => this" @@ -4424,6 +4853,44 @@ ], "returnComment": [] }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.getImage", + "type": "Function", + "tags": [], + "label": "getImage", + "description": [ + "\nReturns an image, specified by ID, currently available in the map.\nThis includes both images from the style's original sprite\nand any images that have been added at runtime using {@link Map#addImage}.\n" + ], + "signature": [ + "(id: string) => maplibregl.StyleImage" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.getImage.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "The ID of the image." + ], + "signature": [ + "string" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "An image in the map with the specified ID." + ] + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map.hasImage", @@ -4584,10 +5051,10 @@ ], "label": "addLayer", "description": [ - "\nAdds a [MapLibre style layer](https://maplibre.org/maplibre-gl-js-docs/style-spec/#layers)\nto the map's style.\n\nA layer defines how data from a specified source will be styled. Read more about layer types\nand available paint and layout properties in the [MapLibre Style Specification](https://maplibre.org/maplibre-gl-js-docs/style-spec/#layers).\n" + "\nAdds a [MapLibre style layer](https://maplibre.org/maplibre-style-spec/#layers)\nto the map's style.\n\nA layer defines how data from a specified source will be styled. Read more about layer types\nand available paint and layout properties in the [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/#layers).\n\nTODO: JSDoc can't pass @param {(LayerSpecification & {source?: string | SourceSpecification}) | CustomLayerInterface} layer The layer to add," ], "signature": [ - "(layer: maplibregl.LayerSpecification | maplibregl.CustomLayerInterface, beforeId?: string | undefined) => this" + "(layer: (maplibregl.LayerSpecification & { source?: string | maplibregl.SourceSpecification | undefined; }) | maplibregl.CustomLayerInterface, beforeId?: string | undefined) => this" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -4600,10 +5067,10 @@ "tags": [], "label": "layer", "description": [ - "The layer to add, conforming to either the MapLibre Style Specification's [layer definition](https://maplibre.org/maplibre-gl-js-docs/style-spec/#layers) or, less commonly, the {@link CustomLayerInterface } specification.\nThe MapLibre Style Specification's layer definition is appropriate for most layers." + "conforming to either the MapLibre Style Specification's [layer definition](https://maplibre.org/maplibre-style-spec/#layers) or,\nless commonly, the {@link CustomLayerInterface } specification.\nThe MapLibre Style Specification's layer definition is appropriate for most layers." ], "signature": [ - "maplibregl.LayerSpecification | maplibregl.CustomLayerInterface" + "(maplibregl.LayerSpecification & { source?: string | maplibregl.SourceSpecification | undefined; }) | maplibregl.CustomLayerInterface" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -4773,7 +5240,7 @@ "tags": [], "label": "setLayerZoomRange", "description": [ - "\nSets the zoom extent for the specified style layer. The zoom extent includes the\n[minimum zoom level](https://maplibre.org/maplibre-gl-js-docs/style-spec/#layer-minzoom)\nand [maximum zoom level](https://maplibre.org/maplibre-gl-js-docs/style-spec/#layer-maxzoom))\nat which the layer will be rendered.\n\nNote: For style layers using vector sources, style layers cannot be rendered at zoom levels lower than the\nminimum zoom level of the _source layer_ because the data does not exist at those zoom levels. If the minimum\nzoom level of the source layer is higher than the minimum zoom level defined in the style layer, the style\nlayer will not be rendered at all zoom levels in the zoom range.\n" + "\nSets the zoom extent for the specified style layer. The zoom extent includes the\n[minimum zoom level](https://maplibre.org/maplibre-style-spec/#layer-minzoom)\nand [maximum zoom level](https://maplibre.org/maplibre-style-spec/#layer-maxzoom))\nat which the layer will be rendered.\n\nNote: For style layers using vector sources, style layers cannot be rendered at zoom levels lower than the\nminimum zoom level of the _source layer_ because the data does not exist at those zoom levels. If the minimum\nzoom level of the source layer is higher than the minimum zoom level defined in the style layer, the style\nlayer will not be rendered at all zoom levels in the zoom range.\n" ], "signature": [ "(layerId: string, minzoom: number, maxzoom: number) => this" @@ -4880,7 +5347,7 @@ "tags": [], "label": "filter", "description": [ - "The filter, conforming to the MapLibre Style Specification's\n[filter definition](https://maplibre.org/maplibre-gl-js-docs/style-spec/layers/#filter). If `null` or `undefined` is provided, the function removes any existing filter from the layer." + "The filter, conforming to the MapLibre Style Specification's\n[filter definition](https://maplibre.org/maplibre-style-spec/layers/#filter). If `null` or `undefined` is provided, the function removes any existing filter from the layer." ], "signature": [ "maplibregl.FilterSpecification | null | undefined" @@ -5010,7 +5477,7 @@ "tags": [], "label": "value", "description": [ - "The value of the paint property to set.\nMust be of a type appropriate for the property, as defined in the [MapLibre Style Specification](https://maplibre.org/maplibre-gl-js-docs/style-spec/)." + "The value of the paint property to set.\nMust be of a type appropriate for the property, as defined in the [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/)." ], "signature": [ "any" @@ -5154,7 +5621,7 @@ "tags": [], "label": "value", "description": [ - "The value of the layout property. Must be of a type appropriate for the property, as defined in the [MapLibre Style Specification](https://maplibre.org/maplibre-gl-js-docs/style-spec/)." + "The value of the layout property. Must be of a type appropriate for the property, as defined in the [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/)." ], "signature": [ "any" @@ -5166,20 +5633,264 @@ }, { "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map.setLayoutProperty.$4", - "type": "Object", + "id": "def-common.Map.setLayoutProperty.$4", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "Options object." + ], + "signature": [ + "maplibregl.StyleSetterOptions | undefined" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "`this`" + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.getLayoutProperty", + "type": "Function", + "tags": [], + "label": "getLayoutProperty", + "description": [ + "\nReturns the value of a layout property in the specified style layer.\n" + ], + "signature": [ + "(layerId: string, name: string) => any" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.getLayoutProperty.$1", + "type": "string", + "tags": [], + "label": "layerId", + "description": [ + "The ID of the layer to get the layout property from." + ], + "signature": [ + "string" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.getLayoutProperty.$2", + "type": "string", + "tags": [], + "label": "name", + "description": [ + "The name of the layout property to get." + ], + "signature": [ + "string" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "The value of the specified layout property." + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.setGlyphs", + "type": "Function", + "tags": [], + "label": "setGlyphs", + "description": [ + "\nSets the value of the style's glyphs property.\n" + ], + "signature": [ + "(glyphsUrl: string | null, options?: maplibregl.StyleSetterOptions | undefined) => this" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.setGlyphs.$1", + "type": "CompoundType", + "tags": [], + "label": "glyphsUrl", + "description": [ + "Glyph URL to set. Must conform to the [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/glyphs/)." + ], + "signature": [ + "string | null" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.setGlyphs.$2", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "Options object." + ], + "signature": [ + "maplibregl.StyleSetterOptions | undefined" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "`this`" + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.getGlyphs", + "type": "Function", + "tags": [], + "label": "getGlyphs", + "description": [ + "\nReturns the value of the style's glyphs URL\n" + ], + "signature": [ + "() => string" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [ + "glyphs Style's glyphs url" + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.addSprite", + "type": "Function", + "tags": [ + "fires" + ], + "label": "addSprite", + "description": [ + "\nAdds a sprite to the map's style.\n" + ], + "signature": [ + "(id: string, url: string, options?: maplibregl.StyleSetterOptions | undefined) => this" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.addSprite.$1", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "The ID of the sprite to add. Must not conflict with existing sprites." + ], + "signature": [ + "string" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.addSprite.$2", + "type": "string", + "tags": [], + "label": "url", + "description": [ + "The URL to load the sprite from" + ], + "signature": [ + "string" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.addSprite.$3", + "type": "Object", + "tags": [], + "label": "options", + "description": [ + "Options object." + ], + "signature": [ + "maplibregl.StyleSetterOptions | undefined" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [ + "`this`" + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.removeSprite", + "type": "Function", + "tags": [ + "fires" + ], + "label": "removeSprite", + "description": [ + "\nRemoves the sprite from the map's style.\n" + ], + "signature": [ + "(id: string) => this" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.removeSprite.$1", + "type": "string", "tags": [], - "label": "options", + "label": "id", "description": [ - "Options object." + "The ID of the sprite to remove. If the sprite is declared as a single URL, the ID must be \"default\"." ], "signature": [ - "maplibregl.StyleSetterOptions | undefined" + "string" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "isRequired": true } ], "returnComment": [ @@ -5188,15 +5899,35 @@ }, { "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map.getLayoutProperty", + "id": "def-common.Map.getSprite", "type": "Function", "tags": [], - "label": "getLayoutProperty", + "label": "getSprite", "description": [ - "\nReturns the value of a layout property in the specified style layer.\n" + "\nReturns the as-is value of the style's sprite.\n" ], "signature": [ - "(layerId: string, name: string) => any" + "() => { id: string; url: string; }[]" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [ + "style's sprite url or a list of id-url pairs" + ] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.setSprite", + "type": "Function", + "tags": [], + "label": "setSprite", + "description": [ + "\nSets the value of the style's sprite property.\n" + ], + "signature": [ + "(spriteUrl: string | null, options?: maplibregl.StyleSetterOptions | undefined) => this" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -5204,41 +5935,41 @@ "children": [ { "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map.getLayoutProperty.$1", - "type": "string", + "id": "def-common.Map.setSprite.$1", + "type": "CompoundType", "tags": [], - "label": "layerId", + "label": "spriteUrl", "description": [ - "The ID of the layer to get the layout property from." + "Sprite URL to set." ], "signature": [ - "string" + "string | null" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false }, { "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map.getLayoutProperty.$2", - "type": "string", + "id": "def-common.Map.setSprite.$2", + "type": "Object", "tags": [], - "label": "name", + "label": "options", "description": [ - "The name of the layout property to get." + "Options object." ], "signature": [ - "string" + "maplibregl.StyleSetterOptions | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "isRequired": true + "isRequired": false } ], "returnComment": [ - "The value of the specified layout property." + "`this`" ] }, { @@ -5264,7 +5995,7 @@ "tags": [], "label": "light", "description": [ - "Light properties to set. Must conform to the [MapLibre Style Specification](https://maplibre.org/maplibre-gl-js-docs/style-spec/#light)." + "Light properties to set. Must conform to the [MapLibre Style Specification](https://maplibre.org/maplibre-style-spec/#light)." ], "signature": [ "maplibregl.LightSpecification" @@ -5325,7 +6056,7 @@ ], "label": "setFeatureState", "description": [ - "\nSets the `state` of a feature.\nA feature's `state` is a set of user-defined key-value pairs that are assigned to a feature at runtime.\nWhen using this method, the `state` object is merged with any existing key-value pairs in the feature's state.\nFeatures are identified by their `feature.id` attribute, which can be any number or string.\n\nThis method can only be used with sources that have a `feature.id` attribute. The `feature.id` attribute can be defined in three ways:\n- For vector or GeoJSON sources, including an `id` attribute in the original data file.\n- For vector or GeoJSON sources, using the [`promoteId`](https://maplibre.org/maplibre-gl-js-docs/style-spec/sources/#vector-promoteId) option at the time the source is defined.\n- For GeoJSON sources, using the [`generateId`](https://maplibre.org/maplibre-gl-js-docs/style-spec/sources/#geojson-generateId) option to auto-assign an `id` based on the feature's index in the source data. If you change feature data using `map.getSource('some id').setData(..)`, you may need to re-apply state taking into account updated `id` values.\n\n_Note: You can use the [`feature-state` expression](https://maplibre.org/maplibre-gl-js-docs/style-spec/expressions/#feature-state) to access the values in a feature's state object for the purposes of styling._\n" + "\nSets the `state` of a feature.\nA feature's `state` is a set of user-defined key-value pairs that are assigned to a feature at runtime.\nWhen using this method, the `state` object is merged with any existing key-value pairs in the feature's state.\nFeatures are identified by their `feature.id` attribute, which can be any number or string.\n\nThis method can only be used with sources that have a `feature.id` attribute. The `feature.id` attribute can be defined in three ways:\n- For vector or GeoJSON sources, including an `id` attribute in the original data file.\n- For vector or GeoJSON sources, using the [`promoteId`](https://maplibre.org/maplibre-style-spec/sources/#vector-promoteId) option at the time the source is defined.\n- For GeoJSON sources, using the [`generateId`](https://maplibre.org/maplibre-style-spec/sources/#geojson-generateId) option to auto-assign an `id` based on the feature's index in the source data. If you change feature data using `map.getSource('some id').setData(..)`, you may need to re-apply state taking into account updated `id` values.\n\n_Note: You can use the [`feature-state` expression](https://maplibre.org/maplibre-style-spec/expressions/#feature-state) to access the values in a feature's state object for the purposes of styling._\n" ], "signature": [ "(feature: maplibregl.FeatureIdentifier, state: any) => this" @@ -5431,7 +6162,7 @@ "tags": [], "label": "getFeatureState", "description": [ - "\nGets the `state` of a feature.\nA feature's `state` is a set of user-defined key-value pairs that are assigned to a feature at runtime.\nFeatures are identified by their `feature.id` attribute, which can be any number or string.\n\n_Note: To access the values in a feature's state object for the purposes of styling the feature, use the [`feature-state` expression](https://maplibre.org/maplibre-gl-js-docs/style-spec/expressions/#feature-state)._\n" + "\nGets the `state` of a feature.\nA feature's `state` is a set of user-defined key-value pairs that are assigned to a feature at runtime.\nFeatures are identified by their `feature.id` attribute, which can be any number or string.\n\n_Note: To access the values in a feature's state object for the purposes of styling the feature, use the [`feature-state` expression](https://maplibre.org/maplibre-style-spec/expressions/#feature-state)._\n" ], "signature": [ "(feature: maplibregl.FeatureIdentifier) => any" @@ -5560,6 +6291,70 @@ "children": [], "returnComment": [] }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._cooperativeGesturesOnWheel", + "type": "Function", + "tags": [], + "label": "_cooperativeGesturesOnWheel", + "description": [], + "signature": [ + "(event: WheelEvent) => void" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._cooperativeGesturesOnWheel.$1", + "type": "Object", + "tags": [], + "label": "event", + "description": [], + "signature": [ + "WheelEvent" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._setupCooperativeGestures", + "type": "Function", + "tags": [], + "label": "_setupCooperativeGestures", + "description": [], + "signature": [ + "() => void" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._destroyCooperativeGestures", + "type": "Function", + "tags": [], + "label": "_destroyCooperativeGestures", + "description": [], + "signature": [ + "() => void" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map._resizeCanvas", @@ -5734,6 +6529,68 @@ ], "returnComment": [] }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._onCooperativeGesture", + "type": "Function", + "tags": [], + "label": "_onCooperativeGesture", + "description": [], + "signature": [ + "(event: any, metaPress: any, touches: any) => boolean" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._onCooperativeGesture.$1", + "type": "Any", + "tags": [], + "label": "event", + "description": [], + "signature": [ + "any" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._onCooperativeGesture.$2", + "type": "Any", + "tags": [], + "label": "metaPress", + "description": [], + "signature": [ + "any" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map._onCooperativeGesture.$3", + "type": "Any", + "tags": [], + "label": "touches", + "description": [], + "signature": [ + "any" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map.loaded", @@ -5979,38 +6836,6 @@ "children": [], "returnComment": [] }, - { - "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map._onWindowResize", - "type": "Function", - "tags": [], - "label": "_onWindowResize", - "description": [], - "signature": [ - "(event: maplibregl.Event) => void" - ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map._onWindowResize.$1", - "type": "Object", - "tags": [], - "label": "event", - "description": [], - "signature": [ - "maplibregl.Event" - ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.Map.showTileBoundaries", @@ -6173,50 +6998,36 @@ }, { "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map._setCacheLimits", + "id": "def-common.Map.version", + "type": "string", + "tags": [], + "label": "version", + "description": [ + "\nReturns the package version of the library" + ], + "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/mapbox-gl", + "id": "def-common.Map.getCameraTargetElevation", "type": "Function", "tags": [], - "label": "_setCacheLimits", - "description": [], + "label": "getCameraTargetElevation", + "description": [ + "\nReturns the elevation for the point where the camera is looking.\nThis value corresponds to:\n\"meters above sea level\" * \"exaggeration\"" + ], "signature": [ - "(limit: number, checkThreshold: number) => void" + "() => number" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map._setCacheLimits.$1", - "type": "number", - "tags": [], - "label": "limit", - "description": [], - "signature": [ - "number" - ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "@kbn/mapbox-gl", - "id": "def-common.Map._setCacheLimits.$2", - "type": "number", - "tags": [], - "label": "checkThreshold", - "description": [], - "signature": [ - "number" - ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] + "children": [], + "returnComment": [ + "* The elevation." + ] } ], "initialIsOpen": false @@ -7794,7 +8605,7 @@ "\nCalled during a render frame allowing the layer to draw into the GL context.\n\nThe layer can assume blending and depth state is set to allow the layer to properly\nblend and clip other layers. The layer cannot make any other assumptions about the\ncurrent GL state.\n\nIf the layer needs to render to a texture, it should implement the `prerender` method\nto do this and only use the `render` method for drawing directly into the main framebuffer.\n\nThe blend function is set to `gl.blendFunc(gl.ONE, gl.ONE_MINUS_SRC_ALPHA)`. This expects\ncolors to be provided in premultiplied alpha form where the `r`, `g` and `b` values are already\nmultiplied by the `a` value. If you are unable to provide colors in premultiplied form you\nmay want to change the blend function to\n`gl.blendFuncSeparate(gl.SRC_ALPHA, gl.ONE_MINUS_SRC_ALPHA, gl.ONE, gl.ONE_MINUS_SRC_ALPHA)`.\n" ], "signature": [ - "(gl: WebGLRenderingContext, matrix: ", + "(gl: WebGLRenderingContext | WebGL2RenderingContext, matrix: ", "mat4", ") => void" ], @@ -7806,14 +8617,14 @@ { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.CustomLayerInterface.render.$1", - "type": "Object", + "type": "CompoundType", "tags": [], "label": "gl", "description": [ "The map's gl context." ], "signature": [ - "WebGLRenderingContext" + "WebGLRenderingContext | WebGL2RenderingContext" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -7873,7 +8684,7 @@ "\nOptional method called when the layer has been added to the Map with {@link Map#addLayer}. This\ngives the layer a chance to initialize gl resources and register event listeners.\n" ], "signature": [ - "((map: maplibregl.Map, gl: WebGLRenderingContext) => void) | undefined" + "((map: maplibregl.Map, gl: WebGLRenderingContext | WebGL2RenderingContext) => void) | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -7899,14 +8710,14 @@ { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.CustomLayerInterface.onAdd.$2", - "type": "Object", + "type": "CompoundType", "tags": [], "label": "gl", "description": [ "The gl context for the map." ], "signature": [ - "WebGLRenderingContext" + "WebGLRenderingContext | WebGL2RenderingContext" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -7931,7 +8742,7 @@ "\nOptional method called when the layer has been removed from the Map with {@link Map#removeLayer}. This\ngives the layer a chance to clean up gl resources and event listeners.\n" ], "signature": [ - "((map: maplibregl.Map, gl: WebGLRenderingContext) => void) | undefined" + "((map: maplibregl.Map, gl: WebGLRenderingContext | WebGL2RenderingContext) => void) | undefined" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -7957,14 +8768,14 @@ { "parentPluginId": "@kbn/mapbox-gl", "id": "def-common.CustomLayerInterface.onRemove.$2", - "type": "Object", + "type": "CompoundType", "tags": [], "label": "gl", "description": [ "The gl context for the map." ], "signature": [ - "WebGLRenderingContext" + "WebGLRenderingContext | WebGL2RenderingContext" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -7985,7 +8796,7 @@ "label": "MapSourceDataEvent", "description": [], "signature": [ - "maplibregl.MapSourceDataEvent extends maplibregl.MapLibreEvent" + "maplibregl.MapSourceDataEvent extends maplibregl.MapLibreEvent" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -8049,7 +8860,7 @@ "label": "sourceDataType", "description": [], "signature": [ - "\"metadata\" | \"content\"" + "\"metadata\" | \"content\" | \"visibility\" | \"idle\"" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -8602,9 +9413,9 @@ "label": "FilterSpecification", "description": [], "signature": [ - "[\"at\", number, (string | number)[]] | [\"get\", string, (Record | undefined)?] | [\"has\", string, (Record | undefined)?] | [\"in\", ...maplibregl.FilterSpecificationInputType[], maplibregl.FilterSpecificationInputType | maplibregl.FilterSpecificationInputType[]] | [\"index-of\", maplibregl.FilterSpecificationInputType, maplibregl.FilterSpecificationInputType | maplibregl.FilterSpecificationInputType[]] | [\"length\", string | string[]] | [\"slice\", string | string[], number] | [\"!\", maplibregl.FilterSpecification] | [\"!=\", string | maplibregl.FilterSpecification, maplibregl.FilterSpecificationInputType] | [\"<\", string | maplibregl.FilterSpecification, maplibregl.FilterSpecificationInputType] | [\"<=\", string | maplibregl.FilterSpecification, maplibregl.FilterSpecificationInputType] | [\"==\", string | maplibregl.FilterSpecification, maplibregl.FilterSpecificationInputType] | [\">\", string | maplibregl.FilterSpecification, maplibregl.FilterSpecificationInputType] | [\">=\", string | maplibregl.FilterSpecification, maplibregl.FilterSpecificationInputType] | [\"all\", ...maplibregl.FilterSpecification[], maplibregl.FilterSpecificationInputType] | [\"any\", ...maplibregl.FilterSpecification[], maplibregl.FilterSpecificationInputType] | [\"case\", ...maplibregl.FilterSpecification[], maplibregl.FilterSpecificationInputType] | [\"coalesce\", ...maplibregl.FilterSpecification[], maplibregl.FilterSpecificationInputType] | [\"match\", ...maplibregl.FilterSpecification[], maplibregl.FilterSpecificationInputType] | [\"within\", ...maplibregl.FilterSpecification[], maplibregl.FilterSpecificationInputType] | [\"!in\", ...maplibregl.FilterSpecification[], maplibregl.FilterSpecificationInputType] | [\"!has\", ...maplibregl.FilterSpecification[], maplibregl.FilterSpecificationInputType] | [\"none\", ...maplibregl.FilterSpecification[], maplibregl.FilterSpecificationInputType] | (string | maplibregl.FilterSpecification)[]" + "maplibregl.ExpressionFilterSpecification | maplibregl.LegacyFilterSpecification" ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "path": "node_modules/@maplibre/maplibre-gl-style-spec/dist/index.d.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -8619,7 +9430,7 @@ "signature": [ "maplibregl.FillLayerSpecification | maplibregl.LineLayerSpecification | maplibregl.SymbolLayerSpecification | maplibregl.CircleLayerSpecification | maplibregl.HeatmapLayerSpecification | maplibregl.FillExtrusionLayerSpecification | maplibregl.RasterLayerSpecification | maplibregl.HillshadeLayerSpecification | maplibregl.BackgroundLayerSpecification" ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "path": "node_modules/@maplibre/maplibre-gl-style-spec/dist/index.d.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -8632,7 +9443,7 @@ "label": "MapEvent", "description": [], "signature": [ - "\"error\" | \"remove\" | \"data\" | \"move\" | \"render\" | \"rotate\" | \"resize\" | \"zoom\" | \"idle\" | \"mousedown\" | \"mouseup\" | \"mouseover\" | \"mousemove\" | \"click\" | \"dblclick\" | \"mouseenter\" | \"mouseleave\" | \"mouseout\" | \"contextmenu\" | \"wheel\" | \"touchstart\" | \"touchend\" | \"touchmove\" | \"touchcancel\" | \"movestart\" | \"moveend\" | \"dragstart\" | \"drag\" | \"dragend\" | \"zoomstart\" | \"zoomend\" | \"rotatestart\" | \"rotateend\" | \"pitchstart\" | \"pitch\" | \"pitchend\" | \"boxzoomstart\" | \"boxzoomend\" | \"boxzoomcancel\" | \"webglcontextlost\" | \"webglcontextrestored\" | \"load\" | \"styledata\" | \"sourcedata\" | \"dataloading\" | \"styledataloading\" | \"sourcedataloading\" | \"styleimagemissing\" | \"style.load\" | \"dataabort\" | \"sourcedataabort\"" + "\"error\" | \"remove\" | \"data\" | \"move\" | \"render\" | \"rotate\" | \"resize\" | \"zoom\" | \"idle\" | \"mousedown\" | \"mouseup\" | \"mouseover\" | \"mousemove\" | \"click\" | \"dblclick\" | \"mouseenter\" | \"mouseleave\" | \"mouseout\" | \"contextmenu\" | \"wheel\" | \"touchstart\" | \"touchend\" | \"touchmove\" | \"touchcancel\" | \"movestart\" | \"moveend\" | \"dragstart\" | \"drag\" | \"dragend\" | \"zoomstart\" | \"zoomend\" | \"rotatestart\" | \"rotateend\" | \"pitchstart\" | \"pitch\" | \"pitchend\" | \"boxzoomstart\" | \"boxzoomend\" | \"boxzoomcancel\" | \"webglcontextlost\" | \"webglcontextrestored\" | \"load\" | \"styledata\" | \"sourcedata\" | \"dataloading\" | \"styledataloading\" | \"sourcedataloading\" | \"styleimagemissing\" | \"style.load\" | \"terrain\" | \"dataabort\" | \"sourcedataabort\"" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -8647,7 +9458,7 @@ "label": "MapGeoJSONFeature", "description": [], "signature": [ - "maplibregl.GeoJSONFeature & { layer: Omit & { source: string; }; source: string; sourceLayer?: string | undefined; state: { [key: string]: any; }; }" + "maplibregl.GeoJSONFeature & { layer: (Omit | Omit | Omit | Omit | Omit | Omit | Omit | Omit | Omit) & { source: string; }; source: string; sourceLayer?: string | undefined; state: { [key: string]: any; }; }" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -8677,7 +9488,7 @@ "label": "MapOptions", "description": [], "signature": [ - "{ hash?: string | boolean | undefined; interactive?: boolean | undefined; container: string | HTMLElement; bearingSnap?: number | undefined; attributionControl?: boolean | undefined; customAttribution?: string | string[] | undefined; maplibreLogo?: boolean | undefined; logoPosition?: maplibregl.ControlPosition | undefined; failIfMajorPerformanceCaveat?: boolean | undefined; preserveDrawingBuffer?: boolean | undefined; antialias?: boolean | undefined; refreshExpiredTiles?: boolean | undefined; maxBounds?: maplibregl.LngLatBoundsLike | undefined; scrollZoom?: boolean | undefined; minZoom?: number | null | undefined; maxZoom?: number | null | undefined; minPitch?: number | null | undefined; maxPitch?: number | null | undefined; boxZoom?: boolean | undefined; dragRotate?: boolean | undefined; dragPan?: boolean | maplibregl.DragPanOptions | undefined; keyboard?: boolean | undefined; doubleClickZoom?: boolean | undefined; touchZoomRotate?: boolean | undefined; touchPitch?: boolean | undefined; trackResize?: boolean | undefined; center?: maplibregl.LngLatLike | undefined; zoom?: number | undefined; bearing?: number | undefined; pitch?: number | undefined; renderWorldCopies?: boolean | undefined; maxTileCacheSize?: number | undefined; transformRequest?: maplibregl.RequestTransformFunction | undefined; locale?: any; fadeDuration?: number | undefined; crossSourceCollisions?: boolean | undefined; collectResourceTiming?: boolean | undefined; clickTolerance?: number | undefined; bounds?: maplibregl.LngLatBoundsLike | undefined; fitBoundsOptions?: Object | undefined; localIdeographFontFamily?: string | undefined; style: string | maplibregl.StyleSpecification; pitchWithRotate?: boolean | undefined; pixelRatio?: number | undefined; }" + "{ hash?: string | boolean | undefined; interactive?: boolean | undefined; container: string | HTMLElement; bearingSnap?: number | undefined; attributionControl?: boolean | undefined; customAttribution?: string | string[] | undefined; maplibreLogo?: boolean | undefined; logoPosition?: maplibregl.ControlPosition | undefined; failIfMajorPerformanceCaveat?: boolean | undefined; preserveDrawingBuffer?: boolean | undefined; antialias?: boolean | undefined; refreshExpiredTiles?: boolean | undefined; maxBounds?: maplibregl.LngLatBoundsLike | undefined; scrollZoom?: boolean | undefined; minZoom?: number | null | undefined; maxZoom?: number | null | undefined; minPitch?: number | null | undefined; maxPitch?: number | null | undefined; boxZoom?: boolean | undefined; dragRotate?: boolean | undefined; dragPan?: boolean | maplibregl.DragPanOptions | undefined; keyboard?: boolean | undefined; doubleClickZoom?: boolean | undefined; touchZoomRotate?: boolean | undefined; touchPitch?: boolean | undefined; cooperativeGestures?: boolean | maplibregl.GestureOptions | undefined; trackResize?: boolean | undefined; center?: maplibregl.LngLatLike | undefined; zoom?: number | undefined; bearing?: number | undefined; pitch?: number | undefined; renderWorldCopies?: boolean | undefined; maxTileCacheSize?: number | undefined; maxTileCacheZoomLevels?: number | undefined; transformRequest?: maplibregl.RequestTransformFunction | undefined; transformCameraUpdate?: maplibregl.CameraUpdateTransformFunction | undefined; locale?: any; fadeDuration?: number | undefined; crossSourceCollisions?: boolean | undefined; collectResourceTiming?: boolean | undefined; clickTolerance?: number | undefined; bounds?: maplibregl.LngLatBoundsLike | undefined; fitBoundsOptions?: Object | undefined; localIdeographFontFamily?: string | undefined; style: string | maplibregl.StyleSpecification; pitchWithRotate?: boolean | undefined; pixelRatio?: number | undefined; validateStyle?: boolean | undefined; }" ], "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", "deprecated": false, @@ -8729,7 +9540,7 @@ "signature": [ "maplibregl.VectorSourceSpecification | maplibregl.RasterSourceSpecification | maplibregl.RasterDEMSourceSpecification | maplibregl.GeoJSONSourceSpecification | maplibregl.VideoSourceSpecification | maplibregl.ImageSourceSpecification" ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "path": "node_modules/@maplibre/maplibre-gl-style-spec/dist/index.d.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -8742,9 +9553,9 @@ "label": "StyleSpecification", "description": [], "signature": [ - "{ version: 8; name?: string | undefined; metadata?: unknown; center?: number[] | undefined; zoom?: number | undefined; bearing?: number | undefined; pitch?: number | undefined; light?: maplibregl.LightSpecification | undefined; sources: { [_: string]: maplibregl.SourceSpecification; }; sprite?: string | undefined; glyphs?: string | undefined; transition?: maplibregl.TransitionSpecification | undefined; layers: maplibregl.LayerSpecification[]; }" + "{ version: 8; name?: string | undefined; metadata?: unknown; center?: number[] | undefined; zoom?: number | undefined; bearing?: number | undefined; pitch?: number | undefined; light?: maplibregl.LightSpecification | undefined; terrain?: maplibregl.TerrainSpecification | undefined; sources: { [_: string]: maplibregl.SourceSpecification; }; sprite?: maplibregl.SpriteSpecification | undefined; glyphs?: string | undefined; transition?: maplibregl.TransitionSpecification | undefined; layers: maplibregl.LayerSpecification[]; }" ], - "path": "node_modules/maplibre-gl/dist/maplibre-gl.d.ts", + "path": "node_modules/@maplibre/maplibre-gl-style-spec/dist/index.d.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index fc673c59774c1..d1eff1e738d5e 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 535 | 1 | 1 | 0 | +| 582 | 1 | 1 | 0 | ## Common diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index a86a3e534b28d..605c95dcb1f65 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-07-13 +date: 2023-07-17 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 bbecb363c4c0b..c3ed74b7455d5 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-07-13 +date: 2023-07-17 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 d9501d70b776d..28aafd2782590 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-07-13 +date: 2023-07-17 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.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index 1bcac30cc22c1..dd0b44e783e32 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 0c63383503aa8..f5ddfcdfe07c7 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index 0e1cbe2bd391b..265c9ce9f6ec5 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index f9c8492587760..49a4281d9df85 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 86e604497ce85..5ed1edf99def9 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-07-13 +date: 2023-07-17 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 1fb5ab2c0a2de..58c505966728e 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-07-13 +date: 2023-07-17 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 83c342d60dbea..39ea00e579fd0 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-07-13 +date: 2023-07-17 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 77e07817d5895..70b1446efdea8 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-07-13 +date: 2023-07-17 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 2c935765ea097..30ea0815fed9f 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-07-13 +date: 2023-07-17 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 2144f98fd58d5..3a9c51cd73353 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-07-13 +date: 2023-07-17 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 3abf4bbe78ab3..23b66e071b32f 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-07-13 +date: 2023-07-17 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 d9e8b8af66924..dc05d17264e07 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-07-13 +date: 2023-07-17 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 785febc254310..fb5a0f669a613 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-07-13 +date: 2023-07-17 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 c3218ffa1fcd2..5d5ab41143b7a 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index 8142a24c14ea0..bdd9afeb4f821 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index ece0bfda7c59c..b2181427c925a 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-07-13 +date: 2023-07-17 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 899dce7caf674..009bc6bedbcab 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-07-13 +date: 2023-07-17 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 4d13d0412addd..d3d34e8315cd3 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-07-13 +date: 2023-07-17 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 d1cfa0d7e5e93..ff17a3860cf69 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-07-13 +date: 2023-07-17 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 728e2a7adab86..2c80d0b676f35 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-07-13 +date: 2023-07-17 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 b4e10cc02478c..c2673398e8218 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-07-13 +date: 2023-07-17 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 7ef35894ecaf9..20f0cb7b0aad2 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-07-13 +date: 2023-07-17 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 647b916fe560b..4d9a23b650a56 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-07-13 +date: 2023-07-17 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 5a32b074bd17b..f1145ffc08562 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-07-13 +date: 2023-07-17 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 74788a1d1c89a..611e5348ece99 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-07-13 +date: 2023-07-17 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 e4da13b92e275..e0f40bdeaf011 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-07-13 +date: 2023-07-17 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 8cd929feffec1..580c4391bd2bc 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-07-13 +date: 2023-07-17 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 233428680703f..de4cf92a8a833 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-07-13 +date: 2023-07-17 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 bc9790cf70a50..e820e851dda0f 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-07-13 +date: 2023-07-17 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 c1c3de99b4d47..26d80102cdeea 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-07-13 +date: 2023-07-17 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 6658dd54172ed..7aee8326b2bc6 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-07-13 +date: 2023-07-17 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 7333352bd4b65..6772965bf0df1 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-07-13 +date: 2023-07-17 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 810724ceca4bf..75c5ad3ee2dba 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-07-13 +date: 2023-07-17 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 784f41aaa4b76..bb5654511879c 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-07-13 +date: 2023-07-17 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 d72adf744eb98..179f8f7b444bc 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index e7ff61a0c624a..cbc59d77fca5d 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index 5c2f2a0557551..f41fd2f1b4be9 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-07-13 +date: 2023-07-17 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 a636f200c9bea..29a889201a78d 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-07-13 +date: 2023-07-17 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 ceb49813fad22..3476c134623da 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-07-13 +date: 2023-07-17 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 a0376092022b2..0da796d925683 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-07-13 +date: 2023-07-17 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 4539dc7aa6b85..36eeabd32a4e8 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 885b14f6806e4..560890284bc1a 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-07-13 +date: 2023-07-17 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 b70d56b389188..1060134fb9595 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-07-13 +date: 2023-07-17 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 12775e6d70cae..0748044f8d4c2 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-07-13 +date: 2023-07-17 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 9a0de2dab7a4b..9ca56c6b2fc54 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-07-13 +date: 2023-07-17 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 25b206ca64627..df3aba3de7242 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-07-13 +date: 2023-07-17 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 9e856adc8569b..468522c65b910 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-07-13 +date: 2023-07-17 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 5694e12a7a9fc..ee3c0f1e0cb87 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-07-13 +date: 2023-07-17 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 4f723ae1661e6..ffcf0d8ae161b 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-07-13 +date: 2023-07-17 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 18a0dfb4aeead..f569eddbc3ded 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-07-13 +date: 2023-07-17 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 875ddb0081c96..4eca94fd4ade3 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-07-13 +date: 2023-07-17 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 07cd55fc531ce..a68878d550be1 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-07-13 +date: 2023-07-17 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 0ef68983298bd..c33aefceb8e4e 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-07-13 +date: 2023-07-17 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 c8041592b14f9..1f569fd4de117 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-07-13 +date: 2023-07-17 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 0a655ad808183..3962eba06a47e 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-07-13 +date: 2023-07-17 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 0757e0dceb14c..74a10434f708f 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-07-13 +date: 2023-07-17 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 b7c63171a152d..7bf7b3a768d91 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-07-13 +date: 2023-07-17 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 b018b1732de98..76098ddd99903 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-07-13 +date: 2023-07-17 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 9b388a02d86cb..65e2d2a59c9a7 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-07-13 +date: 2023-07-17 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 8f7e62fc55188..a9671ede39224 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-07-13 +date: 2023-07-17 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 2d17a8a632883..bfdcd1bbea1ea 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-07-13 +date: 2023-07-17 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 99e2db0f3160c..d6be82f6e9359 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-07-13 +date: 2023-07-17 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 54672c1714b13..044c70130bacd 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-07-13 +date: 2023-07-17 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 77fea53183751..e506e7a253c7c 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-07-13 +date: 2023-07-17 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 a6bf5f990572c..bd850a6c82caa 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-07-13 +date: 2023-07-17 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 114a459b3752b..3260506810f2f 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-07-13 +date: 2023-07-17 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 3ee3d134dcf75..4ce43901a3409 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-07-13 +date: 2023-07-17 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 abf38d393c0b4..9fc0cb8b72ed4 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-07-13 +date: 2023-07-17 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 a89f4255c17ee..59783aa35bad1 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-07-13 +date: 2023-07-17 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 ce5979542650b..9c8ad1eec44d3 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-07-13 +date: 2023-07-17 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 32cde58c6761e..0f52b82779786 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-07-13 +date: 2023-07-17 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 81bb74262835f..6326bb49aa371 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-07-13 +date: 2023-07-17 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 2cb5705f96c47..90a68a0c40d40 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-07-13 +date: 2023-07-17 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 e9a9f78367f15..a10d1c87ec916 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-07-13 +date: 2023-07-17 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 4f767fecb13d2..56c6e23161b5e 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-07-13 +date: 2023-07-17 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 e6afbaff0894e..1f82c03301a38 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-07-13 +date: 2023-07-17 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 a3b4ed8f9caf5..0bfde07207e1a 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-07-13 +date: 2023-07-17 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 2d1b0261a4e46..6f015e59f4dbc 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-07-13 +date: 2023-07-17 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 c7b530611a172..d6fe89872432d 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-07-13 +date: 2023-07-17 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 e38ea0f4d2a21..6a163c6a26a22 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-07-13 +date: 2023-07-17 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 e2839dfa0304f..e065313f87f48 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-07-13 +date: 2023-07-17 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 fcd56da985b5b..1d08690b724fc 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-07-13 +date: 2023-07-17 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 17aa748038269..97720d9d6f4c0 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-07-13 +date: 2023-07-17 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 fb5aca4efd734..e5cd5f9fe9168 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-07-13 +date: 2023-07-17 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 026391b6489a8..ba28191868925 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-07-13 +date: 2023-07-17 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 97d124ede683c..65200ba5e7f7d 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-07-13 +date: 2023-07-17 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 10a594f474cb3..f5c8505c61f66 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-07-13 +date: 2023-07-17 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 480582c9c0545..e2d0b70b24bbd 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-07-13 +date: 2023-07-17 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 141fc7208768b..0a49cf68771f7 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-07-13 +date: 2023-07-17 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 3215f62423d07..75cc5671597b0 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-07-13 +date: 2023-07-17 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 a637490c86a42..bdea0e14b4349 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-07-13 +date: 2023-07-17 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 dcd97d6c20ccd..f2f3734661e0a 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-07-13 +date: 2023-07-17 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 43dccbd629075..d0b904ba1d0e9 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-07-13 +date: 2023-07-17 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 fb77719b003db..2c993c7d0776c 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-07-13 +date: 2023-07-17 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 b4fdc12475fa1..9682b4a621435 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-07-13 +date: 2023-07-17 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 2dabb3198cedc..d7b54645461e6 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-07-13 +date: 2023-07-17 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 73053cd61cfb6..5a517c6943784 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-07-13 +date: 2023-07-17 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 4d69155a02948..660027368a5be 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-07-13 +date: 2023-07-17 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 53a74ba6dd18b..d4dcddadd4410 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-07-13 +date: 2023-07-17 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 491ba1f9af335..a2d1a6892f11a 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-07-13 +date: 2023-07-17 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 62c3cffc305fc..f498d12560b4c 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-07-13 +date: 2023-07-17 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 07639400b0ad7..3687903e988cf 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-07-13 +date: 2023-07-17 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 b7ba87842af49..3f4b246c65de3 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-07-13 +date: 2023-07-17 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 343af9613a61d..c21862f0592a8 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-07-13 +date: 2023-07-17 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 79305962e8dcf..ce769543fdcf5 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-07-13 +date: 2023-07-17 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 9c624d2380994..018f9d0b70b79 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-07-13 +date: 2023-07-17 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 7ae9a275e5b5d..b44d06615fed1 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-07-13 +date: 2023-07-17 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 eca9ba76ef2f7..2db5d2ad29d8f 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-07-13 +date: 2023-07-17 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 7f3b985dbe059..7c910c5bf6800 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-07-13 +date: 2023-07-17 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 35d572059c064..21e009f90f23b 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-07-13 +date: 2023-07-17 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 d6ab9ab98811b..72b2e68a6b69e 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index e44107e495e30..eb2ea8b9f310e 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index c1d1de4a2cc04..10d019cf39351 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-07-13 +date: 2023-07-17 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 f063dac793e87..f12488980dcd0 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-07-13 +date: 2023-07-17 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 b368d6ec4e376..3df6a371d389a 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-07-13 +date: 2023-07-17 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 70d0db96c3311..33202d0f82205 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-07-13 +date: 2023-07-17 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 5c3ddc31c90fc..130963e2b578b 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-07-13 +date: 2023-07-17 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 1212104b10bb7..975dcdb157dc1 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 4c13704fcd0ef..b231cd5396a5d 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_url_state.mdx b/api_docs/kbn_url_state.mdx index 4bdfc660a9a58..8940908d88b7b 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-07-13 +date: 2023-07-17 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 e7cae18b0eecc..9330b650be011 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-07-13 +date: 2023-07-17 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 72ceda2db5052..07f2e11fc8059 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-07-13 +date: 2023-07-17 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.devdocs.json b/api_docs/kbn_utility_types_jest.devdocs.json index 78dfcb9ccd830..9d6394e780ac4 100644 --- a/api_docs/kbn_utility_types_jest.devdocs.json +++ b/api_docs/kbn_utility_types_jest.devdocs.json @@ -38,7 +38,7 @@ "section": "def-common.DeeplyMockedKeys", "text": "DeeplyMockedKeys" }, - "[] : T[P] extends (...args: any[]) => any ? jest.MockInstance, Parameters> : T[P] extends object ? ", + "[] : T[P] extends (...args: any[]) => any ? jest.MockInstance, Parameters, any> : T[P] extends object ? ", { "pluginId": "@kbn/utility-types-jest", "scope": "common", diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 1cb6601c5db39..37fac862d22c4 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-07-13 +date: 2023-07-17 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 075363f2e0493..c9995db7527c0 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-07-13 +date: 2023-07-17 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 8c2e7a5ea10cc..ac4d84753235a 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-07-13 +date: 2023-07-17 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 af3b7fc437e7d..da4ca406160a0 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-07-13 +date: 2023-07-17 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 933eda3214780..fba13ec85cccf 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-07-13 +date: 2023-07-17 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 6bf1ac27b6a18..fd2d62f34874d 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-07-13 +date: 2023-07-17 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 16ee3e3135026..fed7c282611e3 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 7c52c43f688a9..9784a5c315fc2 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index eb710a14eaa0c..4d69bb1383c38 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-07-13 +date: 2023-07-17 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 b06b88ff69665..b15543a1cbde5 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-07-13 +date: 2023-07-17 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 d6572e6a9c38d..37ea35b118b51 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-07-13 +date: 2023-07-17 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 ff500acacf24d..a4a114d004b2f 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index f68a42a3f1a82..e157d599f36d1 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 25b32806db246..61df6e5780206 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.devdocs.json b/api_docs/maps.devdocs.json index 0d1caee4a2f12..e732667d42150 100644 --- a/api_docs/maps.devdocs.json +++ b/api_docs/maps.devdocs.json @@ -1813,7 +1813,7 @@ "label": "mbFeature", "description": [], "signature": [ - "maplibregl.GeoJSONFeature & { layer: Omit & { source: string; }; source: string; sourceLayer?: string | undefined; state: { [key: string]: any; }; }" + "maplibregl.GeoJSONFeature & { layer: (Omit | Omit | Omit | Omit | Omit | Omit | Omit | Omit | Omit) & { source: string; }; source: string; sourceLayer?: string | undefined; state: { [key: string]: any; }; }" ], "path": "x-pack/plugins/maps/public/classes/sources/vector_source/vector_source.tsx", "deprecated": false, diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index ba510fb321033..965bac3680e57 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-07-13 +date: 2023-07-17 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 b1b0cff46c80e..b23780648b12c 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-07-13 +date: 2023-07-17 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 a5009bc5f8ab4..8e1eeb7a455cb 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-07-13 +date: 2023-07-17 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 25e658d0cdea5..d6caaa87d96f7 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-07-13 +date: 2023-07-17 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 2895b11aa7944..67837062e2b56 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-07-13 +date: 2023-07-17 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 4359363eadcee..5740f6e2b9ae5 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-07-13 +date: 2023-07-17 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 24f359134dabd..d9b1f41a9f811 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-07-13 +date: 2023-07-17 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 46a00d26058b7..33f75b3d24eb0 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index 9ebbe4bbd0855..ec1e5f0bbe268 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -4426,7 +4426,7 @@ "label": "createOrUpdateIndex", "description": [], "signature": [ - "({\n index,\n mappings,\n client,\n logger,\n}: { index: string; mappings: ", + "({\n index,\n mappings,\n settings,\n client,\n logger,\n}: { index: string; mappings: ", "MappingTypeMapping", " & { date_detection?: boolean | undefined; dynamic?: ", "MappingDynamicMapping", @@ -4446,7 +4446,9 @@ "MappingSourceField", " | undefined; runtime?: ", "MappingRuntimeFields", - " | undefined; }; client: ", + " | undefined; }; settings?: ", + "IndicesIndexSettings", + " | undefined; client: ", { "pluginId": "@kbn/core-elasticsearch-server", "scope": "common", @@ -4473,7 +4475,7 @@ "id": "def-server.createOrUpdateIndex.$1", "type": "Object", "tags": [], - "label": "{\n index,\n mappings,\n client,\n logger,\n}", + "label": "{\n index,\n mappings,\n settings,\n client,\n logger,\n}", "description": [], "path": "x-pack/plugins/observability/server/utils/create_or_update_index.ts", "deprecated": false, @@ -4523,6 +4525,21 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "observability", + "id": "def-server.createOrUpdateIndex.$1.settings", + "type": "CompoundType", + "tags": [], + "label": "settings", + "description": [], + "signature": [ + "IndicesIndexSettings", + " | undefined" + ], + "path": "x-pack/plugins/observability/server/utils/create_or_update_index.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "observability", "id": "def-server.createOrUpdateIndex.$1.client", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index f76c3118e482a..e59a0e443235a 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/actionable-observability](https://github.com/orgs/elastic/team | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 523 | 45 | 515 | 19 | +| 524 | 45 | 516 | 19 | ## Client diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index 990ec4a27e661..ccf60fd0223d5 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-07-13 +date: 2023-07-17 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 4d1731e7bd057..415208fcbdd29 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-07-13 +date: 2023-07-17 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 23e8f17609ec5..078d31769dc0e 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-07-13 +date: 2023-07-17 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 2087fa4505c69..d6ca5aa0e0d92 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -21,7 +21,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 71411 | 554 | 61222 | 1455 | +| 71445 | 552 | 61202 | 1455 | ## Plugin Directory @@ -38,7 +38,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds Canvas application to Kibana | 9 | 0 | 8 | 3 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | The Case management system in Kibana | 80 | 0 | 65 | 27 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 268 | 16 | 253 | 10 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 54 | 0 | 12 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 61 | 0 | 13 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Chat available on Elastic Cloud deployments for quicker assistance. | 3 | 0 | 2 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | This plugin exists as a workaround for using `cloudChat` plugin in plugins which can't have a direct dependency on security plugin. | 5 | 0 | 5 | 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 | @@ -94,7 +94,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) | - | 1179 | 3 | 1063 | 39 | +| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1180 | 3 | 1064 | 39 | | 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 | @@ -132,7 +132,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 34 | 0 | 34 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | -| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 523 | 45 | 515 | 19 | +| | [@elastic/actionable-observability](https://github.com/orgs/elastic/teams/actionable-observability) | - | 524 | 45 | 516 | 19 | | | [@elastic/apm-ui](https://github.com/orgs/elastic/teams/apm-ui) | - | 7 | 0 | 7 | 0 | | | [@elastic/observability-ui](https://github.com/orgs/elastic/teams/observability-ui) | - | 268 | 1 | 267 | 11 | | | [@elastic/security-defend-workflows](https://github.com/orgs/elastic/teams/security-defend-workflows) | - | 24 | 0 | 24 | 7 | @@ -429,11 +429,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 19 | 0 | 11 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 35125 | 0 | 34718 | 0 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 13 | 2 | 5 | 0 | -| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 84 | 4 | 65 | 3 | +| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 64 | 2 | 45 | 3 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 4 | 0 | 4 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 27 | 0 | 14 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 3 | 0 | -| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 255 | 1 | 197 | 15 | +| | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 253 | 1 | 194 | 15 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 12 | 0 | 12 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 1 | 0 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 33 | 0 | 13 | 3 | @@ -466,7 +466,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 6 | 0 | 1 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 10 | 0 | 10 | 1 | | | [@elastic/platform-deployment-management](https://github.com/orgs/elastic/teams/platform-deployment-management) | - | 2 | 0 | 0 | 0 | -| | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 535 | 1 | 1 | 0 | +| | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 582 | 1 | 1 | 0 | | | [@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) | - | 96 | 2 | 61 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 206 | 3 | 1 | 0 | diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 49f0c03deeef3..ded5a3ba3d673 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-07-13 +date: 2023-07-17 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 c8405b2fe7624..e3b66ea910ab7 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-07-13 +date: 2023-07-17 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 061a36c113752..f43e8d469ccf7 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-07-13 +date: 2023-07-17 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 dddc7f18da556..36307f79a24f7 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/reporting_export_types.mdx b/api_docs/reporting_export_types.mdx index 16234f5dcfed5..181fb399e36d1 100644 --- a/api_docs/reporting_export_types.mdx +++ b/api_docs/reporting_export_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reportingExportTypes title: "reportingExportTypes" image: https://source.unsplash.com/400x175/?github description: API docs for the reportingExportTypes plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reportingExportTypes'] --- import reportingExportTypesObj from './reporting_export_types.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 0a3db73eafdf9..54f087daafead 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-07-13 +date: 2023-07-17 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 61515ec3d047e..e3b0c762c4b8d 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-07-13 +date: 2023-07-17 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 2342963090b61..6592ab913b2d6 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 03793085a0211..548e5115137af 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 4f598934611c0..609bd130eb1ce 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-07-13 +date: 2023-07-17 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 223c08a8743e6..9d7469e6dc6de 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-07-13 +date: 2023-07-17 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 e6407d095fc21..68808e97c87f9 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index d1897434ad5c0..fa86feb77e613 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-07-13 +date: 2023-07-17 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 ac1c308212638..669780bd8e901 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-07-13 +date: 2023-07-17 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 5032c2b053104..6876a95e05d29 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-07-13 +date: 2023-07-17 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 4b818560f503b..b9622d8e77209 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-07-13 +date: 2023-07-17 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 3c50b8d179486..63b1850045c63 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-07-13 +date: 2023-07-17 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 77d36124df657..17c95ad2b3c73 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 1b7fce653f9f7..968a38b727cc7 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index c9337918d58a6..32c30210a2514 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2023-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index d40fc8030bf48..73090305124c5 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-07-13 +date: 2023-07-17 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 d82d3853bce7e..ae0a7c7d1c076 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-07-13 +date: 2023-07-17 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 a12f9ba939189..e03812c429ebb 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index b6ca98f304703..06ff8c1ea8b72 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-07-13 +date: 2023-07-17 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 fb892b7ebdfc9..d50a4798848f4 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-07-13 +date: 2023-07-17 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 42591a87924c2..01f0f504dc321 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-07-13 +date: 2023-07-17 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 2c94c5d9f6563..cf1da9f45e88f 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-07-13 +date: 2023-07-17 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 c213ec844b5c6..7b8894cdc1c4a 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-07-13 +date: 2023-07-17 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 8c57463b3e055..1a7bed4a20f29 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-07-13 +date: 2023-07-17 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 061c24ef96aab..51ed607978766 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-07-13 +date: 2023-07-17 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 3f2282a2ffdfb..b6c5f6b34fb6c 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-07-13 +date: 2023-07-17 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 49e31055ef1a5..928a5a8180957 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-07-13 +date: 2023-07-17 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 2b84aa0283f5c..d7379aaa0e6e6 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-07-13 +date: 2023-07-17 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 fb01126495d91..1f961fbbbc15b 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index bcadda5438b28..6d68ac1c85e7d 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index 12787cbd4c58d..f9c843103f1ba 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index 973b24abe99c0..dfee7b0572147 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index e4c4abf691016..e4ec13e628739 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-07-13 +date: 2023-07-17 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 1792595ad4f40..d6c3cd9940b04 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-07-13 +date: 2023-07-17 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 dce96e9772ddd..24381d95a0f9b 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-07-13 +date: 2023-07-17 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 17921994ae1bb..49b31c31578f3 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index 9e5b5727e1bf2..e184723036da4 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-07-13 +date: 2023-07-17 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 3e9167cd28b7f..fe1fd966de53e 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-07-13 +date: 2023-07-17 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 8017ee0e95482..b141c17828df1 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-07-13 +date: 2023-07-17 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 8b100c53b3ff9..632c949473e1a 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-07-13 +date: 2023-07-17 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 dedf029870088..bc69a2cbece52 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-07-13 +date: 2023-07-17 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 2e99c7ee0c07d..4fc334752311d 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-07-13 +date: 2023-07-17 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 c0c55190c4e05..118e1d29d5bd4 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-07-13 +date: 2023-07-17 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 cbfcac5112433..b794c95d7afd8 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-07-13 +date: 2023-07-17 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 df168319a6c13..fd70311bfaf02 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-07-13 +date: 2023-07-17 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 73460fcfec095..e1ccbedaed3bb 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-07-13 +date: 2023-07-17 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 386fa54ce0052..23f1a6424cdcb 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-07-13 +date: 2023-07-17 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 ab870cd028706..2785ee2bedaa8 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-07-13 +date: 2023-07-17 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 e023f80fd1104..69e8881987b5f 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-07-13 +date: 2023-07-17 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 19138351e80eb..97a4281752cda 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-07-13 +date: 2023-07-17 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 c7fb5de6aa6f0..5c43468aa0f60 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-07-13 +date: 2023-07-17 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 3680e6bab24c7..dcd788a7616da 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-07-13 +date: 2023-07-17 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 ec276480b309e..3beaac9d9d08e 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-07-13 +date: 2023-07-17 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 12793958e55cc..85f08cb6f5b4a 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-07-13 +date: 2023-07-17 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/config/serverless.oblt.yml b/config/serverless.oblt.yml index 9f34fb10898a6..2928e75095897 100644 --- a/config/serverless.oblt.yml +++ b/config/serverless.oblt.yml @@ -35,6 +35,7 @@ xpack.apm.featureFlags.infraUiAvailable: false xpack.apm.featureFlags.migrationToFleetAvailable: false xpack.apm.featureFlags.sourcemapApiAvailable: false xpack.apm.featureFlags.storageExplorerAvailable: false +xpack.apm.featureFlags.fastRefreshAvailable: true # Specify in telemetry the project type telemetry.labels.serverless: observability diff --git a/config/serverless.yml b/config/serverless.yml index ea2d93a5d3c48..0e616a97177c6 100644 --- a/config/serverless.yml +++ b/config/serverless.yml @@ -72,5 +72,8 @@ server.versioned.strictClientVersionCheck: false xpack.spaces.maxSpaces: 1 xpack.spaces.allowFeatureVisibility: false +# Only display console autocomplete suggestions for ES endpoints that are available in serverless +console.autocompleteDefinitions.endpointsAvailability: serverless + # Allow authentication via the Elasticsearch JWT realm with the `shared_secret` client authentication type. elasticsearch.requestHeadersWhitelist: ["authorization", "es-client-authentication"] diff --git a/docs/management/advanced-options.asciidoc b/docs/management/advanced-options.asciidoc index cd9ce5ca17909..85d6d940a8793 100644 --- a/docs/management/advanced-options.asciidoc +++ b/docs/management/advanced-options.asciidoc @@ -393,6 +393,26 @@ value is 10000. [[apm-enable-service-overview]]`apm:enableServiceOverview`:: When enabled, displays the *Overview* tab for services in *APM*. +[[apm-agent-explorer]]`observability:apmAgentExplorerView`:: +beta:[] Enables the Agent explorer view. + +[[apm-aws-price]]`observability:apmAWSLambdaPriceFactor`:: +Set the price per Gb-second for your AWS Lambda functions. + +[[apm-aws-request]]`observability:apmAWSLambdaRequestCostPerMillion`:: +Set the AWS Lambda cost per million requests. + +[[apm-continuous-rollups]]`observability:apmEnableContinuousRollups`:: +beta:[] When continuous rollups is enabled, the UI will select metrics with the appropriate resolution. +On larger time ranges, lower resolution metrics will be used, which will improve loading times. + +[[apm-enable-service-metrics]]`observability:apmEnableServiceMetrics`:: +beta:[] Enables the usage of service transaction metrics, which are low cardinality metrics that can be used by certain views like the service inventory for faster loading times. + +[[observability-apm-labs]]`observability:apmLabsButton`:: +Enable or disable the APM Labs button -- a quick way to enable and disable technical preview features in APM. +See <> to learn more. + [[observability-apm-critical-path]]`observability:apmEnableCriticalPath`:: When enabled, displays the critical path of a trace. @@ -401,9 +421,15 @@ preview:[] When enabled, uses progressive loading of some APM views. Data may be requested with a lower sampling rate first, with lower accuracy but faster response times, while the unsampled data loads in the background. +[[observability-apm-max-groups]]`observability:apmServiceGroupMaxNumberOfServices`:: +Limit the number of services in a given service group. + [[observability-apm-optimized-sort]]`observability:apmServiceInventoryOptimizedSorting`:: preview:[] Sorts services without anomaly detection rules on the APM Service inventory page by service name. +[[observability-default-service-env]]`observability:apmDefaultServiceEnvironment`:: +Set the default environment for the APM app. When left empty, data from all environments will be displayed by default. + [[observability-enable-aws-lambda-metrics]]`observability:enableAwsLambdaMetrics`:: preview:[] Display Amazon Lambda metrics in the service metrics tab. diff --git a/docs/settings/apm-settings.asciidoc b/docs/settings/apm-settings.asciidoc index 50d0fa2032ac3..05d8cc35f1cde 100644 --- a/docs/settings/apm-settings.asciidoc +++ b/docs/settings/apm-settings.asciidoc @@ -43,6 +43,7 @@ If you'd like to change any of the default values, copy and paste the relevant settings into your `kibana.yml` configuration file. Changing these settings may disable features of the APM App. +TIP: More settings are available in the <>. `xpack.apm.maxSuggestions` {ess-icon}:: Maximum number of suggestions fetched in autocomplete selection boxes. Defaults to `100`. diff --git a/fleet_packages.json b/fleet_packages.json index 29b4baa91d299..09ae71cba4588 100644 --- a/fleet_packages.json +++ b/fleet_packages.json @@ -58,6 +58,6 @@ }, { "name": "security_detection_engine", - "version": "8.9.1" + "version": "8.9.2" } ] \ No newline at end of file diff --git a/package.json b/package.json index 88c4458833292..747181469c234 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": "83.1.0", + "@elastic/eui": "84.0.0", "@elastic/filesaver": "1.1.2", "@elastic/node-crypto": "1.2.1", "@elastic/numeral": "^2.5.1", @@ -429,6 +429,7 @@ "@kbn/foo-plugin": "link:x-pack/test/ui_capabilities/common/plugins/foo_plugin", "@kbn/ftr-apis-plugin": "link:src/plugins/ftr_apis", "@kbn/functional-with-es-ssl-cases-test-plugin": "link:x-pack/test/functional_with_es_ssl/plugins/cases", + "@kbn/gen-ai-streaming-response-example-plugin": "link:x-pack/examples/gen_ai_streaming_response_example", "@kbn/generate-console-definitions": "link:packages/kbn-generate-console-definitions", "@kbn/generate-csv": "link:packages/kbn-generate-csv", "@kbn/generate-csv-types": "link:packages/kbn-generate-csv-types", @@ -930,7 +931,6 @@ "react-dom": "^17.0.2", "react-dropzone": "^4.2.9", "react-fast-compare": "^2.0.4", - "react-focus-on": "^3.7.0", "react-grid-layout": "^1.3.4", "react-hook-form": "^7.44.2", "react-intl": "^2.8.0", @@ -1041,10 +1041,10 @@ "@emotion/jest": "^11.11.0", "@istanbuljs/nyc-config-typescript": "^1.0.2", "@istanbuljs/schema": "^0.1.2", - "@jest/console": "^29.3.1", - "@jest/reporters": "^29.3.1", - "@jest/transform": "^29.3.1", - "@jest/types": "^29.3.1", + "@jest/console": "^29.6.1", + "@jest/reporters": "^29.6.1", + "@jest/transform": "^29.6.1", + "@jest/types": "^29.6.1", "@kbn/alerting-api-integration-helpers": "link:x-pack/test/alerting_api_integration/packages/helpers", "@kbn/ambient-common-types": "link:packages/kbn-ambient-common-types", "@kbn/ambient-ftr-types": "link:packages/kbn-ambient-ftr-types", @@ -1261,13 +1261,13 @@ "@types/http-proxy": "^1.17.4", "@types/inquirer": "^7.3.1", "@types/intl-relativeformat": "^2.1.0", - "@types/jest": "29.2.0", + "@types/jest": "^29.5.3", "@types/jest-axe": "^3.5.3", "@types/jquery": "^3.3.31", "@types/js-levenshtein": "^1.1.0", "@types/js-search": "^1.4.0", "@types/js-yaml": "^3.11.1", - "@types/jsdom": "^16.2.14", + "@types/jsdom": "^20.0.1", "@types/json-schema": "^7", "@types/json-stable-stringify": "^1.0.32", "@types/json5": "^2.2.0", @@ -1340,7 +1340,7 @@ "@types/tapable": "^1.0.6", "@types/tar": "^6.1.3", "@types/tempy": "^0.2.0", - "@types/testing-library__jest-dom": "^5.14.5", + "@types/testing-library__jest-dom": "^5.14.7", "@types/tinycolor2": "^1.4.1", "@types/tough-cookie": "^4.0.2", "@types/type-detect": "^4.0.1", @@ -1370,7 +1370,7 @@ "argsplit": "^1.0.5", "autoprefixer": "^10.4.7", "axe-core": "^4.6.1", - "babel-jest": "^29.3.1", + "babel-jest": "^29.6.1", "babel-loader": "^8.2.5", "babel-plugin-add-module-exports": "^1.0.4", "babel-plugin-istanbul": "^6.1.1", @@ -1425,7 +1425,7 @@ "eslint-plugin-react-perf": "^3.3.0", "eslint-traverse": "^1.0.0", "exit-hook": "^2.2.0", - "expect": "^29.3.1", + "expect": "^29.6.1", "expose-loader": "^0.7.5", "faker": "^5.1.0", "fetch-mock": "^7.3.9", @@ -1444,21 +1444,20 @@ "html-loader": "^1.3.2", "http-proxy": "^1.18.1", "is-path-inside": "^3.0.2", - "jest": "^29.3.1", + "jest": "^29.6.1", "jest-axe": "^5.0.0", - "jest-canvas-mock": "^2.4.0", - "jest-cli": "^29.3.1", - "jest-config": "^29.3.1", - "jest-diff": "^29.3.1", - "jest-environment-jsdom": "^29.3.1", - "jest-matcher-utils": "^29.3.1", - "jest-mock": "^29.3.1", - "jest-runtime": "^29.3.1", - "jest-silent-reporter": "^0.5.0", - "jest-snapshot": "^29.3.1", - "jest-specific-snapshot": "^5.0.0", + "jest-canvas-mock": "^2.5.2", + "jest-cli": "^29.6.1", + "jest-config": "^29.6.1", + "jest-diff": "^29.6.1", + "jest-environment-jsdom": "^29.6.1", + "jest-matcher-utils": "^29.6.1", + "jest-mock": "^29.6.1", + "jest-runtime": "^29.6.1", + "jest-snapshot": "^29.6.1", + "jest-specific-snapshot": "^8.0.0", "jest-styled-components": "7.0.3", - "jsdom": "^16.4.0", + "jsdom": "^20.0.1", "json-schema-typed": "^8.0.1", "json5": "^2.2.3", "jsondiffpatch": "0.4.1", diff --git a/packages/core/application/core-application-browser-internal/src/application_service.test.ts b/packages/core/application/core-application-browser-internal/src/application_service.test.ts index 09e7ed5a385a4..baf0947913d01 100644 --- a/packages/core/application/core-application-browser-internal/src/application_service.test.ts +++ b/packages/core/application/core-application-browser-internal/src/application_service.test.ts @@ -1145,7 +1145,7 @@ describe('#start()', () => { removeListenerSpy = jest.spyOn(window, 'removeEventListener'); }); afterEach(() => { - jest.restoreAllMocks(); + jest.clearAllMocks(); }); it('calls `navigateToApp` with `skipAppLeave` option', async () => { @@ -1232,7 +1232,7 @@ describe('#stop()', () => { }); afterEach(() => { - jest.restoreAllMocks(); + jest.clearAllMocks(); }); it('removes the beforeunload listener', async () => { diff --git a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap index a2c9d6044173b..476776a40a155 100644 --- a/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap +++ b/packages/core/chrome/core-chrome-browser-internal/src/ui/header/__snapshots__/collapsible_nav.test.tsx.snap @@ -162,7 +162,7 @@ Array [ >
) { - return await esNodesCompatibility$ - .pipe( + return await firstValueFrom( + esNodesCompatibility$.pipe( filter(({ nodesInfoRequestError, isCompatible }) => { if ( nodesInfoRequestError && @@ -35,8 +35,7 @@ export async function isValidConnection( throw nodesInfoRequestError; } return isCompatible; - }), - first() + }) ) - .toPromise(); + ); } diff --git a/packages/core/logging/core-logging-server-internal/src/logging_system.test.ts b/packages/core/logging/core-logging-server-internal/src/logging_system.test.ts index b28a95f731f72..81eb539a618fc 100644 --- a/packages/core/logging/core-logging-server-internal/src/logging_system.test.ts +++ b/packages/core/logging/core-logging-server-internal/src/logging_system.test.ts @@ -27,7 +27,7 @@ beforeEach(() => { }); afterEach(() => { - jest.restoreAllMocks(); + jest.clearAllMocks(); mockCreateWriteStream.mockClear(); mockStreamWrite.mockClear(); mockGetFlattenedObject.mockClear(); diff --git a/packages/core/metrics/core-metrics-collectors-server-internal/src/os.test.ts b/packages/core/metrics/core-metrics-collectors-server-internal/src/os.test.ts index 88522d3a9389d..b5775724fda7e 100644 --- a/packages/core/metrics/core-metrics-collectors-server-internal/src/os.test.ts +++ b/packages/core/metrics/core-metrics-collectors-server-internal/src/os.test.ts @@ -25,7 +25,7 @@ describe('OsMetricsCollector', () => { }); afterEach(() => { - jest.restoreAllMocks(); + jest.clearAllMocks(); }); it('collects platform info from the os package', async () => { diff --git a/packages/core/plugins/core-plugins-server-internal/src/discovery/plugins_discovery.test.ts b/packages/core/plugins/core-plugins-server-internal/src/discovery/plugins_discovery.test.ts index ec2605f7aa8af..9ab50d8786cca 100644 --- a/packages/core/plugins/core-plugins-server-internal/src/discovery/plugins_discovery.test.ts +++ b/packages/core/plugins/core-plugins-server-internal/src/discovery/plugins_discovery.test.ts @@ -217,7 +217,7 @@ describe('plugins discovery system', () => { afterEach(() => { mockFs.restore(); // restore the console.log behavior - jest.restoreAllMocks(); + jest.clearAllMocks(); }); it('discovers plugins in the search locations', async () => { diff --git a/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.test.ts b/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.test.ts index d7f4bb9007910..5140891d1eee0 100644 --- a/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.test.ts +++ b/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.test.ts @@ -92,7 +92,7 @@ describe('bootstrapRenderer', () => { expect(uiSettingsClient.get).toHaveBeenCalledWith('theme:darkMode'); }); - it('calls getThemeTag with the values from the UiSettingsClient when the UserSettingsService is not provided', async () => { + it('calls getThemeTag with the values from the UiSettingsClient (true/dark) when the UserSettingsService is not provided', async () => { uiSettingsClient.get.mockResolvedValue(true); const request = httpServerMock.createKibanaRequest(); @@ -109,7 +109,24 @@ describe('bootstrapRenderer', () => { }); }); - it('calls getThemeTag with values from the UserSettingsService when provided', async () => { + it('calls getThemeTag with the values from the UiSettingsClient (false/light) when the UserSettingsService is not provided', async () => { + uiSettingsClient.get.mockResolvedValue(false); + + const request = httpServerMock.createKibanaRequest(); + + await renderer({ + request, + uiSettingsClient, + }); + + expect(getThemeTagMock).toHaveBeenCalledTimes(1); + expect(getThemeTagMock).toHaveBeenCalledWith({ + themeVersion: 'v8', + darkMode: false, + }); + }); + + it('calls getThemeTag with values (true/dark) from the UserSettingsService when provided', async () => { userSettingsService.getUserSettingDarkMode.mockReturnValueOnce(true); renderer = bootstrapRendererFactory({ @@ -135,7 +152,33 @@ describe('bootstrapRenderer', () => { }); }); - it('calls getThemeTag with values from the UiSettingsClient when values from UserSettingsService are `undefined`', async () => { + it('calls getThemeTag with values (false/light) from the UserSettingsService when provided', async () => { + userSettingsService.getUserSettingDarkMode.mockReturnValueOnce(false); + + renderer = bootstrapRendererFactory({ + auth, + packageInfo, + uiPlugins, + serverBasePath: '/base-path', + userSettingsService, + }); + + uiSettingsClient.get.mockResolvedValue(true); + const request = httpServerMock.createKibanaRequest(); + + await renderer({ + request, + uiSettingsClient, + }); + + expect(getThemeTagMock).toHaveBeenCalledTimes(1); + expect(getThemeTagMock).toHaveBeenCalledWith({ + themeVersion: 'v8', + darkMode: false, + }); + }); + + it('calls getThemeTag with values from the UiSettingsClient when values (false/light) from UserSettingsService are `undefined`', async () => { userSettingsService.getUserSettingDarkMode.mockReturnValueOnce(undefined); renderer = bootstrapRendererFactory({ @@ -160,6 +203,32 @@ describe('bootstrapRenderer', () => { darkMode: false, }); }); + + it('calls getThemeTag with values from the UiSettingsClient when values (true/dark) from UserSettingsService are `undefined`', async () => { + userSettingsService.getUserSettingDarkMode.mockReturnValueOnce(undefined); + + renderer = bootstrapRendererFactory({ + auth, + packageInfo, + uiPlugins, + serverBasePath: '/base-path', + userSettingsService, + }); + + uiSettingsClient.get.mockResolvedValue(true); + const request = httpServerMock.createKibanaRequest(); + + await renderer({ + request, + uiSettingsClient, + }); + + expect(getThemeTagMock).toHaveBeenCalledTimes(1); + expect(getThemeTagMock).toHaveBeenCalledWith({ + themeVersion: 'v8', + darkMode: true, + }); + }); }); describe('when the auth status is `unknown`', () => { diff --git a/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.ts b/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.ts index abda18486657f..861cd7495ccce 100644 --- a/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.ts +++ b/packages/core/rendering/core-rendering-server-internal/src/bootstrap/bootstrap_renderer.ts @@ -63,7 +63,7 @@ export const bootstrapRendererFactory: BootstrapRendererFactory = ({ if (authenticated) { const userSettingDarkMode = await userSettingsService?.getUserSettingDarkMode(request); - if (userSettingDarkMode) { + if (userSettingDarkMode !== undefined) { darkMode = userSettingDarkMode; } else { darkMode = await uiSettingsClient.get('theme:darkMode'); diff --git a/packages/core/root/core-root-server-internal/src/root/index.test.ts b/packages/core/root/core-root-server-internal/src/root/index.test.ts index 5371c30a03cd6..0610d940053dc 100644 --- a/packages/core/root/core-root-server-internal/src/root/index.test.ts +++ b/packages/core/root/core-root-server-internal/src/root/index.test.ts @@ -29,7 +29,7 @@ beforeEach(() => { }); afterEach(() => { - jest.restoreAllMocks(); + jest.clearAllMocks(); logger.asLoggerFactory.mockClear(); logger.stop.mockClear(); rawConfigService.getConfig$.mockClear(); @@ -139,6 +139,21 @@ test('stops services on "shutdown" an calls `onShutdown` with error passed to `s expect(mockServer.stop).toHaveBeenCalledTimes(1); }); +test('only shutdowns once', async () => { + const mockOnShutdown = jest.fn(); + const root = new Root(rawConfigService, env, mockOnShutdown); + + await root.preboot(); + await root.setup(); + await root.start(); + + await root.shutdown(); + await root.shutdown(); + + expect(mockOnShutdown).toHaveBeenCalledTimes(1); + expect(mockServer.stop).toHaveBeenCalledTimes(1); +}); + test('fails and stops services if server preboot fails', async () => { const mockOnShutdown = jest.fn(); const root = new Root(rawConfigService, env, mockOnShutdown); diff --git a/packages/core/root/core-root-server-internal/src/root/index.ts b/packages/core/root/core-root-server-internal/src/root/index.ts index 42949fda6b31d..34f54fa1ebad8 100644 --- a/packages/core/root/core-root-server-internal/src/root/index.ts +++ b/packages/core/root/core-root-server-internal/src/root/index.ts @@ -34,6 +34,7 @@ export class Root { private readonly server: Server; private loggingConfigSubscription?: Subscription; private apmConfigSubscription?: Subscription; + private shuttingDown: boolean = false; constructor( rawConfigProvider: RawConfigurationProvider, @@ -81,6 +82,11 @@ export class Root { } public async shutdown(reason?: any) { + if (this.shuttingDown) { + return; + } + this.shuttingDown = true; + this.log.info('Kibana is shutting down'); if (reason) { diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/src/__snapshots__/ui_settings_api.test.ts.snap b/packages/core/ui-settings/core-ui-settings-browser-internal/src/__snapshots__/ui_settings_api.test.ts.snap index abee12da71e6b..b80765e3536c9 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/src/__snapshots__/ui_settings_api.test.ts.snap +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/src/__snapshots__/ui_settings_api.test.ts.snap @@ -3,7 +3,7 @@ exports[`#batchSet Buffers are always clear of previously buffered changes: two requests, second only sends bar, not foo 1`] = ` Array [ Array [ - "/foo/bar/api/kibana/settings", + "/foo/bar/internal/kibana/settings", Object { "headers": Object { "accept": "application/json", @@ -15,7 +15,7 @@ Array [ }, ], Array [ - "/foo/bar/api/kibana/settings", + "/foo/bar/internal/kibana/settings", Object { "headers": Object { "accept": "application/json", @@ -32,7 +32,7 @@ Array [ exports[`#batchSet Overwrites previously buffered values with new values for the same key: two requests, foo=d in final 1`] = ` Array [ Array [ - "/foo/bar/api/kibana/settings", + "/foo/bar/internal/kibana/settings", Object { "headers": Object { "accept": "application/json", @@ -44,7 +44,7 @@ Array [ }, ], Array [ - "/foo/bar/api/kibana/settings", + "/foo/bar/internal/kibana/settings", Object { "headers": Object { "accept": "application/json", @@ -61,7 +61,7 @@ Array [ exports[`#batchSet buffers changes while first request is in progress, sends buffered changes after first request completes: final, includes both requests 1`] = ` Array [ Array [ - "/foo/bar/api/kibana/settings", + "/foo/bar/internal/kibana/settings", Object { "headers": Object { "accept": "application/json", @@ -73,7 +73,7 @@ Array [ }, ], Array [ - "/foo/bar/api/kibana/settings", + "/foo/bar/internal/kibana/settings", Object { "headers": Object { "accept": "application/json", @@ -113,7 +113,7 @@ exports[`#batchSet rejects on 500 1`] = `"Request failed with status code: 500"` exports[`#batchSet sends a single change immediately: single change 1`] = ` Array [ Array [ - "/foo/bar/api/kibana/settings", + "/foo/bar/internal/kibana/settings", Object { "headers": Object { "accept": "application/json", @@ -130,7 +130,7 @@ Array [ exports[`#batchSetGlobal Buffers are always clear of previously buffered changes: two requests, second only sends bar, not foo 1`] = ` Array [ Array [ - "/foo/bar/api/kibana/global_settings", + "/foo/bar/internal/kibana/global_settings", Object { "headers": Object { "accept": "application/json", @@ -142,7 +142,7 @@ Array [ }, ], Array [ - "/foo/bar/api/kibana/global_settings", + "/foo/bar/internal/kibana/global_settings", Object { "headers": Object { "accept": "application/json", @@ -159,7 +159,7 @@ Array [ exports[`#batchSetGlobal Overwrites previously buffered values with new values for the same key: two requests, foo=d in final 1`] = ` Array [ Array [ - "/foo/bar/api/kibana/global_settings", + "/foo/bar/internal/kibana/global_settings", Object { "headers": Object { "accept": "application/json", @@ -171,7 +171,7 @@ Array [ }, ], Array [ - "/foo/bar/api/kibana/global_settings", + "/foo/bar/internal/kibana/global_settings", Object { "headers": Object { "accept": "application/json", @@ -188,7 +188,7 @@ Array [ exports[`#batchSetGlobal buffers changes while first request is in progress, sends buffered changes after first request completes: final, includes both requests 1`] = ` Array [ Array [ - "/foo/bar/api/kibana/global_settings", + "/foo/bar/internal/kibana/global_settings", Object { "headers": Object { "accept": "application/json", @@ -200,7 +200,7 @@ Array [ }, ], Array [ - "/foo/bar/api/kibana/global_settings", + "/foo/bar/internal/kibana/global_settings", Object { "headers": Object { "accept": "application/json", @@ -240,7 +240,7 @@ exports[`#batchSetGlobal rejects on 500 1`] = `"Request failed with status code: exports[`#batchSetGlobal sends a single change immediately: single change 1`] = ` Array [ Array [ - "/foo/bar/api/kibana/global_settings", + "/foo/bar/internal/kibana/global_settings", Object { "headers": Object { "accept": "application/json", diff --git a/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_api.ts b/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_api.ts index 98141eb1163b5..c96232b9f9b48 100644 --- a/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_api.ts +++ b/packages/core/ui-settings/core-ui-settings-browser-internal/src/ui_settings_api.ts @@ -137,7 +137,8 @@ export class UiSettingsApi { try { this.sendInProgress = true; - const path = scope === 'namespace' ? '/api/kibana/settings' : '/api/kibana/global_settings'; + const path = + scope === 'namespace' ? '/internal/kibana/settings' : '/internal/kibana/global_settings'; changes.callback( undefined, await this.sendRequest('POST', path, { diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/index.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/index.ts index 22ca2ae38cde5..1fa1afa333e23 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/index.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/index.ts @@ -18,3 +18,5 @@ export function registerRoutes(router: InternalUiSettingsRouter) { registerSetRoute(router); registerSetManyRoute(router); } + +export { registerInternalRoutes } from './internal'; diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/delete.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/delete.ts new file mode 100644 index 0000000000000..91a81a252edd2 --- /dev/null +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/delete.ts @@ -0,0 +1,68 @@ +/* + * 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 { schema } from '@kbn/config-schema'; + +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; +import { IUiSettingsClient } from '@kbn/core-ui-settings-server'; +import { KibanaRequest, KibanaResponseFactory } from '@kbn/core-http-server'; +import type { InternalUiSettingsRouter } from '../../internal_types'; +import { CannotOverrideError } from '../../ui_settings_errors'; +import { InternalUiSettingsRequestHandlerContext } from '../../internal_types'; + +const validate = { + params: schema.object({ + key: schema.string(), + }), +}; + +export function registerInternalDeleteRoute(router: InternalUiSettingsRouter) { + const deleteFromRequest = async ( + uiSettingsClient: IUiSettingsClient, + context: InternalUiSettingsRequestHandlerContext, + request: KibanaRequest, unknown, unknown, 'delete'>, + response: KibanaResponseFactory + ) => { + try { + await uiSettingsClient.remove(request.params.key); + + return response.ok({ + body: { + settings: await uiSettingsClient.getUserProvided(), + }, + }); + } catch (error) { + if (SavedObjectsErrorHelpers.isSavedObjectsClientError(error)) { + return response.customError({ + body: error, + statusCode: error.output.statusCode, + }); + } + + if (error instanceof CannotOverrideError) { + return response.badRequest({ body: error }); + } + + throw error; + } + }; + router.delete( + { path: '/internal/kibana/settings/{key}', validate, options: { access: 'internal' } }, + async (context, request, response) => { + const uiSettingsClient = (await context.core).uiSettings.client; + return await deleteFromRequest(uiSettingsClient, context, request, response); + } + ); + router.delete( + { path: '/internal/kibana/global_settings/{key}', validate, options: { access: 'internal' } }, + async (context, request, response) => { + const uiSettingsClient = (await context.core).uiSettings.globalClient; + return await deleteFromRequest(uiSettingsClient, context, request, response); + } + ); +} diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/get.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/get.ts new file mode 100644 index 0000000000000..f9323f45e786d --- /dev/null +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/get.ts @@ -0,0 +1,53 @@ +/* + * 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 { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; +import { IUiSettingsClient } from '@kbn/core-ui-settings-server'; +import { KibanaRequest, KibanaResponseFactory } from '@kbn/core-http-server'; +import { InternalUiSettingsRequestHandlerContext } from '../../internal_types'; +import type { InternalUiSettingsRouter } from '../../internal_types'; + +export function registerInternalGetRoute(router: InternalUiSettingsRouter) { + const getFromRequest = async ( + uiSettingsClient: IUiSettingsClient, + context: InternalUiSettingsRequestHandlerContext, + request: KibanaRequest, + response: KibanaResponseFactory + ) => { + try { + return response.ok({ + body: { + settings: await uiSettingsClient.getUserProvided(), + }, + }); + } catch (error) { + if (SavedObjectsErrorHelpers.isSavedObjectsClientError(error)) { + return response.customError({ + body: error, + statusCode: error.output.statusCode, + }); + } + + throw error; + } + }; + router.get( + { path: '/internal/kibana/settings', validate: false, options: { access: 'internal' } }, + async (context, request, response) => { + const uiSettingsClient = (await context.core).uiSettings.client; + return await getFromRequest(uiSettingsClient, context, request, response); + } + ); + router.get( + { path: '/internal/kibana/global_settings', validate: false, options: { access: 'internal' } }, + async (context, request, response) => { + const uiSettingsClient = (await context.core).uiSettings.globalClient; + return await getFromRequest(uiSettingsClient, context, request, response); + } + ); +} diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/index.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/index.ts new file mode 100644 index 0000000000000..e15ded76ab6b8 --- /dev/null +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/index.ts @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { InternalUiSettingsRouter } from '../../internal_types'; +import { registerInternalDeleteRoute } from './delete'; +import { registerInternalGetRoute } from './get'; +import { registerInternalSetManyRoute } from './set_many'; +import { registerInternalSetRoute } from './set'; + +export function registerInternalRoutes(router: InternalUiSettingsRouter) { + registerInternalGetRoute(router); + registerInternalDeleteRoute(router); + registerInternalSetRoute(router); + registerInternalSetManyRoute(router); +} diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set.ts new file mode 100644 index 0000000000000..a7bc0f8589599 --- /dev/null +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set.ts @@ -0,0 +1,80 @@ +/* + * 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 { schema, ValidationError } from '@kbn/config-schema'; +import { KibanaRequest, KibanaResponseFactory } from '@kbn/core-http-server'; +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; +import { IUiSettingsClient } from '@kbn/core-ui-settings-server'; +import type { + InternalUiSettingsRequestHandlerContext, + InternalUiSettingsRouter, +} from '../../internal_types'; +import { CannotOverrideError } from '../../ui_settings_errors'; + +const validate = { + params: schema.object({ + key: schema.string(), + }), + body: schema.object({ + value: schema.any(), + }), +}; + +export function registerInternalSetRoute(router: InternalUiSettingsRouter) { + const setFromRequest = async ( + uiSettingsClient: IUiSettingsClient, + context: InternalUiSettingsRequestHandlerContext, + request: KibanaRequest< + Readonly<{} & { key: string }>, + unknown, + Readonly<{ value?: any } & {}>, + 'post' + >, + response: KibanaResponseFactory + ) => { + try { + const { key } = request.params; + const { value } = request.body; + + await uiSettingsClient.set(key, value); + + return response.ok({ + body: { + settings: await uiSettingsClient.getUserProvided(), + }, + }); + } catch (error) { + if (SavedObjectsErrorHelpers.isSavedObjectsClientError(error)) { + return response.customError({ + body: error, + statusCode: error.output.statusCode, + }); + } + + if (error instanceof CannotOverrideError || error instanceof ValidationError) { + return response.badRequest({ body: error }); + } + + throw error; + } + }; + router.post( + { path: '/internal/kibana/settings/{key}', validate, options: { access: 'internal' } }, + async (context, request, response) => { + const uiSettingsClient = (await context.core).uiSettings.client; + return await setFromRequest(uiSettingsClient, context, request, response); + } + ); + router.post( + { path: '/internal/kibana/global_settings/{key}', validate, options: { access: 'internal' } }, + async (context, request, response) => { + const uiSettingsClient = (await context.core).uiSettings.globalClient; + return await setFromRequest(uiSettingsClient, context, request, response); + } + ); +} diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set_many.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set_many.ts new file mode 100644 index 0000000000000..155f9c81120db --- /dev/null +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/routes/internal/set_many.ts @@ -0,0 +1,71 @@ +/* + * 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 { schema, ValidationError } from '@kbn/config-schema'; +import { SavedObjectsErrorHelpers } from '@kbn/core-saved-objects-server'; +import { KibanaRequest, KibanaResponseFactory } from '@kbn/core-http-server'; +import { IUiSettingsClient } from '@kbn/core-ui-settings-server'; +import type { InternalUiSettingsRouter } from '../../internal_types'; +import { CannotOverrideError } from '../../ui_settings_errors'; +import { InternalUiSettingsRequestHandlerContext } from '../../internal_types'; + +const validate = { + body: schema.object({ + changes: schema.object({}, { unknowns: 'allow' }), + }), +}; + +export function registerInternalSetManyRoute(router: InternalUiSettingsRouter) { + const setManyFromRequest = async ( + uiSettingsClient: IUiSettingsClient, + context: InternalUiSettingsRequestHandlerContext, + request: KibanaRequest, 'post'>, + response: KibanaResponseFactory + ) => { + try { + const { changes } = request.body; + + await uiSettingsClient.setMany(changes); + + return response.ok({ + body: { + settings: await uiSettingsClient.getUserProvided(), + }, + }); + } catch (error) { + if (SavedObjectsErrorHelpers.isSavedObjectsClientError(error)) { + return response.customError({ + body: error, + statusCode: error.output.statusCode, + }); + } + + if (error instanceof CannotOverrideError || error instanceof ValidationError) { + return response.badRequest({ body: error }); + } + + throw error; + } + }; + + router.post( + { path: '/internal/kibana/settings', validate, options: { access: 'internal' } }, + async (context, request, response) => { + const uiSettingsClient = (await context.core).uiSettings.client; + return await setManyFromRequest(uiSettingsClient, context, request, response); + } + ); + + router.post( + { path: '/internal/kibana/global_settings', validate, options: { access: 'internal' } }, + async (context, request, response) => { + const uiSettingsClient = (await context.core).uiSettings.globalClient; + return await setManyFromRequest(uiSettingsClient, context, request, response); + } + ); +} diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_config.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_config.ts index 5e5d5a05345ba..bfcc5316a78a0 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_config.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_config.ts @@ -17,6 +17,12 @@ const deprecations: ConfigDeprecationProvider = ({ unused, renameFromRoot }) => const configSchema = schema.object({ overrides: schema.object({}, { unknowns: 'allow' }), + publicApiEnabled: schema.conditional( + schema.contextRef('serverless'), + true, + schema.boolean({ defaultValue: false }), + schema.never() + ), }); export type UiSettingsConfigType = TypeOf; diff --git a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts index 473e7569e2179..3352ab0ab63b0 100644 --- a/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts +++ b/packages/core/ui-settings/core-ui-settings-server-internal/src/ui_settings_service.ts @@ -25,7 +25,7 @@ import type { } from './types'; import type { InternalUiSettingsRequestHandlerContext } from './internal_types'; import { uiSettingsType, uiSettingsGlobalType } from './saved_objects'; -import { registerRoutes } from './routes'; +import { registerRoutes, registerInternalRoutes } from './routes'; import { getCoreSettings } from './settings'; import { UiSettingsDefaultsClient } from './clients/ui_settings_defaults_client'; @@ -78,12 +78,18 @@ export class UiSettingsService public async setup({ http, savedObjects }: SetupDeps): Promise { this.log.debug('Setting up ui settings service'); + const config = await firstValueFrom(this.config$); + this.overrides = config.overrides; savedObjects.registerType(uiSettingsType); savedObjects.registerType(uiSettingsGlobalType); - registerRoutes(http.createRouter('')); - const config = await firstValueFrom(this.config$); - this.overrides = config.overrides; + const router = http.createRouter(''); + registerInternalRoutes(router); + + // Register public routes by default unless the publicApiEnabled config setting is set to false + if (!config.hasOwnProperty('publicApiEnabled') || config.publicApiEnabled === true) { + registerRoutes(router); + } return { register: this.register, diff --git a/packages/kbn-alerts-as-data-utils/src/schemas/generated/observability_apm_schema.ts b/packages/kbn-alerts-as-data-utils/src/schemas/generated/observability_apm_schema.ts index 2e05360a20f58..813ce72f84505 100644 --- a/packages/kbn-alerts-as-data-utils/src/schemas/generated/observability_apm_schema.ts +++ b/packages/kbn-alerts-as-data-utils/src/schemas/generated/observability_apm_schema.ts @@ -75,6 +75,7 @@ const ObservabilityApmAlertOptional = rt.partial({ }), error: rt.partial({ grouping_key: schemaString, + grouping_name: schemaString, }), kibana: rt.partial({ alert: rt.partial({ diff --git a/packages/kbn-config/src/__fixtures__/merge_1.yml b/packages/kbn-config/src/__fixtures__/merge_1.yml new file mode 100644 index 0000000000000..0d540bd61f998 --- /dev/null +++ b/packages/kbn-config/src/__fixtures__/merge_1.yml @@ -0,0 +1,10 @@ +foo: 1 +bar: 3 +arr1: [1, 2, 3] +arr2: [42, 90] +nested: + str1: "foo" + str2: "hello" +obj_array: + - id: 1 + - id: 2 diff --git a/packages/kbn-config/src/__fixtures__/merge_2.yml b/packages/kbn-config/src/__fixtures__/merge_2.yml new file mode 100644 index 0000000000000..acf49c3856c64 --- /dev/null +++ b/packages/kbn-config/src/__fixtures__/merge_2.yml @@ -0,0 +1,8 @@ +foo: 2 +arr1: [4, 5] +arr2: [] +nested: + str1: "bar" + str3: "dolly" +obj_array: + - id: 3 diff --git a/packages/kbn-config/src/raw/__snapshots__/read_config.test.ts.snap b/packages/kbn-config/src/raw/__snapshots__/read_config.test.ts.snap index afdce4e76d3f5..4ad36abc1b481 100644 --- a/packages/kbn-config/src/raw/__snapshots__/read_config.test.ts.snap +++ b/packages/kbn-config/src/raw/__snapshots__/read_config.test.ts.snap @@ -22,6 +22,28 @@ Object { } `; +exports[`merging two configs 1`] = ` +Object { + "arr1": Array [ + 4, + 5, + ], + "arr2": Array [], + "bar": 3, + "foo": 2, + "nested": Object { + "str1": "bar", + "str2": "hello", + "str3": "dolly", + }, + "obj_array": Array [ + Object { + "id": 3, + }, + ], +} +`; + exports[`reads and merges multiple yaml files from file system and parses to json 1`] = ` Object { "abc": Object { diff --git a/packages/kbn-config/src/raw/read_config.test.ts b/packages/kbn-config/src/raw/read_config.test.ts index 5562772885690..0fdacd99d46cf 100644 --- a/packages/kbn-config/src/raw/read_config.test.ts +++ b/packages/kbn-config/src/raw/read_config.test.ts @@ -59,6 +59,11 @@ test('throws parsing another config with forbidden paths', () => { ).toThrowErrorMatchingInlineSnapshot(`"Forbidden path detected: test.hello.__proto__"`); }); +test('merging two configs', () => { + const config = getConfigFromFiles([fixtureFile('merge_1.yml'), fixtureFile('merge_2.yml')]); + expect(config).toMatchSnapshot(); +}); + describe('different cwd()', () => { const originalCwd = process.cwd(); const tempCwd = resolve(__dirname); diff --git a/packages/kbn-config/src/raw/read_config.ts b/packages/kbn-config/src/raw/read_config.ts index 1cf38b52fa3e6..eb8f8df4c8815 100644 --- a/packages/kbn-config/src/raw/read_config.ts +++ b/packages/kbn-config/src/raw/read_config.ts @@ -27,17 +27,29 @@ function replaceEnvVarRefs(val: string) { } function merge(target: Record, value: any, key?: string) { - if ((isPlainObject(value) || Array.isArray(value)) && Object.keys(value).length > 0) { + if (isPlainObject(value) && Object.keys(value).length > 0) { for (const [subKey, subVal] of Object.entries(value)) { merge(target, subVal, key ? `${key}.${subKey}` : subKey); } } else if (key !== undefined) { - set(target, key, typeof value === 'string' ? replaceEnvVarRefs(value) : value); + set(target, key, recursiveReplaceEnvVar(value)); } return target; } +function recursiveReplaceEnvVar(value: any) { + if (isPlainObject(value) || Array.isArray(value)) { + for (const [subKey, subVal] of Object.entries(value)) { + set(value, subKey, recursiveReplaceEnvVar(subVal)); + } + } + if (typeof value === 'string') { + return replaceEnvVarRefs(value); + } + return value; +} + /** @internal */ export const getConfigFromFiles = (configFiles: readonly string[]) => { let mergedYaml = {}; diff --git a/packages/kbn-es-query/index.ts b/packages/kbn-es-query/index.ts index b5358fbfa016c..e36c2dd329ea8 100644 --- a/packages/kbn-es-query/index.ts +++ b/packages/kbn-es-query/index.ts @@ -40,13 +40,7 @@ export type { CombinedFilter, } from './src/filters'; -export type { - DslQuery, - FunctionTypeBuildNode, - KueryNode, - KueryParseOptions, - KueryQueryOptions, -} from './src/kuery'; +export type { DslQuery, KueryNode, KueryParseOptions, KueryQueryOptions } from './src/kuery'; export { buildEsQuery, @@ -117,6 +111,7 @@ export { export { KQLSyntaxError, fromKueryExpression, + toKqlExpression, nodeBuilder, nodeTypes, toElasticsearchQuery, diff --git a/packages/kbn-es-query/src/kuery/ast/ast.test.ts b/packages/kbn-es-query/src/kuery/ast/ast.test.ts index 4cac1266670df..aae4bc9de42bd 100644 --- a/packages/kbn-es-query/src/kuery/ast/ast.test.ts +++ b/packages/kbn-es-query/src/kuery/ast/ast.test.ts @@ -6,7 +6,12 @@ * Side Public License, v 1. */ -import { fromKueryExpression, fromLiteralExpression, toElasticsearchQuery } from './ast'; +import { + fromKueryExpression, + fromLiteralExpression, + toElasticsearchQuery, + toKqlExpression, +} from './ast'; import { nodeTypes } from '../node_types'; import { DataViewBase } from '../../..'; import { KueryNode } from '../types'; @@ -387,4 +392,44 @@ describe('kuery AST API', () => { expect(result).toEqual(expected); }); }); + + describe('toKqlExpression', () => { + test('function node', () => { + const node = nodeTypes.function.buildNode('exists', 'response'); + const result = toKqlExpression(node); + expect(result).toEqual('response: *'); + }); + + test('literal node', () => { + const node = nodeTypes.literal.buildNode('foo'); + const result = toKqlExpression(node); + expect(result).toEqual('foo'); + }); + + test('wildcard node', () => { + const node = nodeTypes.wildcard.buildNode('foo*bar'); + const result = toKqlExpression(node); + expect(result).toEqual('foo*bar'); + }); + + test('should throw an error with invalid node type', () => { + const noTypeNode = nodeTypes.function.buildNode('exists', 'foo'); + + // @ts-expect-error + delete noTypeNode.type; + expect(() => toKqlExpression(noTypeNode)).toThrowErrorMatchingInlineSnapshot( + `"Unknown KQL node type: \\"undefined\\""` + ); + }); + + test('fromKueryExpression toKqlExpression', () => { + const node = fromKueryExpression( + 'field: (value AND value2 OR "value3") OR nested: { field2: value4 }' + ); + const result = toKqlExpression(node); + expect(result).toMatchInlineSnapshot( + `"(((field: value AND field: value2) OR field: \\"value3\\") OR nested: { field2: value4 })"` + ); + }); + }); }); diff --git a/packages/kbn-es-query/src/kuery/ast/ast.ts b/packages/kbn-es-query/src/kuery/ast/ast.ts index 5f86e6eeec7ab..079555ed83537 100644 --- a/packages/kbn-es-query/src/kuery/ast/ast.ts +++ b/packages/kbn-es-query/src/kuery/ast/ast.ts @@ -56,6 +56,18 @@ export const fromKueryExpression = ( } }; +/** + * Given a KQL AST node, generate the corresponding KQL expression. + * @public + * @param node + */ +export function toKqlExpression(node: KueryNode): string { + if (nodeTypes.function.isNode(node)) return nodeTypes.function.toKqlExpression(node); + if (nodeTypes.literal.isNode(node)) return nodeTypes.literal.toKqlExpression(node); + if (nodeTypes.wildcard.isNode(node)) return nodeTypes.wildcard.toKqlExpression(node); + throw new Error(`Unknown KQL node type: "${node.type}"`); +} + /** * @params {String} indexPattern * @params {Object} config - contains the dateFormatTZ diff --git a/packages/kbn-es-query/src/kuery/functions/and.test.ts b/packages/kbn-es-query/src/kuery/functions/and.test.ts index 07e431791b37a..3b9dcbff51fea 100644 --- a/packages/kbn-es-query/src/kuery/functions/and.test.ts +++ b/packages/kbn-es-query/src/kuery/functions/and.test.ts @@ -11,6 +11,7 @@ import { fields } from '../../filters/stubs'; import * as ast from '../ast'; import * as and from './and'; import { DataViewBase } from '../../es_query'; +import { KqlAndFunctionNode } from './and'; jest.mock('../grammar'); @@ -42,15 +43,18 @@ describe('kuery functions', () => { describe('toElasticsearchQuery', () => { test("should wrap subqueries in an ES bool query's filter clause", () => { - const node = nodeTypes.function.buildNode('and', [childNode1, childNode2]); + const node = nodeTypes.function.buildNode('and', [ + childNode1, + childNode2, + ]) as KqlAndFunctionNode; const result = and.toElasticsearchQuery(node, indexPattern); expect(result).toHaveProperty('bool'); expect(Object.keys(result).length).toBe(1); expect(result.bool).toHaveProperty('filter'); - expect(Object.keys(result.bool).length).toBe(1); + expect(Object.keys(result.bool!).length).toBe(1); - expect(result.bool.filter).toEqual( + expect(result.bool!.filter).toEqual( [childNode1, childNode2].map((childNode) => ast.toElasticsearchQuery(childNode, indexPattern) ) @@ -58,7 +62,10 @@ describe('kuery functions', () => { }); test("should wrap subqueries in an ES bool query's must clause for scoring if enabled", () => { - const node = nodeTypes.function.buildNode('and', [childNode1, childNode2]); + const node = nodeTypes.function.buildNode('and', [ + childNode1, + childNode2, + ]) as KqlAndFunctionNode; const result = and.toElasticsearchQuery(node, indexPattern, { filtersInMustClause: true, }); @@ -66,14 +73,31 @@ describe('kuery functions', () => { expect(result).toHaveProperty('bool'); expect(Object.keys(result).length).toBe(1); expect(result.bool).toHaveProperty('must'); - expect(Object.keys(result.bool).length).toBe(1); + expect(Object.keys(result.bool!).length).toBe(1); - expect(result.bool.must).toEqual( + expect(result.bool!.must).toEqual( [childNode1, childNode2].map((childNode) => ast.toElasticsearchQuery(childNode, indexPattern) ) ); }); }); + + describe('toKqlExpression', () => { + test('with one sub-expression', () => { + const node = nodeTypes.function.buildNode('and', [childNode1]) as KqlAndFunctionNode; + const result = and.toKqlExpression(node); + expect(result).toBe('(machine.os: osx)'); + }); + + test('with two sub-expressions', () => { + const node = nodeTypes.function.buildNode('and', [ + childNode1, + childNode2, + ]) as KqlAndFunctionNode; + const result = and.toKqlExpression(node); + expect(result).toBe('(machine.os: osx AND extension: jpg)'); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/functions/and.ts b/packages/kbn-es-query/src/kuery/functions/and.ts index ea620eeb83cc7..577928d881023 100644 --- a/packages/kbn-es-query/src/kuery/functions/and.ts +++ b/packages/kbn-es-query/src/kuery/functions/and.ts @@ -6,10 +6,23 @@ * Side Public License, v 1. */ +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import * as ast from '../ast'; import type { DataViewBase, KueryNode, KueryQueryOptions } from '../../..'; +import type { KqlFunctionNode } from '../node_types'; import type { KqlContext } from '../types'; +export const KQL_FUNCTION_AND = 'and'; + +export interface KqlAndFunctionNode extends KqlFunctionNode { + function: typeof KQL_FUNCTION_AND; + arguments: KqlFunctionNode[]; +} + +export function isNode(node: KqlFunctionNode): node is KqlAndFunctionNode { + return node.function === KQL_FUNCTION_AND; +} + export function buildNodeParams(children: KueryNode[]) { return { arguments: children, @@ -17,11 +30,11 @@ export function buildNodeParams(children: KueryNode[]) { } export function toElasticsearchQuery( - node: KueryNode, + node: KqlAndFunctionNode, indexPattern?: DataViewBase, config: KueryQueryOptions = {}, context: KqlContext = {} -) { +): QueryDslQueryContainer { const { filtersInMustClause } = config; const children = node.arguments || []; const key = filtersInMustClause ? 'must' : 'filter'; @@ -34,3 +47,7 @@ export function toElasticsearchQuery( }, }; } + +export function toKqlExpression(node: KqlAndFunctionNode): string { + return `(${node.arguments.map(ast.toKqlExpression).join(' AND ')})`; +} diff --git a/packages/kbn-es-query/src/kuery/functions/exists.test.ts b/packages/kbn-es-query/src/kuery/functions/exists.test.ts index 27d0c18498df7..69340ab96c752 100644 --- a/packages/kbn-es-query/src/kuery/functions/exists.test.ts +++ b/packages/kbn-es-query/src/kuery/functions/exists.test.ts @@ -10,12 +10,11 @@ import { nodeTypes } from '../node_types'; import { fields } from '../../filters/stubs'; import { DataViewBase } from '../../..'; import { KQL_NODE_TYPE_LITERAL } from '../node_types/literal'; +import * as exists from './exists'; +import type { KqlExistsFunctionNode } from './exists'; jest.mock('../grammar'); -// @ts-ignore -import * as exists from './exists'; - describe('kuery functions', () => { describe('exists', () => { let indexPattern: DataViewBase; @@ -50,7 +49,10 @@ describe('kuery functions', () => { const expected = { exists: { field: 'response' }, }; - const existsNode = nodeTypes.function.buildNode('exists', 'response'); + const existsNode = nodeTypes.function.buildNode( + 'exists', + 'response' + ) as KqlExistsFunctionNode; const result = exists.toElasticsearchQuery(existsNode, indexPattern); expect(expected).toEqual(result); @@ -60,14 +62,20 @@ describe('kuery functions', () => { const expected = { exists: { field: 'response' }, }; - const existsNode = nodeTypes.function.buildNode('exists', 'response'); + const existsNode = nodeTypes.function.buildNode( + 'exists', + 'response' + ) as KqlExistsFunctionNode; const result = exists.toElasticsearchQuery(existsNode); expect(expected).toEqual(result); }); test('should throw an error for scripted fields', () => { - const existsNode = nodeTypes.function.buildNode('exists', 'script string'); + const existsNode = nodeTypes.function.buildNode( + 'exists', + 'script string' + ) as KqlExistsFunctionNode; expect(() => exists.toElasticsearchQuery(existsNode, indexPattern)).toThrowError( /Exists query does not support scripted fields/ ); @@ -77,7 +85,10 @@ describe('kuery functions', () => { const expected = { exists: { field: 'nestedField.response' }, }; - const existsNode = nodeTypes.function.buildNode('exists', 'response'); + const existsNode = nodeTypes.function.buildNode( + 'exists', + 'response' + ) as KqlExistsFunctionNode; const result = exists.toElasticsearchQuery( existsNode, indexPattern, @@ -88,5 +99,16 @@ describe('kuery functions', () => { expect(expected).toEqual(result); }); }); + + describe('toKqlExpression', () => { + test('should return a KQL expression', () => { + const existsNode = nodeTypes.function.buildNode( + 'exists', + 'response' + ) as KqlExistsFunctionNode; + const result = exists.toKqlExpression(existsNode); + expect(result).toBe('response: *'); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/functions/exists.ts b/packages/kbn-es-query/src/kuery/functions/exists.ts index 8290406d99384..bcc693b53f6e6 100644 --- a/packages/kbn-es-query/src/kuery/functions/exists.ts +++ b/packages/kbn-es-query/src/kuery/functions/exists.ts @@ -6,23 +6,39 @@ * Side Public License, v 1. */ -import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import type { DataViewFieldBase, DataViewBase, KueryNode, KueryQueryOptions } from '../../..'; -import * as literal from '../node_types/literal'; +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { DataViewFieldBase, DataViewBase, KueryQueryOptions } from '../../..'; +import type { KqlFunctionNode, KqlLiteralNode } from '../node_types'; import type { KqlContext } from '../types'; +import { + buildNode as buildLiteralNode, + toElasticsearchQuery as literalToElasticsearchQuery, + toKqlExpression as literalToKqlExpression, +} from '../node_types/literal'; + +export const KQL_FUNCTION_EXISTS = 'exists'; + +export interface KqlExistsFunctionNode extends KqlFunctionNode { + function: typeof KQL_FUNCTION_EXISTS; + arguments: [KqlLiteralNode]; +} + +export function isNode(node: KqlFunctionNode): node is KqlExistsFunctionNode { + return node.function === KQL_FUNCTION_EXISTS; +} export function buildNodeParams(fieldName: string) { return { - arguments: [literal.buildNode(fieldName)], + arguments: [buildLiteralNode(fieldName)], }; } export function toElasticsearchQuery( - node: KueryNode, + node: KqlExistsFunctionNode, indexPattern?: DataViewBase, config: KueryQueryOptions = {}, context: KqlContext = {} -): estypes.QueryDslQueryContainer { +): QueryDslQueryContainer { const { arguments: [fieldNameArg], } = node; @@ -30,7 +46,7 @@ export function toElasticsearchQuery( ...fieldNameArg, value: context?.nested ? `${context.nested.path}.${fieldNameArg.value}` : fieldNameArg.value, }; - const fieldName = literal.toElasticsearchQuery(fullFieldNameArg) as string; + const fieldName = literalToElasticsearchQuery(fullFieldNameArg) as string; const field = indexPattern?.fields?.find((fld: DataViewFieldBase) => fld.name === fieldName); if (field?.scripted) { @@ -40,3 +56,8 @@ export function toElasticsearchQuery( exists: { field: fieldName }, }; } + +export function toKqlExpression(node: KqlExistsFunctionNode): string { + const [field] = node.arguments; + return `${literalToKqlExpression(field)}: *`; +} diff --git a/packages/kbn-es-query/src/kuery/functions/index.ts b/packages/kbn-es-query/src/kuery/functions/index.ts index 8e1b44517d3a1..9705d6793ac13 100644 --- a/packages/kbn-es-query/src/kuery/functions/index.ts +++ b/packages/kbn-es-query/src/kuery/functions/index.ts @@ -14,6 +14,14 @@ import * as range from './range'; import * as exists from './exists'; import * as nested from './nested'; +export { KQL_FUNCTION_AND } from './and'; +export { KQL_FUNCTION_EXISTS } from './exists'; +export { KQL_FUNCTION_IS } from './is'; +export { KQL_FUNCTION_NESTED } from './nested'; +export { KQL_FUNCTION_NOT } from './not'; +export { KQL_FUNCTION_OR } from './or'; +export { KQL_FUNCTION_RANGE } from './range'; + export const functions = { is, and, diff --git a/packages/kbn-es-query/src/kuery/functions/is.test.ts b/packages/kbn-es-query/src/kuery/functions/is.test.ts index 75974e019efd0..a19c951c184a9 100644 --- a/packages/kbn-es-query/src/kuery/functions/is.test.ts +++ b/packages/kbn-es-query/src/kuery/functions/is.test.ts @@ -14,6 +14,7 @@ import { DataViewBase } from '../../..'; import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { KQL_NODE_TYPE_WILDCARD } from '../node_types/wildcard'; import { KQL_NODE_TYPE_LITERAL } from '../node_types/literal'; +import { KqlIsFunctionNode } from './is'; jest.mock('../grammar'); @@ -69,7 +70,7 @@ describe('kuery functions', () => { const expected = { match_all: {}, }; - const node = nodeTypes.function.buildNode('is', '*', '*'); + const node = nodeTypes.function.buildNode('is', '*', '*') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -79,7 +80,7 @@ describe('kuery functions', () => { const expected = { match_all: {}, }; - const node = nodeTypes.function.buildNode('is', 'n*', '*'); + const node = nodeTypes.function.buildNode('is', 'n*', '*') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, { ...indexPattern, fields: indexPattern.fields.filter((field) => field.name.startsWith('n')), @@ -92,7 +93,7 @@ describe('kuery functions', () => { const expected = { match_all: {}, }; - const node = nodeTypes.function.buildNode('is', '*', '*'); + const node = nodeTypes.function.buildNode('is', '*', '*') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node); expect(result).toEqual(expected); @@ -106,7 +107,7 @@ describe('kuery functions', () => { lenient: true, }, }; - const node = nodeTypes.function.buildNode('is', null, 200); + const node = nodeTypes.function.buildNode('is', null, 200) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -118,14 +119,14 @@ describe('kuery functions', () => { query: 'jpg*', }, }; - const node = nodeTypes.function.buildNode('is', null, 'jpg*'); + const node = nodeTypes.function.buildNode('is', null, 'jpg*') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); }); test('should return an ES bool query with a sub-query for each field when fieldName is "*"', () => { - const node = nodeTypes.function.buildNode('is', '*', 200); + const node = nodeTypes.function.buildNode('is', '*', 200) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toHaveProperty('bool'); @@ -141,7 +142,7 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', 'extension', '*'); + const node = nodeTypes.function.buildNode('is', 'extension', '*') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -154,7 +155,7 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', 'extension', 'jpg'); + const node = nodeTypes.function.buildNode('is', 'extension', 'jpg') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -167,7 +168,7 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', 'extension', 'jpg'); + const node = nodeTypes.function.buildNode('is', 'extension', 'jpg') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node); expect(result).toEqual(expected); @@ -180,7 +181,7 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', 'extension', '"jpg"'); + const node = nodeTypes.function.buildNode('is', 'extension', '"jpg"') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -200,7 +201,7 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', 'extension', 'jpg*'); + const node = nodeTypes.function.buildNode('is', 'extension', 'jpg*') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -219,7 +220,11 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', 'machine.os.keyword', 'win*'); + const node = nodeTypes.function.buildNode( + 'is', + 'machine.os.keyword', + 'win*' + ) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -238,14 +243,22 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', 'machine.os.keyword', 'win*'); + const node = nodeTypes.function.buildNode( + 'is', + 'machine.os.keyword', + 'win*' + ) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern, { caseInsensitive: true }); expect(result).toEqual(expected); }); test('should support scripted fields', () => { - const node = nodeTypes.function.buildNode('is', 'script string', 'foo'); + const node = nodeTypes.function.buildNode( + 'is', + 'script string', + 'foo' + ) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect((result.bool!.should as estypes.QueryDslQueryContainer[])[0]).toHaveProperty( @@ -269,7 +282,11 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', '@timestamp', '"2018-04-03T19:04:17"'); + const node = nodeTypes.function.buildNode( + 'is', + '@timestamp', + '"2018-04-03T19:04:17"' + ) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -293,7 +310,11 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', '@timestamp', '"2018-04-03T19:04:17"'); + const node = nodeTypes.function.buildNode( + 'is', + '@timestamp', + '"2018-04-03T19:04:17"' + ) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern, config); expect(result).toEqual(expected); @@ -306,7 +327,7 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', 'extension', 'jpg'); + const node = nodeTypes.function.buildNode('is', 'extension', 'jpg') as KqlIsFunctionNode; const result = is.toElasticsearchQuery( node, indexPattern, @@ -324,7 +345,7 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', 'ext*', 'jpg'); + const node = nodeTypes.function.buildNode('is', 'ext*', 'jpg') as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -349,7 +370,11 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', '*doublyNested*', 'foo'); + const node = nodeTypes.function.buildNode( + 'is', + '*doublyNested*', + 'foo' + ) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -375,14 +400,22 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('is', '*doublyNested*', 'foo'); + const node = nodeTypes.function.buildNode( + 'is', + '*doublyNested*', + 'foo' + ) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern, { nestedIgnoreUnmapped: true }); expect(result).toEqual(expected); }); test('should use a term query for keyword fields', () => { - const node = nodeTypes.function.buildNode('is', 'machine.os.keyword', 'Win 7'); + const node = nodeTypes.function.buildNode( + 'is', + 'machine.os.keyword', + 'Win 7' + ) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern); expect(result).toEqual({ bool: { @@ -399,7 +432,11 @@ describe('kuery functions', () => { }); test('should use a case-insensitive term query for keyword fields', () => { - const node = nodeTypes.function.buildNode('is', 'machine.os.keyword', 'Win 7'); + const node = nodeTypes.function.buildNode( + 'is', + 'machine.os.keyword', + 'Win 7' + ) as KqlIsFunctionNode; const result = is.toElasticsearchQuery(node, indexPattern, { caseInsensitive: true }); expect(result).toEqual({ bool: { @@ -415,5 +452,71 @@ describe('kuery functions', () => { }); }); }); + + describe('toKqlExpression', () => { + test('match all fields and all values', () => { + const node = nodeTypes.function.buildNode('is', '*', '*') as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"*: *"`); + }); + + test('no field with literal value', () => { + const node = nodeTypes.function.buildNode('is', null, 200) as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"200"`); + }); + + test('no field with wildcard value', () => { + const node = nodeTypes.function.buildNode('is', null, 'jpg*') as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"jpg*"`); + }); + + test('match all fields with value', () => { + const node = nodeTypes.function.buildNode('is', '*', 200) as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"*: 200"`); + }); + + test('field with match all value"', () => { + const node = nodeTypes.function.buildNode('is', 'extension', '*') as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"extension: *"`); + }); + + test('field with value', () => { + const node = nodeTypes.function.buildNode('is', 'extension', 'jpg') as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"extension: jpg"`); + }); + + test('field with phrase value', () => { + const node = nodeTypes.function.buildNode('is', 'extension', '"jpg"') as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"extension: \\"jpg\\""`); + }); + + test('phrase field with phrase value', () => { + const node = nodeTypes.function.buildNode( + 'is', + '"extension"', + '"jpg"' + ) as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"\\"extension\\": \\"jpg\\""`); + }); + + test('field with wildcard value', () => { + const node = nodeTypes.function.buildNode('is', 'extension', 'jpg*') as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"extension: jpg*"`); + }); + + test('wildcard field with value', () => { + const node = nodeTypes.function.buildNode('is', 'ext*', 'jpg') as KqlIsFunctionNode; + const result = is.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"ext*: jpg"`); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/functions/is.ts b/packages/kbn-es-query/src/kuery/functions/is.ts index 95563e6c429f6..55bce74973741 100644 --- a/packages/kbn-es-query/src/kuery/functions/is.ts +++ b/packages/kbn-es-query/src/kuery/functions/is.ts @@ -7,18 +7,30 @@ */ import { isUndefined } from 'lodash'; -import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { getPhraseScript } from '../../filters'; import { getFields } from './utils/get_fields'; import { getTimeZoneFromSettings, getDataViewFieldSubtypeNested } from '../../utils'; import { getFullFieldNameNode } from './utils/get_full_field_name_node'; -import type { DataViewBase, KueryNode, DataViewFieldBase, KueryQueryOptions } from '../../..'; +import type { DataViewBase, DataViewFieldBase, KueryQueryOptions } from '../../..'; +import type { KqlFunctionNode, KqlLiteralNode, KqlWildcardNode } from '../node_types'; import type { KqlContext } from '../types'; import * as ast from '../ast'; import * as literal from '../node_types/literal'; import * as wildcard from '../node_types/wildcard'; +export const KQL_FUNCTION_IS = 'is'; + +export interface KqlIsFunctionNode extends KqlFunctionNode { + function: typeof KQL_FUNCTION_IS; + arguments: [KqlLiteralNode | KqlWildcardNode, KqlLiteralNode | KqlWildcardNode]; +} + +export function isNode(node: KqlFunctionNode): node is KqlIsFunctionNode { + return node.function === KQL_FUNCTION_IS; +} + export function buildNodeParams(fieldName: string, value: any) { if (isUndefined(fieldName)) { throw new Error('fieldName is a required argument'); @@ -38,11 +50,11 @@ export function buildNodeParams(fieldName: string, value: any) { } export function toElasticsearchQuery( - node: KueryNode, + node: KqlIsFunctionNode, indexPattern?: DataViewBase, config: KueryQueryOptions = {}, context: KqlContext = {} -): estypes.QueryDslQueryContainer { +): QueryDslQueryContainer { const { arguments: [fieldNameArg, valueArg], } = node; @@ -216,3 +228,9 @@ export function toElasticsearchQuery( }, }; } + +export function toKqlExpression(node: KqlIsFunctionNode): string { + const [field, value] = node.arguments; + if (field.value === null) return `${ast.toKqlExpression(value)}`; + return `${ast.toKqlExpression(field)}: ${ast.toKqlExpression(value)}`; +} diff --git a/packages/kbn-es-query/src/kuery/functions/nested.test.ts b/packages/kbn-es-query/src/kuery/functions/nested.test.ts index ea5c4959f21c3..5078f3899cd8e 100644 --- a/packages/kbn-es-query/src/kuery/functions/nested.test.ts +++ b/packages/kbn-es-query/src/kuery/functions/nested.test.ts @@ -9,10 +9,9 @@ import { nodeTypes } from '../node_types'; import { fields } from '../../filters/stubs'; import { DataViewBase } from '../../..'; - import * as ast from '../ast'; - import * as nested from './nested'; +import type { KqlNestedFunctionNode } from './nested'; jest.mock('../grammar'); @@ -43,7 +42,11 @@ describe('kuery functions', () => { describe('toElasticsearchQuery', () => { test('should wrap subqueries in an ES nested query', () => { - const node = nodeTypes.function.buildNode('nested', 'nestedField', childNode); + const node = nodeTypes.function.buildNode( + 'nested', + 'nestedField', + childNode + ) as KqlNestedFunctionNode; const result = nested.toElasticsearchQuery(node, indexPattern); expect(result).toHaveProperty('nested'); @@ -54,7 +57,11 @@ describe('kuery functions', () => { }); test('should pass the nested path to subqueries so the full field name can be used', () => { - const node = nodeTypes.function.buildNode('nested', 'nestedField', childNode); + const node = nodeTypes.function.buildNode( + 'nested', + 'nestedField', + childNode + ) as KqlNestedFunctionNode; const result = nested.toElasticsearchQuery(node, indexPattern); const expectedSubQuery = ast.toElasticsearchQuery( nodeTypes.function.buildNode('is', 'nestedField.child', 'foo') @@ -63,5 +70,41 @@ describe('kuery functions', () => { expect(result.nested!.query).toEqual(expectedSubQuery); }); }); + + describe('toKqlExpression', () => { + test('single nested query', () => { + const node = nodeTypes.function.buildNode( + 'nested', + 'nestedField', + childNode + ) as KqlNestedFunctionNode; + const result = nested.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"nestedField: { child: foo }"`); + }); + + test('multiple nested queries', () => { + const andNode = nodeTypes.function.buildNode('and', [childNode, childNode]); + const node = nodeTypes.function.buildNode( + 'nested', + 'nestedField', + andNode + ) as KqlNestedFunctionNode; + const result = nested.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"nestedField: { (child: foo AND child: foo) }"`); + }); + + test('doubly nested query', () => { + const subNode = nodeTypes.function.buildNode('nested', 'anotherNestedField', childNode); + const node = nodeTypes.function.buildNode( + 'nested', + 'nestedField', + subNode + ) as KqlNestedFunctionNode; + const result = nested.toKqlExpression(node); + expect(result).toMatchInlineSnapshot( + `"nestedField: { anotherNestedField: { child: foo } }"` + ); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/functions/nested.ts b/packages/kbn-es-query/src/kuery/functions/nested.ts index d125889354437..163c68bc4274f 100644 --- a/packages/kbn-es-query/src/kuery/functions/nested.ts +++ b/packages/kbn-es-query/src/kuery/functions/nested.ts @@ -6,12 +6,24 @@ * Side Public License, v 1. */ -import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import * as ast from '../ast'; import * as literal from '../node_types/literal'; -import type { DataViewBase, KueryNode, KueryQueryOptions } from '../../..'; +import type { DataViewBase, KueryQueryOptions } from '../../..'; +import type { KqlFunctionNode, KqlLiteralNode } from '../node_types'; import type { KqlContext } from '../types'; +export const KQL_FUNCTION_NESTED = 'nested'; + +export interface KqlNestedFunctionNode extends KqlFunctionNode { + function: typeof KQL_FUNCTION_NESTED; + arguments: [KqlLiteralNode, KqlFunctionNode]; +} + +export function isNode(node: KqlFunctionNode): node is KqlNestedFunctionNode { + return node.function === KQL_FUNCTION_NESTED; +} + export function buildNodeParams(path: any, child: any) { const pathNode = typeof path === 'string' ? ast.fromLiteralExpression(path) : literal.buildNode(path); @@ -21,11 +33,11 @@ export function buildNodeParams(path: any, child: any) { } export function toElasticsearchQuery( - node: KueryNode, + node: KqlNestedFunctionNode, indexPattern?: DataViewBase, config: KueryQueryOptions = {}, context: KqlContext = {} -): estypes.QueryDslQueryContainer { +): QueryDslQueryContainer { const [path, child] = node.arguments; const stringPath = ast.toElasticsearchQuery(path) as unknown as string; const fullPath = context?.nested?.path ? `${context.nested.path}.${stringPath}` : stringPath; @@ -36,7 +48,7 @@ export function toElasticsearchQuery( query: ast.toElasticsearchQuery(child, indexPattern, config, { ...context, nested: { path: fullPath }, - }) as estypes.QueryDslQueryContainer, + }), score_mode: 'none', ...(typeof config.nestedIgnoreUnmapped === 'boolean' && { ignore_unmapped: config.nestedIgnoreUnmapped, @@ -44,3 +56,8 @@ export function toElasticsearchQuery( }, }; } + +export function toKqlExpression(node: KqlNestedFunctionNode): string { + const [path, child] = node.arguments; + return `${literal.toKqlExpression(path)}: { ${ast.toKqlExpression(child)} }`; +} diff --git a/packages/kbn-es-query/src/kuery/functions/not.test.ts b/packages/kbn-es-query/src/kuery/functions/not.test.ts index e84893bdfde6a..84163620e72ce 100644 --- a/packages/kbn-es-query/src/kuery/functions/not.test.ts +++ b/packages/kbn-es-query/src/kuery/functions/not.test.ts @@ -12,6 +12,7 @@ import { DataViewBase } from '../../..'; import * as ast from '../ast'; import * as not from './not'; +import { KqlNotFunctionNode } from './not'; jest.mock('../grammar'); @@ -40,7 +41,7 @@ describe('kuery functions', () => { describe('toElasticsearchQuery', () => { test("should wrap a subquery in an ES bool query's must_not clause", () => { - const node = nodeTypes.function.buildNode('not', childNode); + const node = nodeTypes.function.buildNode('not', childNode) as KqlNotFunctionNode; const result = not.toElasticsearchQuery(node, indexPattern); expect(result).toHaveProperty('bool'); @@ -52,5 +53,13 @@ describe('kuery functions', () => { expect(result.bool!.must_not).toEqual(ast.toElasticsearchQuery(childNode, indexPattern)); }); }); + + describe('toKqlExpression', () => { + test('with one sub-expression', () => { + const node = nodeTypes.function.buildNode('not', childNode) as KqlNotFunctionNode; + const result = not.toKqlExpression(node); + expect(result).toBe('NOT extension: jpg'); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/functions/not.ts b/packages/kbn-es-query/src/kuery/functions/not.ts index 428b40be521ee..457dd91cb9377 100644 --- a/packages/kbn-es-query/src/kuery/functions/not.ts +++ b/packages/kbn-es-query/src/kuery/functions/not.ts @@ -6,11 +6,23 @@ * Side Public License, v 1. */ -import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import * as ast from '../ast'; import type { DataViewBase, KueryNode, KueryQueryOptions } from '../../..'; +import type { KqlFunctionNode } from '../node_types'; import type { KqlContext } from '../types'; +export const KQL_FUNCTION_NOT = 'not'; + +export interface KqlNotFunctionNode extends KqlFunctionNode { + function: typeof KQL_FUNCTION_NOT; + arguments: [KqlFunctionNode]; +} + +export function isNode(node: KqlFunctionNode): node is KqlNotFunctionNode { + return node.function === KQL_FUNCTION_NOT; +} + export function buildNodeParams(child: KueryNode) { return { arguments: [child], @@ -18,21 +30,21 @@ export function buildNodeParams(child: KueryNode) { } export function toElasticsearchQuery( - node: KueryNode, + node: KqlNotFunctionNode, indexPattern?: DataViewBase, config: KueryQueryOptions = {}, context: KqlContext = {} -): estypes.QueryDslQueryContainer { +): QueryDslQueryContainer { const [argument] = node.arguments; return { bool: { - must_not: ast.toElasticsearchQuery( - argument, - indexPattern, - config, - context - ) as estypes.QueryDslQueryContainer, + must_not: ast.toElasticsearchQuery(argument, indexPattern, config, context), }, }; } + +export function toKqlExpression(node: KqlNotFunctionNode): string { + const [child] = node.arguments; + return `NOT ${ast.toKqlExpression(child)}`; +} diff --git a/packages/kbn-es-query/src/kuery/functions/or.test.ts b/packages/kbn-es-query/src/kuery/functions/or.test.ts index 1c8238acc59f0..26eeb25f7b605 100644 --- a/packages/kbn-es-query/src/kuery/functions/or.test.ts +++ b/packages/kbn-es-query/src/kuery/functions/or.test.ts @@ -13,6 +13,7 @@ import { DataViewBase } from '../../..'; import * as ast from '../ast'; import * as or from './or'; +import { KqlOrFunctionNode } from './or'; jest.mock('../grammar'); const childNode1 = nodeTypes.function.buildNode('is', 'machine.os', 'osx'); @@ -43,7 +44,10 @@ describe('kuery functions', () => { describe('toElasticsearchQuery', () => { test("should wrap subqueries in an ES bool query's should clause", () => { - const node = nodeTypes.function.buildNode('or', [childNode1, childNode2]); + const node = nodeTypes.function.buildNode('or', [ + childNode1, + childNode2, + ]) as KqlOrFunctionNode; const result = or.toElasticsearchQuery(node, indexPattern); expect(result).toHaveProperty('bool'); @@ -57,11 +61,31 @@ describe('kuery functions', () => { }); test('should require one of the clauses to match', () => { - const node = nodeTypes.function.buildNode('or', [childNode1, childNode2]); + const node = nodeTypes.function.buildNode('or', [ + childNode1, + childNode2, + ]) as KqlOrFunctionNode; const result = or.toElasticsearchQuery(node, indexPattern); expect(result.bool).toHaveProperty('minimum_should_match', 1); }); }); + + describe('toKqlExpression', () => { + test('with one sub-expression', () => { + const node = nodeTypes.function.buildNode('or', [childNode1]) as KqlOrFunctionNode; + const result = or.toKqlExpression(node); + expect(result).toBe('(machine.os: osx)'); + }); + + test('with two sub-expressions', () => { + const node = nodeTypes.function.buildNode('or', [ + childNode1, + childNode2, + ]) as KqlOrFunctionNode; + const result = or.toKqlExpression(node); + expect(result).toBe('(machine.os: osx OR extension: jpg)'); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/functions/or.ts b/packages/kbn-es-query/src/kuery/functions/or.ts index 52a038600d45f..45e5f574149fb 100644 --- a/packages/kbn-es-query/src/kuery/functions/or.ts +++ b/packages/kbn-es-query/src/kuery/functions/or.ts @@ -6,11 +6,23 @@ * Side Public License, v 1. */ -import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import * as ast from '../ast'; import type { DataViewBase, KueryNode, KueryQueryOptions } from '../../..'; +import type { KqlFunctionNode } from '../node_types'; import type { KqlContext } from '../types'; +export const KQL_FUNCTION_OR = 'or'; + +export interface KqlOrFunctionNode extends KqlFunctionNode { + function: typeof KQL_FUNCTION_OR; + arguments: KqlFunctionNode[]; +} + +export function isNode(node: KqlFunctionNode): node is KqlOrFunctionNode { + return node.function === KQL_FUNCTION_OR; +} + export function buildNodeParams(children: KueryNode[]) { return { arguments: children, @@ -18,11 +30,11 @@ export function buildNodeParams(children: KueryNode[]) { } export function toElasticsearchQuery( - node: KueryNode, + node: KqlOrFunctionNode, indexPattern?: DataViewBase, config: KueryQueryOptions = {}, context: KqlContext = {} -): estypes.QueryDslQueryContainer { +): QueryDslQueryContainer { const children = node.arguments || []; return { @@ -34,3 +46,7 @@ export function toElasticsearchQuery( }, }; } + +export function toKqlExpression(node: KqlOrFunctionNode): string { + return `(${node.arguments.map(ast.toKqlExpression).join(' OR ')})`; +} diff --git a/packages/kbn-es-query/src/kuery/functions/range.test.ts b/packages/kbn-es-query/src/kuery/functions/range.test.ts index d3a09ae907d7d..510eb4efbc7f7 100644 --- a/packages/kbn-es-query/src/kuery/functions/range.test.ts +++ b/packages/kbn-es-query/src/kuery/functions/range.test.ts @@ -13,6 +13,7 @@ import { DataViewBase } from '../../..'; import * as range from './range'; import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { KQL_NODE_TYPE_LITERAL } from '../node_types/literal'; +import { KqlRangeFunctionNode } from './range'; jest.mock('../grammar'); @@ -65,7 +66,12 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('range', 'bytes', 'gt', 1000); + const node = nodeTypes.function.buildNode( + 'range', + 'bytes', + 'gt', + 1000 + ) as KqlRangeFunctionNode; const result = range.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -87,7 +93,12 @@ describe('kuery functions', () => { }, }; - const node = nodeTypes.function.buildNode('range', 'bytes', 'gt', 1000); + const node = nodeTypes.function.buildNode( + 'range', + 'bytes', + 'gt', + 1000 + ) as KqlRangeFunctionNode; const result = range.toElasticsearchQuery(node); expect(result).toEqual(expected); @@ -109,14 +120,24 @@ describe('kuery functions', () => { }, }; - const node = nodeTypes.function.buildNode('range', 'byt*', 'gt', 1000); + const node = nodeTypes.function.buildNode( + 'range', + 'byt*', + 'gt', + 1000 + ) as KqlRangeFunctionNode; const result = range.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); }); test('should support scripted fields', () => { - const node = nodeTypes.function.buildNode('range', 'script number', 'gt', 1000); + const node = nodeTypes.function.buildNode( + 'range', + 'script number', + 'gt', + 1000 + ) as KqlRangeFunctionNode; const result = range.toElasticsearchQuery(node, indexPattern); expect((result.bool!.should as estypes.QueryDslQueryContainer[])[0]).toHaveProperty( @@ -144,7 +165,7 @@ describe('kuery functions', () => { '@timestamp', 'gt', '2018-01-03T19:04:17' - ); + ) as KqlRangeFunctionNode; const result = range.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -172,7 +193,7 @@ describe('kuery functions', () => { '@timestamp', 'gt', '2018-01-03T19:04:17' - ); + ) as KqlRangeFunctionNode; const result = range.toElasticsearchQuery(node, indexPattern, config); expect(result).toEqual(expected); @@ -193,7 +214,12 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('range', 'bytes', 'gt', 1000); + const node = nodeTypes.function.buildNode( + 'range', + 'bytes', + 'gt', + 1000 + ) as KqlRangeFunctionNode; const result = range.toElasticsearchQuery( node, indexPattern, @@ -225,7 +251,12 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('range', '*doublyNested*', 'lt', 8000); + const node = nodeTypes.function.buildNode( + 'range', + '*doublyNested*', + 'lt', + 8000 + ) as KqlRangeFunctionNode; const result = range.toElasticsearchQuery(node, indexPattern); expect(result).toEqual(expected); @@ -253,7 +284,12 @@ describe('kuery functions', () => { minimum_should_match: 1, }, }; - const node = nodeTypes.function.buildNode('range', '*doublyNested*', 'lt', 8000); + const node = nodeTypes.function.buildNode( + 'range', + '*doublyNested*', + 'lt', + 8000 + ) as KqlRangeFunctionNode; const result = range.toElasticsearchQuery(node, indexPattern, { nestedIgnoreUnmapped: true, }); @@ -261,5 +297,75 @@ describe('kuery functions', () => { expect(result).toEqual(expected); }); }); + + describe('toKqlExpression', () => { + describe('operators', () => { + test('gt', () => { + const node = nodeTypes.function.buildNode( + 'range', + 'bytes', + 'gt', + 1000 + ) as KqlRangeFunctionNode; + const result = range.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"bytes > 1000"`); + }); + + test('gte', () => { + const node = nodeTypes.function.buildNode( + 'range', + 'bytes', + 'gte', + 1000 + ) as KqlRangeFunctionNode; + const result = range.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"bytes >= 1000"`); + }); + + test('lt', () => { + const node = nodeTypes.function.buildNode( + 'range', + 'bytes', + 'lt', + 1000 + ) as KqlRangeFunctionNode; + const result = range.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"bytes < 1000"`); + }); + + test('lte', () => { + const node = nodeTypes.function.buildNode( + 'range', + 'bytes', + 'lte', + 1000 + ) as KqlRangeFunctionNode; + const result = range.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"bytes <= 1000"`); + }); + }); + + test('with wildcard field & literal value', () => { + const node = nodeTypes.function.buildNode( + 'range', + 'byt*', + 'gt', + 1000 + ) as KqlRangeFunctionNode; + const result = range.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"byt* > 1000"`); + }); + + test('with wildcard field & wildcard value', () => { + const node = nodeTypes.function.buildNode( + 'range', + 'byt*', + 'gt', + '100*' + ) as KqlRangeFunctionNode; + const result = range.toKqlExpression(node); + expect(result).toMatchInlineSnapshot(`"byt* > 100*"`); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/functions/range.ts b/packages/kbn-es-query/src/kuery/functions/range.ts index 1d280fbbd563e..3c14d6d726fc5 100644 --- a/packages/kbn-es-query/src/kuery/functions/range.ts +++ b/packages/kbn-es-query/src/kuery/functions/range.ts @@ -6,16 +6,38 @@ * Side Public License, v 1. */ -import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import { nodeTypes } from '../node_types'; +import type { QueryDslQueryContainer } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import { buildNode as buildLiteralNode } from '../node_types/literal'; +import { type KqlFunctionNode, type KqlLiteralNode, nodeTypes } from '../node_types'; import * as ast from '../ast'; import { getRangeScript, RangeFilterParams } from '../../filters'; import { getFields } from './utils/get_fields'; import { getDataViewFieldSubtypeNested, getTimeZoneFromSettings } from '../../utils'; import { getFullFieldNameNode } from './utils/get_full_field_name_node'; -import type { DataViewBase, KueryNode, KueryQueryOptions } from '../../..'; +import type { DataViewBase, KueryQueryOptions } from '../../..'; import type { KqlContext } from '../types'; +export const KQL_FUNCTION_RANGE = 'range'; +export const KQL_RANGE_OPERATOR_MAP = { + gt: '>', + gte: '>=', + lt: '<', + lte: '<=', +}; + +export interface KqlRangeFunctionNode extends KqlFunctionNode { + function: typeof KQL_FUNCTION_RANGE; + arguments: [ + KqlLiteralNode, + keyof Pick, + KqlLiteralNode + ]; +} + +export function isNode(node: KqlFunctionNode): node is KqlRangeFunctionNode { + return node.function === KQL_FUNCTION_RANGE; +} + export function buildNodeParams( fieldName: string, operator: keyof Pick, @@ -23,16 +45,16 @@ export function buildNodeParams( ) { // Run through the parser instead treating it as a literal because it may contain wildcards const fieldNameArg = ast.fromLiteralExpression(fieldName); - const valueArg = nodeTypes.literal.buildNode(value); + const valueArg = buildLiteralNode(value); return { arguments: [fieldNameArg, operator, valueArg] }; } export function toElasticsearchQuery( - node: KueryNode, + node: KqlRangeFunctionNode, indexPattern?: DataViewBase, config: KueryQueryOptions = {}, context: KqlContext = {} -): estypes.QueryDslQueryContainer { +): QueryDslQueryContainer { const [fieldNameArg, operatorArg, valueArg] = node.arguments; const fullFieldNameArg = getFullFieldNameNode( fieldNameArg, @@ -114,3 +136,10 @@ export function toElasticsearchQuery( }, }; } + +export function toKqlExpression(node: KqlRangeFunctionNode): string { + const [field, operator, value] = node.arguments; + return `${ast.toKqlExpression(field)} ${KQL_RANGE_OPERATOR_MAP[operator]} ${ast.toKqlExpression( + value + )}`; +} diff --git a/packages/kbn-es-query/src/kuery/index.ts b/packages/kbn-es-query/src/kuery/index.ts index b48d40d187515..c7faf0cb4154a 100644 --- a/packages/kbn-es-query/src/kuery/index.ts +++ b/packages/kbn-es-query/src/kuery/index.ts @@ -22,7 +22,6 @@ export const toElasticsearchQuery = (...params: Parameters { describe('toElasticsearchQuery', () => { test("should return the given function type's ES query representation", () => { - const node = buildNode('is', 'extension', 'jpg'); + const node = buildNode('is', 'extension', 'jpg') as KqlIsFunctionNode; const expected = isFunctionToElasticsearchQuery(node, indexPattern); const result = toElasticsearchQuery(node, indexPattern); expect(expected).toEqual(result); }); }); + + describe('toKqlExpression', () => { + test("should return the given function type's KQL representation", () => { + const node = buildNode('is', 'extension', 'jpg') as KqlIsFunctionNode; + const result = toKqlExpression(node); + expect(result).toEqual('extension: jpg'); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/node_types/function.ts b/packages/kbn-es-query/src/kuery/node_types/function.ts index c3a46a0aec5f7..5d2ce82048360 100644 --- a/packages/kbn-es-query/src/kuery/node_types/function.ts +++ b/packages/kbn-es-query/src/kuery/node_types/function.ts @@ -8,19 +8,48 @@ import _ from 'lodash'; -import { functions } from '../functions'; +import { + functions, + KQL_FUNCTION_AND, + KQL_FUNCTION_EXISTS, + KQL_FUNCTION_NESTED, + KQL_FUNCTION_IS, + KQL_FUNCTION_NOT, + KQL_FUNCTION_OR, + KQL_FUNCTION_RANGE, +} from '../functions'; import type { DataViewBase, KueryNode, KueryQueryOptions } from '../../..'; -import type { FunctionName, FunctionTypeBuildNode } from './types'; import type { KqlContext } from '../types'; -export function buildNode(functionName: FunctionName, ...args: any[]) { +export const KQL_NODE_TYPE_FUNCTION = 'function'; + +export type KqlFunctionName = + | typeof KQL_FUNCTION_AND + | typeof KQL_FUNCTION_EXISTS + | typeof KQL_FUNCTION_IS + | typeof KQL_FUNCTION_NESTED + | typeof KQL_FUNCTION_NOT + | typeof KQL_FUNCTION_OR + | typeof KQL_FUNCTION_RANGE; + +export interface KqlFunctionNode extends KueryNode { + arguments: unknown[]; + function: KqlFunctionName; + type: typeof KQL_NODE_TYPE_FUNCTION; +} + +export function isNode(node: KueryNode): node is KqlFunctionNode { + return node.type === KQL_NODE_TYPE_FUNCTION; +} + +export function buildNode(functionName: KqlFunctionName, ...args: any[]): KqlFunctionNode { const kueryFunction = functions[functionName]; if (_.isUndefined(kueryFunction)) { throw new Error(`Unknown function "${functionName}"`); } return { - type: 'function' as 'function', + type: KQL_NODE_TYPE_FUNCTION, function: functionName, // This requires better typing of the different typings and their return types. // @ts-ignore @@ -30,26 +59,50 @@ export function buildNode(functionName: FunctionName, ...args: any[]) { // Mainly only useful in the grammar where we'll already have real argument nodes in hand export function buildNodeWithArgumentNodes( - functionName: FunctionName, + functionName: KqlFunctionName, args: any[] -): FunctionTypeBuildNode { +): KqlFunctionNode { if (_.isUndefined(functions[functionName])) { throw new Error(`Unknown function "${functionName}"`); } return { - type: 'function', + type: KQL_NODE_TYPE_FUNCTION, function: functionName, arguments: args, }; } export function toElasticsearchQuery( - node: KueryNode, + node: KqlFunctionNode, indexPattern?: DataViewBase, config?: KueryQueryOptions, context?: KqlContext ) { - const kueryFunction = functions[node.function as FunctionName]; - return kueryFunction.toElasticsearchQuery(node, indexPattern, config, context); + if (functions.and.isNode(node)) + return functions.and.toElasticsearchQuery(node, indexPattern, config, context); + if (functions.exists.isNode(node)) + return functions.exists.toElasticsearchQuery(node), indexPattern, config, context; + if (functions.is.isNode(node)) + return functions.is.toElasticsearchQuery(node, indexPattern, config, context); + if (functions.nested.isNode(node)) + return functions.nested.toElasticsearchQuery(node, indexPattern, config, context); + if (functions.not.isNode(node)) + return functions.not.toElasticsearchQuery(node, indexPattern, config, context); + if (functions.or.isNode(node)) + return functions.or.toElasticsearchQuery(node, indexPattern, config, context); + if (functions.range.isNode(node)) + return functions.range.toElasticsearchQuery(node, indexPattern, config, context); + throw new Error(`Unknown KQL function: "${node.function}"`); +} + +export function toKqlExpression(node: KqlFunctionNode): string { + if (functions.and.isNode(node)) return functions.and.toKqlExpression(node); + if (functions.exists.isNode(node)) return functions.exists.toKqlExpression(node); + if (functions.is.isNode(node)) return functions.is.toKqlExpression(node); + if (functions.nested.isNode(node)) return functions.nested.toKqlExpression(node); + if (functions.not.isNode(node)) return functions.not.toKqlExpression(node); + if (functions.or.isNode(node)) return functions.or.toKqlExpression(node); + if (functions.range.isNode(node)) return functions.range.toKqlExpression(node); + throw new Error(`Unknown KQL function: "${node.function}"`); } diff --git a/packages/kbn-es-query/src/kuery/node_types/index.ts b/packages/kbn-es-query/src/kuery/node_types/index.ts index 99cde81d15887..246cacc66684a 100644 --- a/packages/kbn-es-query/src/kuery/node_types/index.ts +++ b/packages/kbn-es-query/src/kuery/node_types/index.ts @@ -9,11 +9,13 @@ import * as functionType from './function'; import * as literal from './literal'; import * as wildcard from './wildcard'; -import { FunctionTypeBuildNode } from './types'; -export type { FunctionTypeBuildNode }; export { nodeBuilder } from './node_builder'; +export { type KqlFunctionNode, KQL_NODE_TYPE_FUNCTION } from './function'; +export { type KqlLiteralNode, KQL_NODE_TYPE_LITERAL } from './literal'; +export { type KqlWildcardNode, KQL_NODE_TYPE_WILDCARD } from './wildcard'; + /** * @public */ diff --git a/packages/kbn-es-query/src/kuery/node_types/literal.test.ts b/packages/kbn-es-query/src/kuery/node_types/literal.test.ts index d2427844fd2f8..d3319cb3b1c81 100644 --- a/packages/kbn-es-query/src/kuery/node_types/literal.test.ts +++ b/packages/kbn-es-query/src/kuery/node_types/literal.test.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { buildNode, KQL_NODE_TYPE_LITERAL, toElasticsearchQuery } from './literal'; +import { buildNode, KQL_NODE_TYPE_LITERAL, toElasticsearchQuery, toKqlExpression } from './literal'; jest.mock('../grammar'); @@ -29,5 +29,19 @@ describe('kuery node types', () => { expect(result).toBe('foo'); }); }); + + describe('toKqlExpression', () => { + test('quoted', () => { + const node = buildNode('foo'); + const result = toKqlExpression(node); + expect(result).toBe('foo'); + }); + + test('unquoted', () => { + const node = buildNode('foo', true); + const result = toKqlExpression(node); + expect(result).toBe('"foo"'); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/node_types/literal.ts b/packages/kbn-es-query/src/kuery/node_types/literal.ts index 8f0028cb0d19e..ce1541a806ef6 100644 --- a/packages/kbn-es-query/src/kuery/node_types/literal.ts +++ b/packages/kbn-es-query/src/kuery/node_types/literal.ts @@ -33,3 +33,7 @@ export function buildNode(value: KqlLiteralType, isQuoted: boolean = false): Kql export function toElasticsearchQuery(node: KqlLiteralNode) { return node.value; } + +export function toKqlExpression(node: KqlLiteralNode): string { + return node.isQuoted ? `"${node.value}"` : `${node.value}`; +} diff --git a/packages/kbn-es-query/src/kuery/node_types/types.ts b/packages/kbn-es-query/src/kuery/node_types/types.ts deleted file mode 100644 index 8492f4069ae8b..0000000000000 --- a/packages/kbn-es-query/src/kuery/node_types/types.ts +++ /dev/null @@ -1,20 +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 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. - */ - -/** - * WARNING: these typings are incomplete - */ - -export type FunctionName = 'is' | 'and' | 'or' | 'not' | 'range' | 'exists' | 'nested'; - -export interface FunctionTypeBuildNode { - type: 'function'; - function: FunctionName; - // TODO -> Need to define a better type for DSL query - arguments: any[]; -} diff --git a/packages/kbn-es-query/src/kuery/node_types/wildcard.test.ts b/packages/kbn-es-query/src/kuery/node_types/wildcard.test.ts index 7230476ea7ffd..40cbfc00e8284 100644 --- a/packages/kbn-es-query/src/kuery/node_types/wildcard.test.ts +++ b/packages/kbn-es-query/src/kuery/node_types/wildcard.test.ts @@ -7,14 +7,15 @@ */ import { - buildNode, + type KqlWildcardNode, + KQL_NODE_TYPE_WILDCARD, KQL_WILDCARD_SYMBOL, + buildNode, hasLeadingWildcard, - toElasticsearchQuery, test as testNode, + toElasticsearchQuery, + toKqlExpression, toQueryStringQuery, - KQL_NODE_TYPE_WILDCARD, - // @ts-ignore } from './wildcard'; jest.mock('../grammar'); @@ -98,5 +99,16 @@ describe('kuery node types', () => { expect(hasLeadingWildcard(leadingWildcardNode)).toBe(false); }); }); + + describe('toKqlExpression', () => { + test('should return the string representation of the wildcard literal', () => { + const node: KqlWildcardNode = { + type: 'wildcard', + value: 'foo*bar@kuery-wildcard@baz', + }; + const result = toKqlExpression(node); + expect(result).toBe('foo\\*bar*baz'); + }); + }); }); }); diff --git a/packages/kbn-es-query/src/kuery/node_types/wildcard.ts b/packages/kbn-es-query/src/kuery/node_types/wildcard.ts index 2cd3d9cb164e4..d12a6baece892 100644 --- a/packages/kbn-es-query/src/kuery/node_types/wildcard.ts +++ b/packages/kbn-es-query/src/kuery/node_types/wildcard.ts @@ -71,3 +71,7 @@ export function isLoneWildcard({ value }: KqlWildcardNode) { export function hasLeadingWildcard(node: KqlWildcardNode) { return !isLoneWildcard(node) && node.value.startsWith(KQL_WILDCARD_SYMBOL); } + +export function toKqlExpression(node: KqlWildcardNode): string { + return toQueryStringQuery(node); +} diff --git a/packages/kbn-es-query/src/kuery/types.ts b/packages/kbn-es-query/src/kuery/types.ts index 57cc2a52beeee..118e7a6434f10 100644 --- a/packages/kbn-es-query/src/kuery/types.ts +++ b/packages/kbn-es-query/src/kuery/types.ts @@ -8,11 +8,15 @@ import * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import { SerializableRecord } from '@kbn/utility-types'; +import { KQL_NODE_TYPE_FUNCTION } from './node_types/function'; import { KQL_NODE_TYPE_LITERAL } from './node_types/literal'; import { KQL_NODE_TYPE_WILDCARD } from './node_types/wildcard'; /** @public */ -export type KqlNodeType = typeof KQL_NODE_TYPE_LITERAL | 'function' | typeof KQL_NODE_TYPE_WILDCARD; +export type KqlNodeType = + | typeof KQL_NODE_TYPE_LITERAL + | typeof KQL_NODE_TYPE_FUNCTION + | typeof KQL_NODE_TYPE_WILDCARD; /** @public */ export interface KueryNode { diff --git a/packages/kbn-generate-console-definitions/src/generate_availability.test.ts b/packages/kbn-generate-console-definitions/src/generate_availability.test.ts new file mode 100644 index 0000000000000..e70f29b1025b3 --- /dev/null +++ b/packages/kbn-generate-console-definitions/src/generate_availability.test.ts @@ -0,0 +1,169 @@ +/* + * 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 { SpecificationTypes } from './types'; +import { generateAvailability } from './generate_availability'; + +describe('generateAvailability', () => { + const mockEndpoint: SpecificationTypes.Endpoint = { + name: 'test-endpoint', + description: 'test-endpoint', + docUrl: 'test-endpoint', + availability: {}, + request: null, + requestBodyRequired: false, + response: null, + urls: [], + }; + + it('converts empty availability to true', () => { + const endpoint = mockEndpoint; + + const availability = generateAvailability(endpoint); + expect(availability).toEqual({ + stack: true, + serverless: true, + }); + }); + + describe('converts correctly stack visibility', function () { + it('public visibility to true', () => { + const endpoint = { + ...mockEndpoint, + availability: { + stack: { + visibility: SpecificationTypes.Visibility.public, + }, + }, + }; + + const availability = generateAvailability(endpoint); + expect(availability).toEqual({ + stack: true, + serverless: true, + }); + }); + + it('private visibility to false', () => { + const endpoint = { + ...mockEndpoint, + availability: { + stack: { + visibility: SpecificationTypes.Visibility.private, + }, + }, + }; + + const availability = generateAvailability(endpoint); + expect(availability).toEqual({ + stack: false, + serverless: true, + }); + }); + + it('feature_flag visibility to false', () => { + const endpoint = { + ...mockEndpoint, + availability: { + stack: { + visibility: SpecificationTypes.Visibility.feature_flag, + }, + }, + }; + + const availability = generateAvailability(endpoint); + expect(availability).toEqual({ + stack: false, + serverless: true, + }); + }); + + it('missing visibility to true', () => { + const endpoint = { + ...mockEndpoint, + availability: { + stack: {}, + }, + }; + + const availability = generateAvailability(endpoint); + expect(availability).toEqual({ + stack: true, + serverless: true, + }); + }); + }); + + describe('converts correctly serverless visibility', function () { + it('public visibility to true', () => { + const endpoint = { + ...mockEndpoint, + availability: { + serverless: { + visibility: SpecificationTypes.Visibility.public, + }, + }, + }; + + const availability = generateAvailability(endpoint); + expect(availability).toEqual({ + stack: true, + serverless: true, + }); + }); + + it('private visibility to false', () => { + const endpoint = { + ...mockEndpoint, + availability: { + serverless: { + visibility: SpecificationTypes.Visibility.private, + }, + }, + }; + + const availability = generateAvailability(endpoint); + expect(availability).toEqual({ + stack: true, + serverless: false, + }); + }); + + it('feature_flag visibility to false', () => { + const endpoint = { + ...mockEndpoint, + availability: { + serverless: { + visibility: SpecificationTypes.Visibility.feature_flag, + }, + }, + }; + + const availability = generateAvailability(endpoint); + expect(availability).toEqual({ + stack: true, + serverless: false, + }); + }); + + it('missing visibility to true', () => { + const endpoint = { + ...mockEndpoint, + availability: { + serverless: {}, + }, + }; + + const availability = generateAvailability(endpoint); + expect(availability).toEqual({ + stack: true, + serverless: true, + }); + }); + }); +}); diff --git a/packages/kbn-generate-console-definitions/src/generate_availability.ts b/packages/kbn-generate-console-definitions/src/generate_availability.ts new file mode 100644 index 0000000000000..fe995e270a079 --- /dev/null +++ b/packages/kbn-generate-console-definitions/src/generate_availability.ts @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 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 { AutocompleteAvailability } from './types'; +import type { SpecificationTypes } from './types'; + +const DEFAULT_ENDPOINT_AVAILABILITY = true; + +export const generateAvailability = ( + endpoint: SpecificationTypes.Endpoint +): AutocompleteAvailability => { + const availability: AutocompleteAvailability = { + stack: DEFAULT_ENDPOINT_AVAILABILITY, + serverless: DEFAULT_ENDPOINT_AVAILABILITY, + }; + if (endpoint.availability.stack?.visibility) { + availability.stack = endpoint.availability.stack?.visibility === 'public'; + } + if (endpoint.availability.serverless?.visibility) { + availability.serverless = endpoint.availability.serverless?.visibility === 'public'; + } + return availability; +}; diff --git a/packages/kbn-generate-console-definitions/src/generate_console_definitions.ts b/packages/kbn-generate-console-definitions/src/generate_console_definitions.ts index 1d4918f44c6b1..42afed13eed22 100644 --- a/packages/kbn-generate-console-definitions/src/generate_console_definitions.ts +++ b/packages/kbn-generate-console-definitions/src/generate_console_definitions.ts @@ -10,6 +10,7 @@ import fs from 'fs'; import Path, { join } from 'path'; import { ToolingLog } from '@kbn/tooling-log'; import { generateQueryParams } from './generate_query_params'; +import { generateAvailability } from './generate_availability'; import type { AutocompleteBodyParams, AutocompleteDefinition, @@ -86,12 +87,13 @@ const generateDefinition = ( const methods = generateMethods(endpoint); const patterns = generatePatterns(endpoint); const documentation = generateDocumentation(endpoint); + const availability = generateAvailability(endpoint); let definition: AutocompleteDefinition = {}; const params = generateParams(endpoint, schema); if (params) { definition = addParams(definition, params); } - definition = { ...definition, methods, patterns, documentation }; + definition = { ...definition, methods, patterns, documentation, availability }; return definition; }; diff --git a/packages/kbn-generate-console-definitions/src/types/autocomplete_definition_types.ts b/packages/kbn-generate-console-definitions/src/types/autocomplete_definition_types.ts index edbb9bd74d9a8..67bcbc5d131a2 100644 --- a/packages/kbn-generate-console-definitions/src/types/autocomplete_definition_types.ts +++ b/packages/kbn-generate-console-definitions/src/types/autocomplete_definition_types.ts @@ -14,10 +14,16 @@ export interface AutocompleteBodyParams { [key: string]: number | string; } +export interface AutocompleteAvailability { + stack: boolean; + serverless: boolean; +} + export interface AutocompleteDefinition { documentation?: string; methods?: string[]; patterns?: string[]; url_params?: AutocompleteUrlParams; data_autocomplete_rules?: AutocompleteBodyParams; + availability?: AutocompleteAvailability; } diff --git a/packages/kbn-generate-console-definitions/src/types/index.ts b/packages/kbn-generate-console-definitions/src/types/index.ts index a182592350681..ab2b036d39cf0 100644 --- a/packages/kbn-generate-console-definitions/src/types/index.ts +++ b/packages/kbn-generate-console-definitions/src/types/index.ts @@ -10,6 +10,7 @@ export type { AutocompleteDefinition, AutocompleteUrlParams, AutocompleteBodyParams, + AutocompleteAvailability, } from './autocomplete_definition_types'; export * as SpecificationTypes from './specification_types'; diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap index 92aa17170f1fa..f194c0af3908a 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/comments/__snapshots__/comments.test.tsx.snap @@ -105,7 +105,7 @@ Object { >
({ - path: pathWithSpace(space)`/api/kibana/settings/${setting}`, + path: pathWithSpace(space)`/internal/kibana/settings/${setting}`, method: 'DELETE', }); return data; @@ -76,7 +76,7 @@ export class KbnClientUiSettings { await this.requester.request({ method: 'POST', - path: pathWithSpace(space)`/api/kibana/settings`, + path: pathWithSpace(space)`/internal/kibana/settings`, body: { changes }, retries, }); @@ -89,7 +89,7 @@ export class KbnClientUiSettings { this.log.debug('applying update to kibana config: %j', updates); await this.requester.request({ - path: pathWithSpace(space)`/api/kibana/settings`, + path: pathWithSpace(space)`/internal/kibana/settings`, method: 'POST', body: { changes: updates, @@ -100,7 +100,7 @@ export class KbnClientUiSettings { private async getAll({ space }: { space?: string } = {}) { const { data } = await this.requester.request({ - path: pathWithSpace(space)`/api/kibana/settings`, + path: pathWithSpace(space)`/internal/kibana/settings`, method: 'GET', }); diff --git a/packages/kbn-text-based-editor/src/editor_footer.tsx b/packages/kbn-text-based-editor/src/editor_footer.tsx index b2acc7fdb4a6f..3119d548098de 100644 --- a/packages/kbn-text-based-editor/src/editor_footer.tsx +++ b/packages/kbn-text-based-editor/src/editor_footer.tsx @@ -56,42 +56,6 @@ export const EditorFooter = memo(function EditorFooter({ > - - -

- {i18n.translate('textBasedEditor.query.textBasedLanguagesEditor.lineCount', { - defaultMessage: '{count} {count, plural, one {line} other {lines}}', - values: { count: lines }, - })} -

-
-
- - - - - - - -

- {detectTimestamp - ? i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.timestampDetected', - { - defaultMessage: '@timestamp detected', - } - ) - : i18n.translate( - 'textBasedEditor.query.textBasedLanguagesEditor.timestampNotDetected', - { - defaultMessage: '@timestamp not detected', - } - )} -

-
-
-
-
{errors && errors.length > 0 && ( @@ -185,6 +149,42 @@ export const EditorFooter = memo(function EditorFooter({ )} + + +

+ {i18n.translate('textBasedEditor.query.textBasedLanguagesEditor.lineCount', { + defaultMessage: '{count} {count, plural, one {line} other {lines}}', + values: { count: lines }, + })} +

+
+
+ + + + + + + +

+ {detectTimestamp + ? i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.timestampDetected', + { + defaultMessage: '@timestamp detected', + } + ) + : i18n.translate( + 'textBasedEditor.query.textBasedLanguagesEditor.timestampNotDetected', + { + defaultMessage: '@timestamp not detected', + } + )} +

+
+
+
+
diff --git a/src/cli_keystore/show.test.ts b/src/cli_keystore/show.test.ts index 6bd64692b0956..923497ec6d6a4 100644 --- a/src/cli_keystore/show.test.ts +++ b/src/cli_keystore/show.test.ts @@ -96,6 +96,6 @@ describe('Kibana keystore: show', () => { afterEach(() => { mockLogFn.mockReset(); mockErrFn.mockReset(); - jest.restoreAllMocks(); + jest.clearAllMocks(); }); }); diff --git a/src/core/server/integration_tests/core_app/default_route_provider_config.test.ts b/src/core/server/integration_tests/core_app/default_route_provider_config.test.ts index 2b6faff61bdf6..c3e595dc20958 100644 --- a/src/core/server/integration_tests/core_app/default_route_provider_config.test.ts +++ b/src/core/server/integration_tests/core_app/default_route_provider_config.test.ts @@ -58,7 +58,7 @@ describe('default route provider', () => { for (const url of invalidRoutes) { await request - .post(root, '/api/kibana/settings/defaultRoute') + .post(root, '/internal/kibana/settings/defaultRoute') .send({ value: url }) .expect(400); } @@ -72,7 +72,7 @@ describe('default route provider', () => { it('consumes valid values', async function () { await request - .post(root, '/api/kibana/settings/defaultRoute') + .post(root, '/internal/kibana/settings/defaultRoute') .send({ value: '/valid' }) .expect(200); diff --git a/src/core/server/integration_tests/ui_settings/doc_exists.ts b/src/core/server/integration_tests/ui_settings/doc_exists.ts index 0f4191e92ec2e..2247fd9ed68aa 100644 --- a/src/core/server/integration_tests/ui_settings/doc_exists.ts +++ b/src/core/server/integration_tests/ui_settings/doc_exists.ts @@ -50,7 +50,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { }, }); - const { body } = await supertest('get', '/api/kibana/settings').expect(200); + const { body } = await supertest('get', '/internal/kibana/settings').expect(200); expect(body).toMatchObject({ settings: { @@ -75,7 +75,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { const defaultIndex = chance.word(); - const { body } = await supertest('post', '/api/kibana/settings/defaultIndex') + const { body } = await supertest('post', '/internal/kibana/settings/defaultIndex') .send({ value: defaultIndex, }) @@ -100,7 +100,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { it('returns a 400 if trying to set overridden value', async () => { const { supertest } = await setup(); - const { body } = await supertest('delete', '/api/kibana/settings/foo') + const { body } = await supertest('delete', '/internal/kibana/settings/foo') .send({ value: 'baz', }) @@ -119,7 +119,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { const { supertest } = await setup(); const defaultIndex = chance.word(); - const { body } = await supertest('post', '/api/kibana/settings') + const { body } = await supertest('post', '/internal/kibana/settings') .send({ changes: { defaultIndex, @@ -146,7 +146,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { it('returns a 400 if trying to set overridden value', async () => { const { supertest } = await setup(); - const { body } = await supertest('post', '/api/kibana/settings') + const { body } = await supertest('post', '/internal/kibana/settings') .send({ changes: { foo: 'baz', @@ -172,7 +172,9 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { expect(await uiSettings.get('defaultIndex')).toBe(defaultIndex); - const { body } = await supertest('delete', '/api/kibana/settings/defaultIndex').expect(200); + const { body } = await supertest('delete', '/internal/kibana/settings/defaultIndex').expect( + 200 + ); expect(body).toMatchObject({ settings: { @@ -189,7 +191,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { it('returns a 400 if deleting overridden value', async () => { const { supertest } = await setup(); - const { body } = await supertest('delete', '/api/kibana/settings/foo').expect(400); + const { body } = await supertest('delete', '/internal/kibana/settings/foo').expect(400); expect(body).toEqual({ error: 'Bad Request', @@ -210,7 +212,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { }, }); - const { body } = await supertest('get', '/api/kibana/global_settings').expect(200); + const { body } = await supertest('get', '/internal/kibana/global_settings').expect(200); expect(body).toMatchObject({ settings: { @@ -231,7 +233,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { const defaultIndex = chance.word(); - const { body } = await supertest('post', '/api/kibana/global_settings/defaultIndex') + const { body } = await supertest('post', '/internal/kibana/global_settings/defaultIndex') .send({ value: defaultIndex, }) @@ -253,7 +255,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { it.skip('returns a 400 if trying to set overridden value', async () => { const { supertest } = await setup(); - const { body } = await supertest('delete', '/api/kibana/global_settings/foo') + const { body } = await supertest('delete', '/internal/kibana/global_settings/foo') .send({ value: 'baz', }) @@ -272,7 +274,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { const { supertest } = await setup(); const defaultIndex = chance.word(); - const { body } = await supertest('post', '/api/kibana/global_settings') + const { body } = await supertest('post', '/internal/kibana/global_settings') .send({ changes: { defaultIndex, @@ -296,7 +298,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { it.skip('returns a 400 if trying to set overridden value', async () => { const { supertest } = await setup(); - const { body } = await supertest('post', '/api/kibana/global_settings') + const { body } = await supertest('post', '/internal/kibana/global_settings') .send({ changes: { foo: 'baz', @@ -324,7 +326,7 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { const { body } = await supertest( 'delete', - '/api/kibana/global_settings/defaultIndex' + '/internal/kibana/global_settings/defaultIndex' ).expect(200); expect(body).toMatchObject({ @@ -339,7 +341,9 @@ export const docExistsSuite = (savedObjectsIndex: string) => () => { it.skip('returns a 400 if deleting overridden value', async () => { const { supertest } = await setup(); - const { body } = await supertest('delete', '/api/kibana/global_settings/foo').expect(400); + const { body } = await supertest('delete', '/internal/kibana/global_settings/foo').expect( + 400 + ); expect(body).toEqual({ error: 'Bad Request', diff --git a/src/core/server/integration_tests/ui_settings/doc_missing.ts b/src/core/server/integration_tests/ui_settings/doc_missing.ts index f48024ff6c928..b31514d4d11c8 100644 --- a/src/core/server/integration_tests/ui_settings/doc_missing.ts +++ b/src/core/server/integration_tests/ui_settings/doc_missing.ts @@ -26,7 +26,7 @@ export const docMissingSuite = (savedObjectsIndex: string) => () => { it('creates doc, returns a 200 with settings', async () => { const { supertest } = getServices(); - const { body } = await supertest('get', '/api/kibana/settings').expect(200); + const { body } = await supertest('get', '/internal/kibana/settings').expect(200); expect(body).toMatchObject({ settings: { @@ -47,7 +47,7 @@ export const docMissingSuite = (savedObjectsIndex: string) => () => { const { supertest } = getServices(); const defaultIndex = chance.word(); - const { body } = await supertest('post', '/api/kibana/settings/defaultIndex') + const { body } = await supertest('post', '/internal/kibana/settings/defaultIndex') .send({ value: defaultIndex, }) @@ -76,7 +76,7 @@ export const docMissingSuite = (savedObjectsIndex: string) => () => { const defaultIndex = chance.word(); - const { body } = await supertest('post', '/api/kibana/settings') + const { body } = await supertest('post', '/internal/kibana/settings') .send({ changes: { defaultIndex }, }) @@ -103,7 +103,9 @@ export const docMissingSuite = (savedObjectsIndex: string) => () => { it('creates doc, returns a 200 with just buildNum', async () => { const { supertest } = getServices(); - const { body } = await supertest('delete', '/api/kibana/settings/defaultIndex').expect(200); + const { body } = await supertest('delete', '/internal/kibana/settings/defaultIndex').expect( + 200 + ); expect(body).toMatchObject({ settings: { diff --git a/src/core/server/integration_tests/ui_settings/routes.test.ts b/src/core/server/integration_tests/ui_settings/routes.test.ts index 8ca1a1ad7dad1..6999731947d86 100644 --- a/src/core/server/integration_tests/ui_settings/routes.test.ts +++ b/src/core/server/integration_tests/ui_settings/routes.test.ts @@ -10,7 +10,7 @@ import { schema } from '@kbn/config-schema'; import { createRoot, request } from '@kbn/core-test-helpers-kbn-server'; describe('ui settings service', () => { - describe('routes', () => { + describe('public routes', () => { let root: ReturnType; beforeAll(async () => { root = createRoot({ @@ -96,4 +96,91 @@ describe('ui settings service', () => { }); }); }); + + describe('internal routes', () => { + let root: ReturnType; + beforeAll(async () => { + root = createRoot({ + plugins: { initialize: false }, + elasticsearch: { skipStartupConnectionCheck: true }, + }); + + await root.preboot(); + const { uiSettings } = await root.setup(); + uiSettings.register({ + custom: { + value: '42', + schema: schema.string(), + }, + }); + // global uiSettings have to be registerd to be set + uiSettings.registerGlobal({ + custom: { + value: '42', + schema: schema.string(), + }, + }); + uiSettings.registerGlobal({ + foo: { + value: 'foo', + schema: schema.string(), + }, + }); + + await root.start(); + }); + afterAll(async () => await root.shutdown()); + + describe('set', () => { + it('validates value', async () => { + const response = await request + .post(root, '/internal/kibana/settings/custom') + .send({ value: 100 }) + .expect(400); + + expect(response.body.message).toBe( + '[validation [custom]]: expected value of type [string] but got [number]' + ); + }); + }); + describe('set many', () => { + it('validates value', async () => { + const response = await request + .post(root, '/internal/kibana/settings') + .send({ changes: { custom: 100, foo: 'bar' } }) + .expect(400); + + expect(response.body.message).toBe( + '[validation [custom]]: expected value of type [string] but got [number]' + ); + }); + }); + + describe('global', () => { + describe('set', () => { + it('validates value', async () => { + const response = await request + .post(root, '/internal/kibana/global_settings/custom') + .send({ value: 100 }) + .expect(400); + + expect(response.body.message).toBe( + '[validation [custom]]: expected value of type [string] but got [number]' + ); + }); + }); + describe('set many', () => { + it('validates value', async () => { + const response = await request + .post(root, '/internal/kibana/global_settings') + .send({ changes: { custom: 100, foo: 'bar' } }) + .expect(400); + + expect(response.body.message).toBe( + '[validation [custom]]: expected value of type [string] but got [number]' + ); + }); + }); + }); + }); }); diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index b28ed83977090..c12e6f91b821f 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@83.1.0': ['SSPL-1.0 OR Elastic License 2.0'], + '@elastic/eui@84.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/console/server/config.ts b/src/plugins/console/server/config.ts index 7a24fe2dca401..99bf06e5a06f8 100644 --- a/src/plugins/console/server/config.ts +++ b/src/plugins/console/server/config.ts @@ -24,6 +24,11 @@ const schemaLatest = schema.object( ui: schema.object({ enabled: schema.boolean({ defaultValue: true }), }), + autocompleteDefinitions: schema.object({ + // Only displays the endpoints that are available in the specified environment + // Current supported values are 'stack' and 'serverless' + endpointsAvailability: schema.string({ defaultValue: 'stack' }), + }), }, { defaultValue: undefined } ); @@ -31,6 +36,7 @@ const schemaLatest = schema.object( const configLatest: PluginConfigDescriptor = { exposeToBrowser: { ui: true, + autocompleteDefinitions: true, }, schema: schemaLatest, deprecations: () => [], diff --git a/src/plugins/console/server/plugin.ts b/src/plugins/console/server/plugin.ts index 8423fea3ec8be..79757a06132b9 100644 --- a/src/plugins/console/server/plugin.ts +++ b/src/plugins/console/server/plugin.ts @@ -79,7 +79,10 @@ export class ConsoleServerPlugin implements Plugin { } start() { - this.specDefinitionsService.start(); + const { + autocompleteDefinitions: { endpointsAvailability: endpointsAvailability }, + } = this.ctx.config.get(); + this.specDefinitionsService.start({ endpointsAvailability }); } stop() { diff --git a/src/plugins/console/server/services/spec_definitions_service.ts b/src/plugins/console/server/services/spec_definitions_service.ts index 2ed6c711f341e..73ae5ec95a4bf 100644 --- a/src/plugins/console/server/services/spec_definitions_service.ts +++ b/src/plugins/console/server/services/spec_definitions_service.ts @@ -22,6 +22,11 @@ interface EndpointDescription { data_autocomplete_rules?: Record; url_components?: Record; priority?: number; + availability?: Record; +} + +export interface SpecDefinitionsDependencies { + endpointsAvailability: string; } export class SpecDefinitionsService { @@ -81,9 +86,9 @@ export class SpecDefinitionsService { }; } - public start() { + public start({ endpointsAvailability }: SpecDefinitionsDependencies) { if (!this.hasLoadedSpec) { - this.loadJsonSpec(); + this.loadJsonSpec(endpointsAvailability); this.loadJSSpec(); this.hasLoadedSpec = true; } else { @@ -116,11 +121,19 @@ export class SpecDefinitionsService { }, {} as Record); } - private loadJsonSpec() { + private loadJsonSpec(endpointsAvailability: string) { const result = this.loadJSONSpecInDir(AUTOCOMPLETE_DEFINITIONS_FOLDER); Object.keys(result).forEach((endpoint) => { - this.addEndpointDescription(endpoint, result[endpoint]); + const description = result[endpoint]; + const addEndpoint = + // If the 'availability' property doesn't exist, display the endpoint by default + !description.availability || + (endpointsAvailability === 'stack' && description.availability.stack) || + (endpointsAvailability === 'serverless' && description.availability.serverless); + if (addEndpoint) { + this.addEndpointDescription(endpoint, description); + } }); } diff --git a/src/plugins/data/common/search/aggs/agg_config.test.ts b/src/plugins/data/common/search/aggs/agg_config.test.ts index 6ea409e327d56..f4a7eb8a9c389 100644 --- a/src/plugins/data/common/search/aggs/agg_config.test.ts +++ b/src/plugins/data/common/search/aggs/agg_config.test.ts @@ -52,7 +52,7 @@ describe('AggConfig', () => { ]; beforeEach(() => { - jest.restoreAllMocks(); + jest.clearAllMocks(); indexPattern = { id: '1234', title: 'logstash-*', @@ -314,6 +314,7 @@ describe('AggConfig', () => { objs.forEach((obj, i) => { expect(obj).toHaveProperty('id', String(start + i)); }); + spy.mockRestore(); }); }); diff --git a/src/plugins/kibana_react/public/theme/use_theme.ts b/src/plugins/kibana_react/public/theme/use_theme.ts index 6d216fee54c22..5282e7c63e729 100644 --- a/src/plugins/kibana_react/public/theme/use_theme.ts +++ b/src/plugins/kibana_react/public/theme/use_theme.ts @@ -11,9 +11,9 @@ import useObservable from 'react-use/lib/useObservable'; import { of } from 'rxjs'; import { useKibana } from '../context/context'; -export const useKibanaTheme = (): CoreTheme => { - const defaultTheme: CoreTheme = { darkMode: false }; +const defaultTheme: CoreTheme = { darkMode: false }; +export const useKibanaTheme = (): CoreTheme => { const { services: { theme }, } = useKibana(); diff --git a/src/plugins/unified_search/public/filters_builder/filter_item/filter_item.tsx b/src/plugins/unified_search/public/filters_builder/filter_item/filter_item.tsx index 8fb8b888b4958..7bc1f875fcd5e 100644 --- a/src/plugins/unified_search/public/filters_builder/filter_item/filter_item.tsx +++ b/src/plugins/unified_search/public/filters_builder/filter_item/filter_item.tsx @@ -114,7 +114,7 @@ export function FilterItem({ } const [multiValueFilterParams, setMultiValueFilterParams] = useState< Array - >([]); + >(Array.isArray(params) ? params : []); const onHandleField = useCallback( (selectedField: DataViewField) => { diff --git a/test/plugin_functional/test_suites/core_plugins/rendering.ts b/test/plugin_functional/test_suites/core_plugins/rendering.ts index d9f6a4764319b..9f57286daf9e2 100644 --- a/test/plugin_functional/test_suites/core_plugins/rendering.ts +++ b/test/plugin_functional/test_suites/core_plugins/rendering.ts @@ -83,6 +83,7 @@ export default function ({ getService }: PluginFunctionalProviderContext) { // what types of config settings can be exposed to the browser. // When plugin owners make a change that exposes additional config values, the changes will be reflected in this test assertion. // Ensure that your change does not unintentionally expose any sensitive values! + 'console.autocompleteDefinitions.endpointsAvailability (string)', 'console.ui.enabled (boolean)', 'dashboard.allowByValueEmbeddables (boolean)', 'unifiedSearch.autocomplete.querySuggestions.enabled (boolean)', @@ -186,6 +187,7 @@ export default function ({ getService }: PluginFunctionalProviderContext) { 'xpack.apm.latestAgentVersionsUrl (string)', 'xpack.apm.featureFlags.agentConfigurationAvailable (any)', 'xpack.apm.featureFlags.configurableIndicesAvailable (any)', + 'xpack.apm.featureFlags.fastRefreshAvailable (any)', 'xpack.apm.featureFlags.infrastructureTabAvailable (any)', 'xpack.apm.featureFlags.infraUiAvailable (any)', 'xpack.apm.featureFlags.migrationToFleetAvailable (any)', @@ -219,6 +221,8 @@ export default function ({ getService }: PluginFunctionalProviderContext) { 'xpack.cloud.organization_url (string)', 'xpack.cloud.billing_url (string)', 'xpack.cloud.profile_url (string)', + // can't be used to infer urls or customer id from the outside + 'xpack.cloud.serverless.project_id (string)', 'xpack.discoverEnhanced.actions.exploreDataInChart.enabled (boolean)', 'xpack.discoverEnhanced.actions.exploreDataInContextMenu.enabled (boolean)', 'xpack.fleet.agents.enabled (boolean)', diff --git a/tsconfig.base.json b/tsconfig.base.json index 8b4c52078c35a..d65e5ad3cb72d 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -794,6 +794,8 @@ "@kbn/ftr-screenshot-filename/*": ["packages/kbn-ftr-screenshot-filename/*"], "@kbn/functional-with-es-ssl-cases-test-plugin": ["x-pack/test/functional_with_es_ssl/plugins/cases"], "@kbn/functional-with-es-ssl-cases-test-plugin/*": ["x-pack/test/functional_with_es_ssl/plugins/cases/*"], + "@kbn/gen-ai-streaming-response-example-plugin": ["x-pack/examples/gen_ai_streaming_response_example"], + "@kbn/gen-ai-streaming-response-example-plugin/*": ["x-pack/examples/gen_ai_streaming_response_example/*"], "@kbn/generate": ["packages/kbn-generate"], "@kbn/generate/*": ["packages/kbn-generate/*"], "@kbn/generate-console-definitions": ["packages/kbn-generate-console-definitions"], diff --git a/x-pack/examples/gen_ai_streaming_response_example/README.md b/x-pack/examples/gen_ai_streaming_response_example/README.md new file mode 100644 index 0000000000000..30d9b35009304 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/README.md @@ -0,0 +1,5 @@ +## Generative AI Connector Streaming Response Example + +This example plugin shows you how to stream a response from a Generative AI connector. + +To run this example, use the command `yarn start --run-examples`. \ No newline at end of file diff --git a/x-pack/examples/gen_ai_streaming_response_example/jest.config.js b/x-pack/examples/gen_ai_streaming_response_example/jest.config.js new file mode 100644 index 0000000000000..8099286c5a669 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/jest.config.js @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../..', + roots: ['/x-pack/examples/gen_ai_streaming_response_example'], + coverageDirectory: + '/target/kibana-coverage/jest/x-pack/examples/gen_ai_streaming_response_example', + coverageReporters: ['text', 'html'], + collectCoverageFrom: [ + '/x-pack/examples/gen_ai_streaming_response_example/{public,server}/**/*.{ts,tsx}', + ], +}; diff --git a/x-pack/examples/gen_ai_streaming_response_example/kibana.jsonc b/x-pack/examples/gen_ai_streaming_response_example/kibana.jsonc new file mode 100644 index 0000000000000..f37b58c170e13 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/kibana.jsonc @@ -0,0 +1,20 @@ +{ + "type": "plugin", + "id": "@kbn/gen-ai-streaming-response-example-plugin", + "owner": "@elastic/response-ops", + "plugin": { + "id": "genAiStreamingResponseExample", + "server": true, + "browser": true, + "requiredPlugins": [ + "triggersActionsUi", + "actions", + "kibanaReact", + "developerExamples" + ], + "requiredBundles": [ + "kibanaReact", + "stackConnectors" + ] + } +} diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/application.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/application.tsx new file mode 100644 index 0000000000000..b9bc7efae6956 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/public/application.tsx @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import ReactDOM from 'react-dom'; +import { AppMountParameters, CoreStart } from '@kbn/core/public'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; +import { GenAiStreamingResponseExampleApp } from './gen_ai_streaming_response_example'; +import { GenAiStreamingResponseExamplePublicStartDeps } from './plugin'; + +export const renderApp = ( + core: CoreStart, + deps: GenAiStreamingResponseExamplePublicStartDeps, + { element }: AppMountParameters +) => { + const { http } = core; + ReactDOM.render( + + + , + element + ); + + return () => ReactDOM.unmountComponentAtNode(element); +}; diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/components/list_connector.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/components/list_connector.tsx new file mode 100644 index 0000000000000..119a2ddb90d51 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/public/components/list_connector.tsx @@ -0,0 +1,80 @@ +/* + * 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, { useCallback, useMemo, useState } from 'react'; +import { EuiFlexItem, EuiFormRow, EuiLink, EuiSuperSelect, EuiText } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { LoadConnectorResult } from '../gen_ai_streaming_response_example'; + +export interface ListConnectorsProps { + connectors: LoadConnectorResult[]; + setIsConnectorModalVisible: React.Dispatch>; + onConnectorSelect: React.Dispatch>; +} + +export const ListConnectors = ({ + connectors, + onConnectorSelect, + setIsConnectorModalVisible, +}: ListConnectorsProps) => { + const [value, setValue] = useState(); + const connectorOptions = useMemo(() => { + return ( + connectors.map((connector) => { + return { + value: connector.id, + inputDisplay: connector.name, + dropdownDisplay: ( + + {connector.name} + + ), + }; + }) ?? [] + ); + }, [connectors]); + + const onSelectConnector = useCallback( + (v: string) => { + setValue(v); + onConnectorSelect(v); + }, + [onConnectorSelect] + ); + return ( + <> + + + setIsConnectorModalVisible(true)}> + {i18n.translate( + 'genAiStreamingResponseExample.app.component.selectConnectorLabelAppend', + { + defaultMessage: 'or add another', + } + )} + + + } + > + + + + + ); +}; diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/components/setup_connector.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/components/setup_connector.tsx new file mode 100644 index 0000000000000..518a0d9ceb3c3 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/public/components/setup_connector.tsx @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { GenAiLogo } from '@kbn/stack-connectors-plugin/public/common'; +import { EuiFlexGroup, EuiCard, EuiFlexItem, EuiIcon } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +export interface SetupConnectorProps { + setIsConnectorModalVisible: React.Dispatch>; +} + +export const SetupConnector = ({ setIsConnectorModalVisible }: SetupConnectorProps) => { + return ( + + + } + title={i18n.translate( + 'genAiStreamingResponseExample.app.component.addConnectorCardTitle', + { + defaultMessage: 'Add Generative AI Connector', + } + )} + description={i18n.translate( + 'genAiStreamingResponseExample.app.component.addConnectorCardDescription', + { + defaultMessage: 'Configure a connector to continue', + } + )} + onClick={() => setIsConnectorModalVisible(true)} + /> + + + ); +}; diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/components/streaming_response.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/components/streaming_response.tsx new file mode 100644 index 0000000000000..3b1aafe25c266 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/public/components/streaming_response.tsx @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useEffect, useMemo, useState } from 'react'; +import { + EuiFlexGroup, + EuiFlexItem, + EuiAccordion, + EuiPanel, + EuiSpacer, + EuiText, + useEuiTheme, + EuiLoadingSpinner, + EuiIcon, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { css } from '@emotion/react'; +import { CoreStart } from '@kbn/core/public'; +import { concatMap, delay, Observable, of } from 'rxjs'; +import useObservable from 'react-use/lib/useObservable'; + +export interface StreamingResponseProps { + http: CoreStart['http']; + prompt: string; + selectedConnectorId: string; +} + +export interface PromptObservableState { + chunks: Chunk[]; + message?: string; + error?: string; + loading: boolean; +} + +interface ChunkChoice { + index: 0; + delta: { role: string; content: string }; + finish_reason: null | string; +} + +interface Chunk { + id: string; + object: string; + created: number; + model: string; + choices: ChunkChoice[]; +} + +const cursorCss = ` + @keyframes blink { + 0% { + opacity: 1; + } + 50% { + opacity: 0; + } + 100% { + opacity: 1; + } + } + + animation: blink 1s infinite; + width: 10px; + height: 16px; + vertical-align: middle; + display: inline-block; + background: rgba(0, 0, 0, 0.25); +`; + +export const StreamingResponse = ({ + http, + prompt, + selectedConnectorId, +}: StreamingResponseProps) => { + const { euiTheme } = useEuiTheme(); + const [hasOpened, setHasOpened] = useState(false); + + const response$ = useMemo(() => { + return hasOpened + ? new Observable((observer) => { + observer.next({ chunks: [], loading: true }); + + http + .post(`/internal/examples/execute_gen_ai_connector`, { + body: JSON.stringify({ + connector_id: selectedConnectorId, + prompt, + }), + asResponse: true, + rawResponse: true, + }) + .then((response) => { + const status = response.response?.status; + + if (!status || status >= 400) { + throw new Error(response.response?.statusText || 'Unexpected error'); + } + + const reader = response.response.body?.getReader(); + + if (!reader) { + throw new Error('Could not get reader from response'); + } + + const decoder = new TextDecoder(); + + const chunks: Chunk[] = []; + + let prev: string = ''; + + function read() { + reader!.read().then(({ done, value }: { done: boolean; value?: Uint8Array }) => { + try { + if (done) { + observer.next({ + chunks, + message: getMessageFromChunks(chunks), + loading: false, + }); + observer.complete(); + return; + } + + let lines: string[] = (prev + decoder.decode(value)).split('\n'); + + const lastLine: string = lines[lines.length - 1]; + + const isPartialChunk: boolean = !!lastLine && lastLine !== 'data: [DONE]'; + + if (isPartialChunk) { + prev = lastLine; + lines.pop(); + } else { + prev = ''; + } + + lines = lines + .map((str) => str.substr(6)) + .filter((str) => !!str && str !== '[DONE]'); + + const nextChunks: Chunk[] = lines.map((line) => JSON.parse(line)); + + nextChunks.forEach((chunk) => { + chunks.push(chunk); + observer.next({ + chunks, + message: getMessageFromChunks(chunks), + loading: true, + }); + }); + } catch (err) { + observer.error(err); + return; + } + read(); + }); + } + + read(); + + return () => { + reader.cancel(); + }; + }) + .catch((err) => { + observer.next({ chunks: [], error: err.message, loading: false }); + }); + }).pipe(concatMap((value) => of(value).pipe(delay(50)))) + : new Observable(() => {}); + }, [http, hasOpened, prompt, selectedConnectorId]); + + const response = useObservable(response$); + + useEffect(() => {}, [response$]); + + let content = response?.message ?? ''; + + let state: 'init' | 'loading' | 'streaming' | 'error' | 'complete' = 'init'; + + if (response?.loading) { + state = content ? 'streaming' : 'loading'; + } else if (response && 'error' in response && response.error) { + state = 'error'; + content = response.error; + } else if (content) { + state = 'complete'; + } + + let inner: React.ReactElement; + + if (state === 'complete' || state === 'streaming') { + inner = ( +

+ {content} + {state === 'streaming' ? : <>} +

+ ); + } else if (state === 'init' || state === 'loading') { + inner = ( + + + + + + + {i18n.translate('xpack.observability.coPilotPrompt.chatLoading', { + defaultMessage: 'Waiting for a response...', + })} + + + + ); + } else { + inner = ( + + + + + + {content} + + + ); + } + + return ( + + + + + + {i18n.translate( + 'genAiStreamingResponseExample.app.component.streamingResponseTitle', + { + defaultMessage: 'Stream Response', + } + )} + + + + + } + initialIsOpen={false} + onToggle={() => { + setHasOpened(true); + }} + > + + {inner} + + + ); +}; + +function getMessageFromChunks(chunks: Chunk[]) { + let message = ''; + chunks.forEach((chunk) => { + message += chunk.choices[0]?.delta.content ?? ''; + }); + return message; +} diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/gen_ai_streaming_response_example.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/gen_ai_streaming_response_example.tsx new file mode 100644 index 0000000000000..427183fa37356 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/public/gen_ai_streaming_response_example.tsx @@ -0,0 +1,196 @@ +/* + * 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, { useCallback, useEffect, useState } from 'react'; +import { + EuiPageBody, + EuiPageHeader, + EuiSpacer, + EuiPageSection, + EuiPage, + EuiFlexItem, + EuiFormRow, + EuiTextArea, + EuiText, + EuiLink, +} from '@elastic/eui'; +import { + ActionType, + TriggersAndActionsUIPublicPluginStart, +} from '@kbn/triggers-actions-ui-plugin/public'; +import { CoreStart, HttpSetup } from '@kbn/core/public'; +import { + ConnectorAddModal, + loadActionTypes, +} from '@kbn/triggers-actions-ui-plugin/public/common/constants'; +import { i18n } from '@kbn/i18n'; +import { SetupConnector } from './components/setup_connector'; +import { ListConnectors } from './components/list_connector'; +import { StreamingResponse } from './components/streaming_response'; + +const width = 800; + +export interface GenAiStreamingResponseExampleAppParams { + http: CoreStart['http']; + triggersActionsUi: TriggersAndActionsUIPublicPluginStart; +} + +export interface LoadConnectorResult { + id: string; + actionTypeId: string; + name: string; +} + +const loadGenAiConnectors = async ({ + http, +}: { + http: HttpSetup; +}): Promise => { + return await http.get(`/internal/examples/get_gen_ai_connectors`); +}; + +export const GenAiStreamingResponseExampleApp = ({ + http, + triggersActionsUi, +}: GenAiStreamingResponseExampleAppParams) => { + const { actionTypeRegistry } = triggersActionsUi; + const [genAiConnectorType, setGenAiConnectorType] = useState({ + enabledInConfig: true, + enabledInLicense: true, + isSystemActionType: false, + minimumLicenseRequired: 'platinum', + supportedFeatureIds: ['general'], + id: '.gen-ai', + name: 'Generative AI', + enabled: true, + }); + const [loading, setLoading] = useState(true); + const [connectors, setConnectors] = useState([]); + const [hasGenAiConnectors, setHasGenAiConnectors] = useState(false); + const [isConnectorModalVisible, setIsConnectorModalVisible] = useState(false); + const [selectedConnectorId, setSelectedConnectorId] = useState(''); + const [prompt, setPrompt] = useState(); + + const getConnectors = useCallback(async () => { + const result = await loadGenAiConnectors({ http }); + setConnectors(result); + setHasGenAiConnectors(result.length > 0); + }, [http, setConnectors, setHasGenAiConnectors]); + + useEffect(() => { + (async function () { + const result = await loadActionTypes({ http }); + const ga = result?.find((at) => at.id === '.gen-ai'); + if (ga) { + setGenAiConnectorType(ga); + } + })(); + }, [http, setConnectors]); + + useEffect(() => { + (async function () { + await getConnectors(); + setLoading(false); + })(); + }, [getConnectors]); + + const onPromptChange = useCallback( + (e: React.ChangeEvent) => setPrompt(e.target.value), + [setPrompt] + ); + + const clearPrompt = useCallback(() => setPrompt(''), [setPrompt]); + + return ( + + + + + + {!loading && ( + <> + {hasGenAiConnectors ? ( + + ) : ( + + )} + {isConnectorModalVisible && ( + { + // refetch the connectors + await getConnectors(); + setIsConnectorModalVisible(false); + }} + actionTypeRegistry={actionTypeRegistry} + /> + )} + {selectedConnectorId.length > 0 && ( + <> + + + + + {i18n.translate( + 'genAiStreamingResponseExample.app.component.userPromptLabelAppend', + { + defaultMessage: 'Clear prompt', + } + )} + + + } + > + + + + + + {prompt && selectedConnectorId.length > 0 && ( + + )} + + + )} + + )} + + + + ); +}; diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/index.ts b/x-pack/examples/gen_ai_streaming_response_example/public/index.ts new file mode 100644 index 0000000000000..6b0e172fc3bc5 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/public/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { GenAiStreamingResponseExamplePlugin } from './plugin'; + +export const plugin = () => new GenAiStreamingResponseExamplePlugin(); diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/plugin.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/plugin.tsx new file mode 100644 index 0000000000000..ccf4fe8aa06b0 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/public/plugin.tsx @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { Plugin, CoreSetup, AppMountParameters, AppNavLinkStatus } from '@kbn/core/public'; +import { PluginSetupContract as AlertingSetup } from '@kbn/alerting-plugin/public'; +import { ChartsPluginStart } from '@kbn/charts-plugin/public'; +import { + TriggersAndActionsUIPublicPluginSetup, + TriggersAndActionsUIPublicPluginStart, +} from '@kbn/triggers-actions-ui-plugin/public'; +import { DataPublicPluginStart } from '@kbn/data-plugin/public'; +import { DeveloperExamplesSetup } from '@kbn/developer-examples-plugin/public'; + +export interface GenAiStreamingResponseExamplePublicSetupDeps { + alerting: AlertingSetup; + triggersActionsUi: TriggersAndActionsUIPublicPluginSetup; + developerExamples: DeveloperExamplesSetup; +} + +export interface GenAiStreamingResponseExamplePublicStartDeps { + alerting: AlertingSetup; + triggersActionsUi: TriggersAndActionsUIPublicPluginStart; + charts: ChartsPluginStart; + data: DataPublicPluginStart; +} + +export class GenAiStreamingResponseExamplePlugin + implements Plugin +{ + public setup( + core: CoreSetup, + { developerExamples }: GenAiStreamingResponseExamplePublicSetupDeps + ) { + core.application.register({ + id: 'GenAiStreamingResponseExample', + title: 'Generative AI Streaming Response Example', + navLinkStatus: AppNavLinkStatus.hidden, + async mount(params: AppMountParameters) { + const [coreStart, depsStart] = await core.getStartServices(); + const { renderApp } = await import('./application'); + return renderApp(coreStart, depsStart, params); + }, + }); + + developerExamples.register({ + appId: 'GenAiStreamingResponseExample', + title: 'Generative AI Streaming Response Example', + description: + 'This example demonstrates how to stream a response from a Generative AI connector', + }); + } + + public start() {} + public stop() {} +} diff --git a/x-pack/examples/gen_ai_streaming_response_example/server/index.ts b/x-pack/examples/gen_ai_streaming_response_example/server/index.ts new file mode 100644 index 0000000000000..e85214a01d03d --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/server/index.ts @@ -0,0 +1,12 @@ +/* + * 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 { PluginInitializer } from '@kbn/core/server'; +import { GenAiStreamingResponseExamplePlugin } from './plugin'; + +export const plugin: PluginInitializer = () => + new GenAiStreamingResponseExamplePlugin(); diff --git a/x-pack/examples/gen_ai_streaming_response_example/server/plugin.ts b/x-pack/examples/gen_ai_streaming_response_example/server/plugin.ts new file mode 100644 index 0000000000000..3d4dc4bcf33ab --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/server/plugin.ts @@ -0,0 +1,123 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import Boom from '@hapi/boom'; +import { CreateChatCompletionResponse } from 'openai'; +import { Readable } from 'stream'; +import { Plugin, CoreSetup } from '@kbn/core/server'; +import { schema } from '@kbn/config-schema'; +import { PluginStartContract as ActionsPluginStart } from '@kbn/actions-plugin/server'; + +interface GenAiStreamingResponseExamplePluginStart { + actions: ActionsPluginStart; +} + +interface Message { + role: string; + content: string; +} + +interface MessageBody { + model?: string; + messages: Message[]; +} + +export class GenAiStreamingResponseExamplePlugin implements Plugin { + public setup({ http, getStartServices }: CoreSetup) { + const router = http.createRouter(); + + router.get( + { + path: `/internal/examples/get_gen_ai_connectors`, + validate: {}, + }, + async (_, request, response) => { + const [, { actions }] = await getStartServices(); + const actionsClient = await actions.getActionsClientWithRequest(request); + + const allConnectors = await actionsClient.getAll(); + + return response.ok({ + body: (allConnectors ?? []).filter( + (connector) => connector.actionTypeId === '.gen-ai' && !connector.isPreconfigured + ), + }); + } + ); + + router.post( + { + path: `/internal/examples/execute_gen_ai_connector`, + validate: { + body: schema.object({ + connector_id: schema.string(), + prompt: schema.string(), + }), + }, + }, + async (_, request, response) => { + const [, { actions }] = await getStartServices(); + const actionsClient = await actions.getActionsClientWithRequest(request); + + const connector = await actionsClient.get({ id: request.body.connector_id }); + + let messageBody: MessageBody; + if (connector.config?.apiProvider === 'OpenAI') { + messageBody = { + model: 'gpt-3.5-turbo', + messages: [ + { + role: 'user', + content: request.body.prompt, + }, + ], + }; + } else if (connector.config?.apiProvider === 'Azure OpenAI') { + messageBody = { + messages: [ + { + role: 'user', + content: request.body.prompt, + }, + ], + }; + } else { + throw Boom.badRequest( + `Invalid generative AI connector selected - ${connector.config?.apiProvider} is not a valid provider` + ); + } + + const executeResult = await actionsClient.execute({ + actionId: request.body.connector_id, + params: { + subAction: 'stream', + subActionParams: { + body: JSON.stringify(messageBody), + stream: true, + }, + }, + }); + + if (executeResult?.status === 'error') { + return response.customError({ + statusCode: 500, + body: { + message: `${executeResult?.message} - ${executeResult?.serviceMessage}`, + }, + }); + } + + return response.ok({ + body: executeResult.data as CreateChatCompletionResponse | Readable, + }); + } + ); + } + + public start() {} + public stop() {} +} diff --git a/x-pack/examples/gen_ai_streaming_response_example/tsconfig.json b/x-pack/examples/gen_ai_streaming_response_example/tsconfig.json new file mode 100644 index 0000000000000..d0bfdde417e45 --- /dev/null +++ b/x-pack/examples/gen_ai_streaming_response_example/tsconfig.json @@ -0,0 +1,29 @@ +{ + "extends": "../../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types" + }, + "include": [ + "index.ts", + "public/**/*.ts", + "public/**/*.tsx", + "server/**/*.ts", + "../../../typings/**/*", + ], + "exclude": [ + "target/**/*", + ], + "kbn_references": [ + "@kbn/core", + "@kbn/kibana-react-plugin", + "@kbn/triggers-actions-ui-plugin", + "@kbn/developer-examples-plugin", + "@kbn/i18n", + "@kbn/config-schema", + "@kbn/stack-connectors-plugin", + "@kbn/alerting-plugin", + "@kbn/charts-plugin", + "@kbn/data-plugin", + "@kbn/actions-plugin", + ] +} diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector/index.tsx index 77e0c703ea4e5..4891df533fdf1 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector/index.tsx @@ -33,7 +33,7 @@ interface Props { defaultConnectorId?: string; defaultProvider?: OpenAiProviderType; selectedConversationId: string | undefined; - setSelectedConversationId: React.Dispatch>; + onConversationSelected: (conversationId: string) => void; shouldDisableKeyboardShortcut?: () => boolean; isDisabled?: boolean; } @@ -59,7 +59,7 @@ export const ConversationSelector: React.FC = React.memo( selectedConversationId = DEFAULT_CONVERSATION_TITLE, defaultConnectorId, defaultProvider, - setSelectedConversationId, + onConversationSelected, shouldDisableKeyboardShortcut = () => false, isDisabled = false, }) => { @@ -109,14 +109,14 @@ export const ConversationSelector: React.FC = React.memo( }; setConversation({ conversation: newConversation }); } - setSelectedConversationId(searchValue); + onConversationSelected(searchValue); }, [ allSystemPrompts, defaultConnectorId, defaultProvider, setConversation, - setSelectedConversationId, + onConversationSelected, ] ); @@ -124,13 +124,13 @@ export const ConversationSelector: React.FC = React.memo( const onDelete = useCallback( (cId: string) => { if (selectedConversationId === cId) { - setSelectedConversationId(getPreviousConversationId(conversationIds, cId)); + onConversationSelected(getPreviousConversationId(conversationIds, cId)); } setTimeout(() => { deleteConversation(cId); }, 0); }, - [conversationIds, deleteConversation, selectedConversationId, setSelectedConversationId] + [conversationIds, deleteConversation, selectedConversationId, onConversationSelected] ); const onChange = useCallback( @@ -138,20 +138,20 @@ export const ConversationSelector: React.FC = React.memo( if (newOptions.length === 0) { setSelectedOptions([]); } else if (conversationOptions.findIndex((o) => o.label === newOptions?.[0].label) !== -1) { - setSelectedConversationId(newOptions?.[0].label); + onConversationSelected(newOptions?.[0].label); } }, - [conversationOptions, setSelectedConversationId] + [conversationOptions, onConversationSelected] ); const onLeftArrowClick = useCallback(() => { const prevId = getPreviousConversationId(conversationIds, selectedConversationId); - setSelectedConversationId(prevId); - }, [conversationIds, selectedConversationId, setSelectedConversationId]); + onConversationSelected(prevId); + }, [conversationIds, selectedConversationId, onConversationSelected]); const onRightArrowClick = useCallback(() => { const nextId = getNextConversationId(conversationIds, selectedConversationId); - setSelectedConversationId(nextId); - }, [conversationIds, selectedConversationId, setSelectedConversationId]); + onConversationSelected(nextId); + }, [conversationIds, selectedConversationId, onConversationSelected]); // Register keyboard listener for quick conversation switching const onKeyDown = useCallback( @@ -200,11 +200,17 @@ export const ConversationSelector: React.FC = React.memo( return ( - + = React.memo( return ( - + void; selectedConversation: Conversation | undefined; @@ -43,6 +46,8 @@ export const ConversationSettings: React.FC = React.m ({ actionTypeRegistry, allSystemPrompts, + defaultConnectorId, + defaultProvider, selectedConversation, onSelectedConversationChange, conversationSettings, @@ -50,14 +55,14 @@ export const ConversationSettings: React.FC = React.m setUpdatedConversationSettings, isDisabled = false, }) => { - // Defaults const defaultSystemPrompt = useMemo(() => { - return ( - allSystemPrompts.find((systemPrompt) => systemPrompt.isNewConversationDefault) ?? - allSystemPrompts[0] - ); + return getDefaultSystemPrompt({ allSystemPrompts, conversation: undefined }); }, [allSystemPrompts]); + const selectedSystemPrompt = useMemo(() => { + return getDefaultSystemPrompt({ allSystemPrompts, conversation: selectedConversation }); + }, [allSystemPrompts, selectedConversation]); + // Conversation callbacks // When top level conversation selection changes const onConversationSelectionChange = useCallback( @@ -68,8 +73,8 @@ export const ConversationSettings: React.FC = React.m id: c ?? '', messages: [], apiConfig: { - connectorId: undefined, - provider: undefined, + connectorId: defaultConnectorId, + provider: defaultProvider, defaultSystemPromptId: defaultSystemPrompt?.id, }, } @@ -86,7 +91,13 @@ export const ConversationSettings: React.FC = React.m onSelectedConversationChange(newSelectedConversation); }, - [defaultSystemPrompt?.id, onSelectedConversationChange, setUpdatedConversationSettings] + [ + defaultConnectorId, + defaultProvider, + defaultSystemPrompt?.id, + onSelectedConversationChange, + setUpdatedConversationSettings, + ] ); const onConversationDeleted = useCallback( @@ -102,18 +113,8 @@ export const ConversationSettings: React.FC = React.m [setUpdatedConversationSettings] ); - const selectedSystemPrompt = useMemo( - () => - getDefaultSystemPromptFromConversation({ - allSystemPrompts, - conversation: selectedConversation, - defaultSystemPrompt, - }), - [allSystemPrompts, defaultSystemPrompt, selectedConversation] - ); - const handleOnSystemPromptSelectionChange = useCallback( - (systemPromptId?: string) => { + (systemPromptId?: string | undefined) => { if (selectedConversation != null) { setUpdatedConversationSettings((prev) => ({ ...prev, @@ -215,6 +216,8 @@ export const ConversationSettings: React.FC = React.m onSystemPromptSelectionChange={handleOnSystemPromptSelectionChange} selectedPrompt={selectedSystemPrompt} showTitles={true} + isSettingsModalVisible={true} + setIsSettingsModalVisible={noop} // noop, already in settings /> diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/helpers.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/helpers.tsx deleted file mode 100644 index 5d0cc04aa9630..0000000000000 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_settings/helpers.tsx +++ /dev/null @@ -1,33 +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 { Conversation, Prompt } from '../../../..'; - -/** - * Returns a conversation's default system prompt, or the default system prompt if the conversation does not have one. - * @param allSystemPrompts - * @param conversation - * @param defaultSystemPrompt - */ -export const getDefaultSystemPromptFromConversation = ({ - allSystemPrompts, - conversation, - defaultSystemPrompt, -}: { - conversation: Conversation | undefined; - allSystemPrompts: Prompt[]; - defaultSystemPrompt: Prompt; -}) => { - const convoDefaultSystemPromptId = conversation?.apiConfig.defaultSystemPromptId; - if (convoDefaultSystemPromptId && allSystemPrompts) { - return ( - allSystemPrompts.find((prompt) => prompt.id === convoDefaultSystemPromptId) ?? - defaultSystemPrompt - ); - } - return allSystemPrompts.find((prompt) => prompt.isNewConversationDefault) ?? defaultSystemPrompt; -}; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/helpers.test.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/helpers.test.ts index f5565a1b4b0ff..a6d13bbbfd544 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/helpers.test.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/helpers.test.ts @@ -5,8 +5,9 @@ * 2.0. */ -import { getWelcomeConversation } from './helpers'; +import { getDefaultConnector, getWelcomeConversation } from './helpers'; import { enterpriseMessaging } from './use_conversation/sample_conversations'; +import { ActionConnector } from '@kbn/triggers-actions-ui-plugin/public'; describe('getWelcomeConversation', () => { describe('isAssistantEnabled = false', () => { @@ -112,4 +113,81 @@ describe('getWelcomeConversation', () => { expect(result.messages.length).toEqual(4); }); }); + + describe('getDefaultConnector', () => { + it('should return undefined if connectors array is undefined', () => { + const connectors = undefined; + const result = getDefaultConnector(connectors); + + expect(result).toBeUndefined(); + }); + + it('should return undefined if connectors array is empty', () => { + const connectors: Array, Record>> = + []; + const result = getDefaultConnector(connectors); + + expect(result).toBeUndefined(); + }); + + it('should return the connector id if there is only one connector', () => { + const connectors: Array, Record>> = [ + { + actionTypeId: '.gen-ai', + isPreconfigured: false, + isDeprecated: false, + referencedByCount: 0, + isMissingSecrets: false, + isSystemAction: false, + secrets: {}, + id: 'c5f91dc0-2197-11ee-aded-897192c5d6f5', + name: 'OpenAI', + config: { + apiProvider: 'OpenAI', + apiUrl: 'https://api.openai.com/v1/chat/completions', + }, + }, + ]; + const result = getDefaultConnector(connectors); + + expect(result).toBe(connectors[0]); + }); + + it('should return undefined if there are multiple connectors', () => { + const connectors: Array, Record>> = [ + { + actionTypeId: '.gen-ai', + isPreconfigured: false, + isDeprecated: false, + referencedByCount: 0, + isMissingSecrets: false, + isSystemAction: false, + secrets: {}, + id: 'c5f91dc0-2197-11ee-aded-897192c5d6f5', + name: 'OpenAI', + config: { + apiProvider: 'OpenAI 1', + apiUrl: 'https://api.openai.com/v1/chat/completions', + }, + }, + { + actionTypeId: '.gen-ai', + isPreconfigured: false, + isDeprecated: false, + referencedByCount: 0, + isMissingSecrets: false, + isSystemAction: false, + secrets: {}, + id: 'c7f91dc0-2197-11ee-aded-897192c5d633', + name: 'OpenAI', + config: { + apiProvider: 'OpenAI 2', + apiUrl: 'https://api.openai.com/v1/chat/completions', + }, + }, + ]; + const result = getDefaultConnector(connectors); + expect(result).toBeUndefined(); + }); + }); }); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/helpers.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/helpers.ts index 65dba7f85307c..7662c749a7931 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/helpers.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/helpers.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { ActionConnector } from '@kbn/triggers-actions-ui-plugin/public'; import { Conversation } from '../..'; import type { Message } from '../assistant_context/types'; import { enterpriseMessaging, WELCOME_CONVERSATION } from './use_conversation/sample_conversations'; @@ -49,3 +50,12 @@ export const getWelcomeConversation = ( messages: [...conversation.messages, ...WELCOME_CONVERSATION.messages], }; }; + +/** + * Returns a default connector if there is only one connector + * @param connectors + */ +export const getDefaultConnector = ( + connectors: Array, Record>> | undefined +): ActionConnector, Record> | undefined => + connectors?.length === 1 ? connectors[0] : undefined; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx index 68db74b637767..fd6057e8a2e16 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx @@ -29,7 +29,7 @@ import { ActionConnectorProps } from '@kbn/triggers-actions-ui-plugin/public/typ import { WELCOME_CONVERSATION_TITLE } from './use_conversation/translations'; import { AssistantTitle } from './assistant_title'; import { UpgradeButtons } from '../upgrade/upgrade_buttons'; -import { getMessageFromRawResponse, getWelcomeConversation } from './helpers'; +import { getDefaultConnector, getMessageFromRawResponse, getWelcomeConversation } from './helpers'; import { useAssistantContext } from '../assistant_context'; import { ContextPills } from './context_pills'; @@ -37,7 +37,7 @@ import { getNewSelectedPromptContext } from '../data_anonymization/get_new_selec import { PromptTextArea } from './prompt_textarea'; import type { PromptContext, SelectedPromptContext } from './prompt_context/types'; import { useConversation } from './use_conversation'; -import { CodeBlockDetails } from './use_conversation/helpers'; +import { CodeBlockDetails, getDefaultSystemPrompt } from './use_conversation/helpers'; import { useSendMessages } from './use_send_messages'; import type { Message } from '../assistant_context/types'; import { ConversationSelector } from './conversations/conversation_selector'; @@ -103,11 +103,15 @@ const AssistantComponent: React.FC = ({ isSuccess: areConnectorsFetched, refetch: refetchConnectors, } = useLoadConnectors({ http }); - const defaultConnectorId = useMemo(() => connectors?.[0]?.id, [connectors]); + const defaultConnectorId = useMemo(() => getDefaultConnector(connectors)?.id, [connectors]); const defaultProvider = useMemo( () => - (connectors?.[0] as ActionConnectorProps<{ apiProvider: OpenAiProviderType }, unknown>) - ?.config?.apiProvider, + ( + getDefaultConnector(connectors) as ActionConnectorProps< + { apiProvider: OpenAiProviderType }, + unknown + > + )?.config?.apiProvider, [connectors] ); @@ -145,6 +149,9 @@ const AssistantComponent: React.FC = ({ [currentConversation, isAssistantEnabled] ); + // Settings modal state (so it isn't shared between assistant instances like Timeline) + const [isSettingsModalVisible, setIsSettingsModalVisible] = useState(false); + // Remember last selection for reuse after keyboard shortcut is pressed. // Clear it if there is no connectors useEffect(() => { @@ -178,7 +185,7 @@ const AssistantComponent: React.FC = ({ const [promptTextPreview, setPromptTextPreview] = useState(''); const [autoPopulatedOnce, setAutoPopulatedOnce] = useState(false); - const [suggestedUserPrompt, setSuggestedUserPrompt] = useState(null); + const [userPrompt, setUserPrompt] = useState(null); const [showMissingConnectorCallout, setShowMissingConnectorCallout] = useState(false); @@ -234,13 +241,29 @@ const AssistantComponent: React.FC = ({ //// // - const selectedSystemPrompt = useMemo(() => { - if (currentConversation.apiConfig.defaultSystemPromptId) { - return allSystemPrompts.find( - (prompt) => prompt.id === currentConversation.apiConfig.defaultSystemPromptId + const selectedSystemPrompt = useMemo( + () => getDefaultSystemPrompt({ allSystemPrompts, conversation: currentConversation }), + [allSystemPrompts, currentConversation] + ); + + const [editingSystemPromptId, setEditingSystemPromptId] = useState( + selectedSystemPrompt?.id + ); + + const handleOnConversationSelected = useCallback( + (cId: string) => { + setSelectedConversationId(cId); + setEditingSystemPromptId( + getDefaultSystemPrompt({ allSystemPrompts, conversation: conversations[cId] })?.id ); - } - }, [allSystemPrompts, currentConversation.apiConfig.defaultSystemPromptId]); + }, + [allSystemPrompts, conversations] + ); + + const handlePromptChange = useCallback((prompt: string) => { + setPromptTextPreview(prompt); + setUserPrompt(prompt); + }, []); // Handles sending latest user prompt to API const handleSendMessage = useCallback( @@ -251,13 +274,15 @@ const AssistantComponent: React.FC = ({ replacements: newReplacements, }); + const systemPrompt = allSystemPrompts.find((prompt) => prompt.id === editingSystemPromptId); + const message = await getCombinedMessage({ isNewChat: currentConversation.messages.length === 0, currentReplacements: currentConversation.replacements, onNewReplacements, promptText, selectedPromptContexts, - selectedSystemPrompt, + selectedSystemPrompt: systemPrompt, }); const updatedMessages = appendMessage({ @@ -278,23 +303,42 @@ const AssistantComponent: React.FC = ({ appendMessage({ conversationId: selectedConversationId, message: responseMessage }); }, [ - selectedSystemPrompt, - appendMessage, - appendReplacements, - currentConversation.apiConfig, + allSystemPrompts, currentConversation.messages.length, currentConversation.replacements, - http, - selectedConversationId, + currentConversation.apiConfig, selectedPromptContexts, + appendMessage, + selectedConversationId, sendMessages, + http, + appendReplacements, + editingSystemPromptId, ] ); const handleButtonSendMessage = useCallback(() => { handleSendMessage(promptTextAreaRef.current?.value?.trim() ?? ''); + setUserPrompt(''); }, [handleSendMessage, promptTextAreaRef]); + const handleOnSystemPromptSelectionChange = useCallback((systemPromptId?: string) => { + setEditingSystemPromptId(systemPromptId); + }, []); + + const handleOnChatCleared = useCallback(() => { + const defaultSystemPromptId = getDefaultSystemPrompt({ + allSystemPrompts, + conversation: conversations[selectedConversationId], + })?.id; + + setPromptTextPreview(''); + setUserPrompt(''); + setSelectedPromptContexts({}); + clearConversation(selectedConversationId); + setEditingSystemPromptId(defaultSystemPromptId); + }, [allSystemPrompts, clearConversation, conversations, selectedConversationId]); + const shouldDisableConversationSelectorHotkeys = useCallback(() => { const promptTextAreaHasFocus = document.activeElement === promptTextAreaRef.current; return promptTextAreaHasFocus; @@ -347,7 +391,7 @@ const AssistantComponent: React.FC = ({ } if (promptContext.suggestedUserPrompt != null) { - setSuggestedUserPrompt(promptContext.suggestedUserPrompt); + setUserPrompt(promptContext.suggestedUserPrompt); } } }, [ @@ -398,16 +442,21 @@ const AssistantComponent: React.FC = ({ `} /> - + {currentConversation.messages.length !== 0 && + Object.keys(selectedPromptContexts).length > 0 && } {(currentConversation.messages.length === 0 || Object.keys(selectedPromptContexts).length > 0) && ( )} @@ -417,7 +466,10 @@ const AssistantComponent: React.FC = ({ ), [ currentConversation, + editingSystemPromptId, getComments, + handleOnSystemPromptSelectionChange, + isSettingsModalVisible, promptContexts, promptTextPreview, selectedPromptContexts, @@ -474,7 +526,7 @@ const AssistantComponent: React.FC = ({ defaultConnectorId={defaultConnectorId} defaultProvider={defaultProvider} selectedConversationId={selectedConversationId} - setSelectedConversationId={setSelectedConversationId} + onConversationSelected={handleOnConversationSelected} shouldDisableKeyboardShortcut={shouldDisableConversationSelectorHotkeys} isDisabled={isDisabled} /> @@ -504,8 +556,12 @@ const AssistantComponent: React.FC = ({ @@ -536,12 +592,15 @@ const AssistantComponent: React.FC = ({ {comments} - {!isDisabled && showMissingConnectorCallout && ( + {!isDisabled && showMissingConnectorCallout && areConnectorsFetched && ( <> - + @@ -585,8 +644,8 @@ const AssistantComponent: React.FC = ({ @@ -614,12 +673,7 @@ const AssistantComponent: React.FC = ({ isDisabled={isSendingDisabled} aria-label={i18n.CLEAR_CHAT} color="danger" - onClick={() => { - setPromptTextPreview(''); - clearConversation(selectedConversationId); - setSelectedPromptContexts({}); - setSuggestedUserPrompt(''); - }} + onClick={handleOnChatCleared} /> @@ -639,7 +693,12 @@ const AssistantComponent: React.FC = ({ - {!isDisabled && } + {!isDisabled && ( + + )} ); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/index.test.tsx index b671d225bac4f..96abbd4dbb516 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/index.test.tsx @@ -29,20 +29,24 @@ const mockSelectedEventPromptContext: SelectedPromptContext = { const defaultProps: Props = { conversation: undefined, + editingSystemPromptId: undefined, isNewConversation: true, + isSettingsModalVisible: false, + onSystemPromptSelectionChange: jest.fn(), promptContexts: { [mockAlertPromptContext.id]: mockAlertPromptContext, [mockEventPromptContext.id]: mockEventPromptContext, }, promptTextPreview: 'Preview text', selectedPromptContexts: {}, + setIsSettingsModalVisible: jest.fn(), setSelectedPromptContexts: jest.fn(), }; describe('PromptEditorComponent', () => { beforeEach(() => jest.clearAllMocks()); - it('renders the system prompt viewer when isNewConversation is true', async () => { + it('renders the system prompt selector when isNewConversation is true', async () => { render( @@ -50,7 +54,7 @@ describe('PromptEditorComponent', () => { ); await waitFor(() => { - expect(screen.getByTestId('systemPromptText')).toBeInTheDocument(); + expect(screen.getByTestId('selectSystemPrompt')).toBeInTheDocument(); }); }); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/index.tsx index a35259c0655a6..fce32aad1694e 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/index.tsx @@ -19,10 +19,14 @@ import { SelectedPromptContexts } from './selected_prompt_contexts'; export interface Props { conversation: Conversation | undefined; + editingSystemPromptId: string | undefined; isNewConversation: boolean; + isSettingsModalVisible: boolean; promptContexts: Record; promptTextPreview: string; + onSystemPromptSelectionChange: (systemPromptId: string | undefined) => void; selectedPromptContexts: Record; + setIsSettingsModalVisible: React.Dispatch>; setSelectedPromptContexts: React.Dispatch< React.SetStateAction> >; @@ -34,16 +38,28 @@ const PreviewText = styled(EuiText)` const PromptEditorComponent: React.FC = ({ conversation, + editingSystemPromptId, isNewConversation, + isSettingsModalVisible, promptContexts, promptTextPreview, + onSystemPromptSelectionChange, selectedPromptContexts, + setIsSettingsModalVisible, setSelectedPromptContexts, }) => { const commentBody = useMemo( () => ( <> - {isNewConversation && } + {isNewConversation && ( + + )} = ({ ), [ conversation, + editingSystemPromptId, isNewConversation, + isSettingsModalVisible, + onSystemPromptSelectionChange, promptContexts, promptTextPreview, selectedPromptContexts, + setIsSettingsModalVisible, setSelectedPromptContexts, ] ); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/helpers.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/helpers.tsx index 5d73070c9440c..0e530668a30b8 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/helpers.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/helpers.tsx @@ -12,7 +12,9 @@ import React from 'react'; import styled from 'styled-components'; import { css } from '@emotion/react'; +import { isEmpty } from 'lodash/fp'; import type { Prompt } from '../../types'; +import { EMPTY_PROMPT } from './translations'; const Strong = styled.strong` margin-right: ${({ theme }) => theme.eui.euiSizeS}; @@ -44,9 +46,10 @@ export const getOptionFromPrompt = ({ <> {name} - + {/* Empty content tooltip gets around :hover styles from SuperSelectOptionButton */} + -

{content}

+ {isEmpty(content) ?

{EMPTY_PROMPT}

:

{content}

}
diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/index.test.tsx index 18f298acf2539..519f7815c9640 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/index.test.tsx @@ -60,6 +60,11 @@ jest.mock('../../use_conversation', () => { }); describe('SystemPrompt', () => { + const editingSystemPromptId = undefined; + const isSettingsModalVisible = false; + const onSystemPromptSelectionChange = jest.fn(); + const setIsSettingsModalVisible = jest.fn(); + beforeEach(() => { jest.clearAllMocks(); @@ -72,33 +77,49 @@ describe('SystemPrompt', () => { }); }); - describe('when conversation is undefined and default prompt is used', () => { + describe('when conversation is undefined', () => { const conversation = undefined; beforeEach(() => { - render(); + render( + + ); }); - it('does render the system prompt fallback text', () => { - expect(screen.getByTestId('systemPromptText')).toBeInTheDocument(); + it('renders the system prompt select', () => { + expect(screen.getByTestId('selectSystemPrompt')).toBeInTheDocument(); }); - it('does NOT render the system prompt select', () => { - expect(screen.queryByTestId('selectSystemPrompt')).not.toBeInTheDocument(); + it('does NOT render the system prompt text', () => { + expect(screen.queryByTestId('systemPromptText')).not.toBeInTheDocument(); }); - it('does render the edit button', () => { - expect(screen.getByTestId('edit')).toBeInTheDocument(); + it('does NOT render the edit button', () => { + expect(screen.queryByTestId('edit')).not.toBeInTheDocument(); }); - it('does render the clear button', () => { - expect(screen.getByTestId('clear')).toBeInTheDocument(); + it('does NOT render the clear button', () => { + expect(screen.queryByTestId('clear')).not.toBeInTheDocument(); }); }); describe('when conversation is NOT null', () => { beforeEach(() => { - render(); + render( + + ); }); it('does NOT render the system prompt select', () => { @@ -125,7 +146,13 @@ describe('SystemPrompt', () => { const customPromptText = 'custom prompt text'; render( - + ); userEvent.click(screen.getByTestId('edit')); @@ -165,7 +192,13 @@ describe('SystemPrompt', () => { const customPromptText = 'custom prompt text'; render( - + ); userEvent.click(screen.getByTestId('edit')); @@ -219,7 +252,13 @@ describe('SystemPrompt', () => { const customPromptText = 'custom prompt text'; render( - + ); userEvent.click(screen.getByTestId('edit')); @@ -280,7 +319,13 @@ describe('SystemPrompt', () => { it('should save new prompt correctly when prompt is removed from selected conversation', async () => { render( - + ); userEvent.click(screen.getByTestId('edit')); @@ -351,7 +396,13 @@ describe('SystemPrompt', () => { render( - + ); userEvent.click(screen.getByTestId('edit')); @@ -413,7 +464,13 @@ describe('SystemPrompt', () => { it('shows the system prompt select when the edit button is clicked', () => { render( - + ); @@ -425,7 +482,13 @@ describe('SystemPrompt', () => { it('shows the system prompt select when system prompt text is clicked', () => { render( - + ); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/index.tsx index 8520f8da55c26..2893ed39ea2e3 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/index.tsx @@ -6,38 +6,50 @@ */ import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiText, EuiToolTip } from '@elastic/eui'; -import React, { useCallback, useEffect, useState } from 'react'; +import React, { useCallback, useMemo } from 'react'; import { css } from '@emotion/react'; +import { isEmpty } from 'lodash/fp'; import { useAssistantContext } from '../../../assistant_context'; -import { Conversation, Prompt } from '../../../..'; +import { Conversation } from '../../../..'; import * as i18n from './translations'; import { SelectSystemPrompt } from './select_system_prompt'; interface Props { conversation: Conversation | undefined; + editingSystemPromptId: string | undefined; + isSettingsModalVisible: boolean; + onSystemPromptSelectionChange: (systemPromptId: string | undefined) => void; + setIsSettingsModalVisible: React.Dispatch>; } -const SystemPromptComponent: React.FC = ({ conversation }) => { +const SystemPromptComponent: React.FC = ({ + conversation, + editingSystemPromptId, + isSettingsModalVisible, + onSystemPromptSelectionChange, + setIsSettingsModalVisible, +}) => { const { allSystemPrompts } = useAssistantContext(); - const [selectedPrompt, setSelectedPrompt] = useState( - allSystemPrompts?.find((p) => p.id === conversation?.apiConfig.defaultSystemPromptId) ?? - allSystemPrompts?.[0] - ); - - useEffect(() => { - setSelectedPrompt( - allSystemPrompts?.find((p) => p.id === conversation?.apiConfig.defaultSystemPromptId) ?? - allSystemPrompts?.[0] - ); - }, [allSystemPrompts, conversation]); + const selectedPrompt = useMemo(() => { + if (editingSystemPromptId !== undefined) { + return ( + allSystemPrompts?.find((p) => p.id === editingSystemPromptId) ?? + allSystemPrompts?.find((p) => p.id === conversation?.apiConfig.defaultSystemPromptId) + ); + } else { + return undefined; + } + }, [allSystemPrompts, conversation?.apiConfig.defaultSystemPromptId, editingSystemPromptId]); const [isEditing, setIsEditing] = React.useState(false); const handleClearSystemPrompt = useCallback(() => { - setSelectedPrompt(undefined); - }, []); + if (conversation) { + onSystemPromptSelectionChange(undefined); + } + }, [conversation, onSystemPromptSelectionChange]); const handleEditSystemPrompt = useCallback(() => setIsEditing(true), []); @@ -52,8 +64,11 @@ const SystemPromptComponent: React.FC = ({ conversation }) => { isClearable={true} isEditing={isEditing} isOpen={isEditing} + isSettingsModalVisible={isSettingsModalVisible} + onSystemPromptSelectionChange={onSystemPromptSelectionChange} selectedPrompt={selectedPrompt} setIsEditing={setIsEditing} + setIsSettingsModalVisible={setIsSettingsModalVisible} /> ) : ( @@ -70,7 +85,7 @@ const SystemPromptComponent: React.FC = ({ conversation }) => { } `} > - {selectedPrompt?.content ?? ''} + {isEmpty(selectedPrompt?.content) ? i18n.EMPTY_PROMPT : selectedPrompt?.content}
diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/select_system_prompt/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/select_system_prompt/index.test.tsx index 97eb724eaffb1..cb1050c895b8e 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/select_system_prompt/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/select_system_prompt/index.test.tsx @@ -24,7 +24,9 @@ const props: Props = { }, ], conversation: undefined, + isSettingsModalVisible: false, selectedPrompt: undefined, + setIsSettingsModalVisible: jest.fn(), }; const mockUseAssistantContext = { diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/select_system_prompt/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/select_system_prompt/index.tsx index cd82cd0aac65f..1976586f64b7a 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/select_system_prompt/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/select_system_prompt/index.tsx @@ -37,9 +37,11 @@ export interface Props { isEditing?: boolean; isDisabled?: boolean; isOpen?: boolean; + isSettingsModalVisible: boolean; setIsEditing?: React.Dispatch>; + setIsSettingsModalVisible: React.Dispatch>; showTitles?: boolean; - onSystemPromptSelectionChange?: (promptId: string) => void; + onSystemPromptSelectionChange?: (promptId: string | undefined) => void; } const ADD_NEW_SYSTEM_PROMPT = 'ADD_NEW_SYSTEM_PROMPT'; @@ -54,12 +56,13 @@ const SelectSystemPromptComponent: React.FC = ({ isEditing = false, isDisabled = false, isOpen = false, + isSettingsModalVisible, onSystemPromptSelectionChange, setIsEditing, + setIsSettingsModalVisible, showTitles = false, }) => { - const { isSettingsModalVisible, setIsSettingsModalVisible, setSelectedSettingsTab } = - useAssistantContext(); + const { setSelectedSettingsTab } = useAssistantContext(); const { setApiConfig } = useConversation(); const [isOpenLocal, setIsOpenLocal] = useState(isOpen); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/system_prompt_selector/system_prompt_selector.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/system_prompt_selector/system_prompt_selector.tsx index acc99e06e85a5..3beb0c6f6a1c9 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/system_prompt_selector/system_prompt_selector.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/system_prompt_selector/system_prompt_selector.tsx @@ -148,25 +148,33 @@ export const SystemPromptSelector: React.FC = React.memo( alignItems="center" className={'parentFlexGroup'} component={'span'} - gutterSize={'none'} justifyContent="spaceBetween" data-test-subj="systemPromptOptionSelector" > - + - - - - {label} - - + + + {label} + {value?.isNewConversationDefault && ( @@ -179,7 +187,7 @@ export const SystemPromptSelector: React.FC = React.memo( {!value?.isDefault && ( - + = React.memo( data-test-subj={TEST_IDS.SYSTEM_PROMPT_MODAL.PROMPT_TEXT} disabled={selectedSystemPrompt == null} onChange={handlePromptContentChange} + placeholder={i18n.SYSTEM_PROMPT_PROMPT_PLACEHOLDER} value={promptContent} compressed fullWidth diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/translations.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/translations.ts index 6b7283977b1e2..99852b06e0562 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/translations.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/system_prompt_modal/translations.ts @@ -41,6 +41,13 @@ export const SYSTEM_PROMPT_PROMPT = i18n.translate( } ); +export const SYSTEM_PROMPT_PROMPT_PLACEHOLDER = i18n.translate( + 'xpack.elasticAssistant.assistant.promptEditor.systemPrompt.settings.promptPlaceholder', + { + defaultMessage: 'Enter a System Prompt', + } +); + export const SYSTEM_PROMPT_DEFAULT_CONVERSATIONS = i18n.translate( 'xpack.elasticAssistant.assistant.promptEditor.systemPrompt.settings.defaultConversationsLabel', { diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/translations.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/translations.ts index ec4202f19b324..91f31bb7ebd22 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/translations.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_editor/system_prompt/translations.ts @@ -34,3 +34,10 @@ export const ADD_NEW_SYSTEM_PROMPT = i18n.translate( defaultMessage: 'Add new system prompt...', } ); + +export const EMPTY_PROMPT = i18n.translate( + 'xpack.elasticAssistant.assistant.firstPromptEditor.emptyPrompt', + { + defaultMessage: '(empty prompt)', + } +); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_textarea/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_textarea/index.tsx index 9d322c1b4c1f6..cf3453b99624a 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_textarea/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/prompt_textarea/index.tsx @@ -13,7 +13,7 @@ import styled from 'styled-components'; import * as i18n from './translations'; export interface Props extends React.TextareaHTMLAttributes { - handlePromptChange?: (value: string) => void; + handlePromptChange: (value: string) => void; isDisabled?: boolean; onPromptSubmit: (value: string) => void; value: string; @@ -26,35 +26,30 @@ const StyledTextArea = styled(EuiTextArea)` export const PromptTextArea = forwardRef( ({ isDisabled = false, value, onPromptSubmit, handlePromptChange, ...props }, ref) => { - const [currentValue, setCurrentValue] = React.useState(value); - const onChangeCallback = useCallback( (event: React.ChangeEvent) => { - setCurrentValue(event.target.value); - if (handlePromptChange) { - handlePromptChange(event.target.value); - } + handlePromptChange(event.target.value); }, [handlePromptChange] ); const onKeyDown = useCallback( (event) => { - if (event.key === 'Enter' && !event.shiftKey && currentValue.trim().length > 0) { + if (event.key === 'Enter' && !event.shiftKey && value.trim().length > 0) { event.preventDefault(); onPromptSubmit(event.target.value?.trim()); - setCurrentValue(''); - } else if (event.key === 'Enter' && !event.shiftKey && currentValue.trim().length === 0) { + handlePromptChange(''); + } else if (event.key === 'Enter' && !event.shiftKey && value.trim().length === 0) { event.preventDefault(); event.stopPropagation(); } }, - [currentValue, onPromptSubmit] + [value, onPromptSubmit, handlePromptChange] ); useEffect(() => { - setCurrentValue(value); - }, [value]); + handlePromptChange(value); + }, [handlePromptChange, value]); return ( ( autoFocus disabled={isDisabled} placeholder={i18n.PROMPT_PLACEHOLDER} - value={currentValue} + value={value} onChange={onChangeCallback} onKeyDown={onKeyDown} /> diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_selector/quick_prompt_selector.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_selector/quick_prompt_selector.tsx index 8b753a7002efe..187701aa148b9 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_selector/quick_prompt_selector.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_selector/quick_prompt_selector.tsx @@ -138,14 +138,24 @@ export const QuickPromptSelector: React.FC = React.memo( return ( - - - - {label} - + + + {label} {!value?.isDefault && ( diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/quick_prompt_settings.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/quick_prompt_settings.tsx index 53a7431f3dc3a..1de53aa018a8d 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/quick_prompt_settings.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/quick_prompt_settings.tsx @@ -198,6 +198,7 @@ export const QuickPromptSettings: React.FC = React.memo( disabled={selectedQuickPrompt == null} fullWidth onChange={handlePromptChange} + placeholder={i18n.QUICK_PROMPT_PROMPT_PLACEHOLDER} value={prompt} css={css` min-height: 150px; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/translations.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/translations.ts index e388f2fe1d884..dd134dc034574 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/translations.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompt_settings/translations.ts @@ -42,6 +42,13 @@ export const QUICK_PROMPT_PROMPT = i18n.translate( } ); +export const QUICK_PROMPT_PROMPT_PLACEHOLDER = i18n.translate( + 'xpack.elasticAssistant.assistant.quickPrompts.settings.promptPlaceholder', + { + defaultMessage: 'Enter a Quick Prompt', + } +); + export const QUICK_PROMPT_BADGE_COLOR = i18n.translate( 'xpack.elasticAssistant.assistant.quickPrompts.settings.badgeColorLabel', { diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompts.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompts.tsx index f4b858ee796f1..d6f382f5e1fd4 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompts.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/quick_prompts/quick_prompts.tsx @@ -21,6 +21,7 @@ const QuickPromptsFlexGroup = styled(EuiFlexGroup)` const COUNT_BEFORE_OVERFLOW = 5; interface QuickPromptsProps { setInput: (input: string) => void; + setIsSettingsModalVisible: React.Dispatch>; } /** @@ -28,95 +29,96 @@ interface QuickPromptsProps { * text, and support for adding new quick prompts and editing existing. Also supports overflow of quick prompts, * and localstorage for storing new and edited prompts. */ -export const QuickPrompts: React.FC = React.memo(({ setInput }) => { - const { allQuickPrompts, promptContexts, setIsSettingsModalVisible, setSelectedSettingsTab } = - useAssistantContext(); +export const QuickPrompts: React.FC = React.memo( + ({ setInput, setIsSettingsModalVisible }) => { + const { allQuickPrompts, promptContexts, setSelectedSettingsTab } = useAssistantContext(); - const contextFilteredQuickPrompts = useMemo(() => { - const registeredPromptContextTitles = Object.values(promptContexts).map((pc) => pc.category); - return allQuickPrompts.filter((quickPrompt) => { - // Return quick prompt as match if it has no categories, otherwise ensure category exists in registered prompt contexts - if (quickPrompt.categories == null || quickPrompt.categories.length === 0) { - return true; - } else { - return quickPrompt.categories.some((category) => { - return registeredPromptContextTitles.includes(category); - }); - } - }); - }, [allQuickPrompts, promptContexts]); + const contextFilteredQuickPrompts = useMemo(() => { + const registeredPromptContextTitles = Object.values(promptContexts).map((pc) => pc.category); + return allQuickPrompts.filter((quickPrompt) => { + // Return quick prompt as match if it has no categories, otherwise ensure category exists in registered prompt contexts + if (quickPrompt.categories == null || quickPrompt.categories.length === 0) { + return true; + } else { + return quickPrompt.categories.some((category) => { + return registeredPromptContextTitles.includes(category); + }); + } + }); + }, [allQuickPrompts, promptContexts]); - // Overflow state - const [isOverflowPopoverOpen, setIsOverflowPopoverOpen] = useState(false); - const toggleOverflowPopover = useCallback( - () => setIsOverflowPopoverOpen(!isOverflowPopoverOpen), - [isOverflowPopoverOpen] - ); - const closeOverflowPopover = useCallback(() => setIsOverflowPopoverOpen(false), []); + // Overflow state + const [isOverflowPopoverOpen, setIsOverflowPopoverOpen] = useState(false); + const toggleOverflowPopover = useCallback( + () => setIsOverflowPopoverOpen(!isOverflowPopoverOpen), + [isOverflowPopoverOpen] + ); + const closeOverflowPopover = useCallback(() => setIsOverflowPopoverOpen(false), []); - const onClickOverflowQuickPrompt = useCallback( - (prompt: string) => { - setInput(prompt); - closeOverflowPopover(); - }, - [closeOverflowPopover, setInput] - ); + const onClickOverflowQuickPrompt = useCallback( + (prompt: string) => { + setInput(prompt); + closeOverflowPopover(); + }, + [closeOverflowPopover, setInput] + ); - const showQuickPromptSettings = useCallback(() => { - setIsSettingsModalVisible(true); - setSelectedSettingsTab(QUICK_PROMPTS_TAB); - }, [setIsSettingsModalVisible, setSelectedSettingsTab]); + const showQuickPromptSettings = useCallback(() => { + setIsSettingsModalVisible(true); + setSelectedSettingsTab(QUICK_PROMPTS_TAB); + }, [setIsSettingsModalVisible, setSelectedSettingsTab]); - return ( - - {contextFilteredQuickPrompts.slice(0, COUNT_BEFORE_OVERFLOW).map((badge, index) => ( - - setInput(badge.prompt)} - onClickAriaLabel={badge.title} - > - {badge.title} - - - ))} - {contextFilteredQuickPrompts.length > COUNT_BEFORE_OVERFLOW && ( + return ( + + {contextFilteredQuickPrompts.slice(0, COUNT_BEFORE_OVERFLOW).map((badge, index) => ( + + setInput(badge.prompt)} + onClickAriaLabel={badge.title} + > + {badge.title} + + + ))} + {contextFilteredQuickPrompts.length > COUNT_BEFORE_OVERFLOW && ( + + + } + isOpen={isOverflowPopoverOpen} + closePopover={closeOverflowPopover} + anchorPosition="rightUp" + > + + {contextFilteredQuickPrompts.slice(COUNT_BEFORE_OVERFLOW).map((badge, index) => ( + + onClickOverflowQuickPrompt(badge.prompt)} + onClickAriaLabel={badge.title} + > + {badge.title} + + + ))} + + + + )} - - } - isOpen={isOverflowPopoverOpen} - closePopover={closeOverflowPopover} - anchorPosition="rightUp" - > - - {contextFilteredQuickPrompts.slice(COUNT_BEFORE_OVERFLOW).map((badge, index) => ( - - onClickOverflowQuickPrompt(badge.prompt)} - onClickAriaLabel={badge.title} - > - {badge.title} - - - ))} - - + + {i18n.ADD_QUICK_PROMPT} + - )} - - - {i18n.ADD_QUICK_PROMPT} - - - - ); -}); + + ); + } +); QuickPrompts.displayName = 'QuickPrompts'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx index 7fb8d0cff7c3a..96a4de67e171c 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx @@ -23,6 +23,7 @@ import { // eslint-disable-next-line @kbn/eslint/module_migration import styled from 'styled-components'; import { css } from '@emotion/react'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; import { Conversation, Prompt, QuickPrompt } from '../../..'; import * as i18n from './translations'; import { useAssistantContext } from '../../assistant_context'; @@ -54,6 +55,8 @@ export type SettingsTabs = | typeof FUNCTIONS_TAB | typeof ADVANCED_TAB; interface Props { + defaultConnectorId?: string; + defaultProvider?: OpenAiProviderType; onClose: ( event?: React.KeyboardEvent | React.MouseEvent ) => void; @@ -68,6 +71,8 @@ interface Props { */ export const AssistantSettings: React.FC = React.memo( ({ + defaultConnectorId, + defaultProvider, onClose, onSave, selectedConversation: defaultSelectedConversation, @@ -244,6 +249,8 @@ export const AssistantSettings: React.FC = React.memo( > {selectedSettingsTab === CONVERSATIONS_TAB && ( >; setSelectedConversationId: React.Dispatch>; isDisabled?: boolean; } @@ -23,9 +28,16 @@ interface Props { * Gear button that opens the assistant settings modal */ export const AssistantSettingsButton: React.FC = React.memo( - ({ isDisabled = false, selectedConversation, setSelectedConversationId }) => { - const { isSettingsModalVisible, setIsSettingsModalVisible, setSelectedSettingsTab } = - useAssistantContext(); + ({ + defaultConnectorId, + defaultProvider, + isDisabled = false, + isSettingsModalVisible, + setIsSettingsModalVisible, + selectedConversation, + setSelectedConversationId, + }) => { + const { setSelectedSettingsTab } = useAssistantContext(); // Modal control functions const cleanupAndCloseModal = useCallback(() => { @@ -60,6 +72,8 @@ export const AssistantSettingsButton: React.FC = React.memo( {isSettingsModalVisible && ( { - it('should identify dsl Query successfully.', () => { - const result = analyzeMarkdown(markDownWithDSLQuery); - expect(result[0].type).toBe('dsl'); +describe('useConversation helpers', () => { + describe('analyzeMarkdown', () => { + it('should identify dsl Query successfully.', () => { + const result = analyzeMarkdown(markDownWithDSLQuery); + expect(result[0].type).toBe('dsl'); + }); + it('should identify kql Query successfully.', () => { + const result = analyzeMarkdown(markDownWithKQLQuery); + expect(result[0].type).toBe('kql'); + }); }); - it('should identify kql Query successfully.', () => { - const result = analyzeMarkdown(markDownWithKQLQuery); - expect(result[0].type).toBe('kql'); + + describe('getDefaultSystemPrompt', () => { + const allSystemPrompts: Prompt[] = [ + { + id: '1', + content: 'Prompt 1', + name: 'Prompt 1', + promptType: 'user', + }, + { + id: '2', + content: 'Prompt 2', + name: 'Prompt 2', + promptType: 'user', + isNewConversationDefault: true, + }, + { + id: '3', + content: 'Prompt 3', + name: 'Prompt 3', + promptType: 'user', + }, + ]; + const allSystemPromptsNoDefault: Prompt[] = allSystemPrompts.filter( + ({ isNewConversationDefault }) => isNewConversationDefault !== true + ); + const conversation: Conversation = { + apiConfig: { + defaultSystemPromptId: '3', + }, + id: '1', + messages: [], + }; + + test('should return the conversation system prompt if it exists', () => { + const result = getDefaultSystemPrompt({ allSystemPrompts, conversation }); + + expect(result).toEqual(allSystemPrompts[2]); + }); + + test('should return the default (starred) isNewConversationDefault system prompt if conversation system prompt does not exist', () => { + const conversationWithoutSystemPrompt: Conversation = { + apiConfig: {}, + id: '1', + messages: [], + }; + const result = getDefaultSystemPrompt({ + allSystemPrompts, + conversation: conversationWithoutSystemPrompt, + }); + + expect(result).toEqual(allSystemPrompts[1]); + }); + + test('should return the default (starred) isNewConversationDefault system prompt if conversation system prompt does not exist within all system prompts', () => { + const conversationWithoutSystemPrompt: Conversation = { + apiConfig: {}, + id: '4', // this id does not exist within allSystemPrompts + messages: [], + }; + const result = getDefaultSystemPrompt({ + allSystemPrompts, + conversation: conversationWithoutSystemPrompt, + }); + + expect(result).toEqual(allSystemPrompts[1]); + }); + + test('should return the first prompt if both conversation system prompt and default new system prompt do not exist', () => { + const conversationWithoutSystemPrompt: Conversation = { + apiConfig: {}, + id: '1', + messages: [], + }; + const result = getDefaultSystemPrompt({ + allSystemPrompts: allSystemPromptsNoDefault, + conversation: conversationWithoutSystemPrompt, + }); + + expect(result).toEqual(allSystemPromptsNoDefault[0]); + }); + + test('should return undefined if conversation system prompt does not exist and there are no system prompts', () => { + const conversationWithoutSystemPrompt: Conversation = { + apiConfig: {}, + id: '1', + messages: [], + }; + const result = getDefaultSystemPrompt({ + allSystemPrompts: [], + conversation: conversationWithoutSystemPrompt, + }); + + expect(result).toEqual(undefined); + }); + + test('should return undefined if conversation system prompt does not exist within all system prompts', () => { + const conversationWithoutSystemPrompt: Conversation = { + apiConfig: {}, + id: '4', // this id does not exist within allSystemPrompts + messages: [], + }; + const result = getDefaultSystemPrompt({ + allSystemPrompts: allSystemPromptsNoDefault, + conversation: conversationWithoutSystemPrompt, + }); + + expect(result).toEqual(allSystemPromptsNoDefault[0]); + }); + + test('should return (starred) isNewConversationDefault system prompt if conversation is undefined', () => { + const result = getDefaultSystemPrompt({ + allSystemPrompts, + conversation: undefined, + }); + + expect(result).toEqual(allSystemPrompts[1]); + }); + + test('should return the first system prompt if the conversation is undefined and isNewConversationDefault is not present in system prompts', () => { + const result = getDefaultSystemPrompt({ + allSystemPrompts: allSystemPromptsNoDefault, + conversation: undefined, + }); + + expect(result).toEqual(allSystemPromptsNoDefault[0]); + }); + + test('should return undefined if conversation is undefined and no system prompts are provided', () => { + const result = getDefaultSystemPrompt({ + allSystemPrompts: [], + conversation: undefined, + }); + + expect(result).toEqual(undefined); + }); }); }); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts index 63e8a76f378eb..d9a98aa5a4505 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/helpers.ts @@ -6,6 +6,8 @@ */ import React from 'react'; +import { Prompt } from '../types'; +import { Conversation } from '../../assistant_context/types'; export interface CodeBlockDetails { type: QueryType; @@ -64,3 +66,24 @@ export const analyzeMarkdown = (markdown: string): CodeBlockDetails[] => { return result; }; + +/** + * Returns the default system prompt for a given conversation + * + * @param allSystemPrompts All available System Prompts + * @param conversation Conversation to get the default system prompt for + */ +export const getDefaultSystemPrompt = ({ + allSystemPrompts, + conversation, +}: { + allSystemPrompts: Prompt[]; + conversation: Conversation | undefined; +}): Prompt | undefined => { + const conversationSystemPrompt = allSystemPrompts.find( + (prompt) => prompt.id === conversation?.apiConfig?.defaultSystemPromptId + ); + const defaultNewSystemPrompt = allSystemPrompts.find((prompt) => prompt.isNewConversationDefault); + + return conversationSystemPrompt ?? defaultNewSystemPrompt ?? allSystemPrompts?.[0]; +}; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/index.tsx index 217613b239dee..c7f8b2336cb69 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/use_conversation/index.tsx @@ -11,6 +11,7 @@ import { useAssistantContext } from '../../assistant_context'; import { Conversation, Message } from '../../assistant_context/types'; import * as i18n from './translations'; import { ELASTIC_AI_ASSISTANT, ELASTIC_AI_ASSISTANT_TITLE } from './translations'; +import { getDefaultSystemPrompt } from './helpers'; export const DEFAULT_CONVERSATION_STATE: Conversation = { id: i18n.DEFAULT_CONVERSATION_TITLE, @@ -68,7 +69,7 @@ interface UseConversation { } export const useConversation = (): UseConversation => { - const { setConversations } = useAssistantContext(); + const { allSystemPrompts, setConversations } = useAssistantContext(); /** * Append a message to the conversation[] for a given conversationId @@ -135,10 +136,18 @@ export const useConversation = (): UseConversation => { (conversationId: string) => { setConversations((prev: Record) => { const prevConversation: Conversation | undefined = prev[conversationId]; + const defaultSystemPromptId = getDefaultSystemPrompt({ + allSystemPrompts, + conversation: prevConversation, + })?.id; if (prevConversation != null) { - const newConversation = { + const newConversation: Conversation = { ...prevConversation, + apiConfig: { + ...prevConversation.apiConfig, + defaultSystemPromptId, + }, messages: [], replacements: undefined, }; @@ -152,7 +161,7 @@ export const useConversation = (): UseConversation => { } }); }, - [setConversations] + [allSystemPrompts, setConversations] ); /** @@ -160,8 +169,17 @@ export const useConversation = (): UseConversation => { */ const createConversation = useCallback( ({ conversationId, messages }: CreateConversationProps): Conversation => { + const defaultSystemPromptId = getDefaultSystemPrompt({ + allSystemPrompts, + conversation: undefined, + })?.id; + const newConversation: Conversation = { ...DEFAULT_CONVERSATION_STATE, + apiConfig: { + ...DEFAULT_CONVERSATION_STATE.apiConfig, + defaultSystemPromptId, + }, id: conversationId, messages: messages != null ? messages : [], }; @@ -180,7 +198,7 @@ export const useConversation = (): UseConversation => { }); return newConversation; }, - [setConversations] + [allSystemPrompts, setConversations] ); /** diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.tsx index f0a9b552a2be3..0cd01e7457184 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/index.tsx @@ -101,7 +101,6 @@ export interface UseAssistantContext { showAnonymizedValues: boolean; }) => EuiCommentProps[]; http: HttpSetup; - isSettingsModalVisible: boolean; localStorageLastConversationId: string | undefined; promptContexts: Record; nameSpace: string; @@ -112,7 +111,6 @@ export interface UseAssistantContext { setConversations: React.Dispatch>>; setDefaultAllow: React.Dispatch>; setDefaultAllowReplacement: React.Dispatch>; - setIsSettingsModalVisible: React.Dispatch>; setLastConversationId: React.Dispatch>; setSelectedSettingsTab: React.Dispatch>; setShowAssistantOverlay: (showAssistantOverlay: ShowAssistantOverlay) => void; @@ -160,12 +158,6 @@ export const AssistantProvider: React.FC = ({ baseSystemPrompts ); - // if basePrompt has been updated, the localstorage should be accordingly updated - // if it exists - useEffect(() => { - setLocalStorageSystemPrompts(baseSystemPrompts); - }, [baseSystemPrompts, setLocalStorageSystemPrompts]); - const [localStorageLastConversationId, setLocalStorageLastConversationId] = useLocalStorage(`${nameSpace}.${LAST_CONVERSATION_ID_LOCAL_STORAGE_KEY}`); @@ -212,7 +204,6 @@ export const AssistantProvider: React.FC = ({ /** * Settings State */ - const [isSettingsModalVisible, setIsSettingsModalVisible] = useState(false); const [selectedSettingsTab, setSelectedSettingsTab] = useState(CONVERSATIONS_TAB); const [conversations, setConversationsInternal] = useState(getInitialConversations()); @@ -264,7 +255,6 @@ export const AssistantProvider: React.FC = ({ docLinks, getComments, http, - isSettingsModalVisible, promptContexts, nameSpace, registerPromptContext, @@ -274,7 +264,6 @@ export const AssistantProvider: React.FC = ({ setConversations: onConversationsUpdated, setDefaultAllow, setDefaultAllowReplacement, - setIsSettingsModalVisible, setSelectedSettingsTab, setShowAssistantOverlay, showAssistantOverlay, @@ -298,7 +287,6 @@ export const AssistantProvider: React.FC = ({ docLinks, getComments, http, - isSettingsModalVisible, localStorageLastConversationId, localStorageQuickPrompts, localStorageSystemPrompts, @@ -309,7 +297,6 @@ export const AssistantProvider: React.FC = ({ selectedSettingsTab, setDefaultAllow, setDefaultAllowReplacement, - setIsSettingsModalVisible, setLocalStorageLastConversationId, setLocalStorageQuickPrompts, setLocalStorageSystemPrompts, diff --git a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_missing_callout/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_missing_callout/index.tsx index 99e8d98b438b2..671cac8ea01c6 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_missing_callout/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_missing_callout/index.tsx @@ -13,6 +13,11 @@ import * as i18n from '../translations'; import { useAssistantContext } from '../../assistant_context'; import { CONVERSATIONS_TAB } from '../../assistant/settings/assistant_settings'; +interface Props { + isSettingsModalVisible: boolean; + setIsSettingsModalVisible: React.Dispatch>; +} + /** * Error callout to be displayed when there is no connector configured for a conversation. Includes deep-link * to conversation settings to quickly resolve. @@ -20,39 +25,40 @@ import { CONVERSATIONS_TAB } from '../../assistant/settings/assistant_settings'; * TODO: Add 'quick fix' button to just pick a connector * TODO: Add setting for 'default connector' so we can auto-resolve and not even show this */ -export const ConnectorMissingCallout: React.FC = React.memo(() => { - const { isSettingsModalVisible, setIsSettingsModalVisible, setSelectedSettingsTab } = - useAssistantContext(); +export const ConnectorMissingCallout: React.FC = React.memo( + ({ isSettingsModalVisible, setIsSettingsModalVisible }) => { + const { setSelectedSettingsTab } = useAssistantContext(); - const onConversationSettingsClicked = useCallback(() => { - if (!isSettingsModalVisible) { - setIsSettingsModalVisible(true); - setSelectedSettingsTab(CONVERSATIONS_TAB); - } - }, [isSettingsModalVisible, setIsSettingsModalVisible, setSelectedSettingsTab]); + const onConversationSettingsClicked = useCallback(() => { + if (!isSettingsModalVisible) { + setIsSettingsModalVisible(true); + setSelectedSettingsTab(CONVERSATIONS_TAB); + } + }, [isSettingsModalVisible, setIsSettingsModalVisible, setSelectedSettingsTab]); - return ( - -

- {' '} - - {i18n.MISSING_CONNECTOR_CONVERSATION_SETTINGS_LINK} - - ), - }} - /> -

-
- ); -}); + return ( + +

+ {' '} + + {i18n.MISSING_CONNECTOR_CONVERSATION_SETTINGS_LINK} + + ), + }} + /> +

+
+ ); + } +); ConnectorMissingCallout.displayName = 'ConnectorMissingCallout'; diff --git a/x-pack/plugins/alerting/server/rule_type_registry.test.ts b/x-pack/plugins/alerting/server/rule_type_registry.test.ts index faa727ccdafe0..51f14d65bb2c3 100644 --- a/x-pack/plugins/alerting/server/rule_type_registry.test.ts +++ b/x-pack/plugins/alerting/server/rule_type_registry.test.ts @@ -28,7 +28,7 @@ const inMemoryMetrics = inMemoryMetricsMock.create(); const alertsService = alertsServiceMock.create(); beforeEach(() => { - jest.resetAllMocks(); + jest.clearAllMocks(); mockedLicenseState = licenseStateMock.create(); ruleTypeRegistryParams = { logger, @@ -97,16 +97,18 @@ describe('Create Lifecycle', () => { const invalidCharacters = [' ', ':', '*', '*', '/']; for (const char of invalidCharacters) { - expect(() => registry.register({ ...ruleType, id: `${ruleType.id}${char}` })).toThrowError( - new Error(`expected RuleType Id not to include invalid character: ${char}`) + expect(() => + registry.register({ ...ruleType, id: `${ruleType.id}${char}` }) + ).toThrowErrorMatchingInlineSnapshot( + `"expected RuleType Id not to include invalid character: ${char}"` ); } const [first, second] = invalidCharacters; expect(() => registry.register({ ...ruleType, id: `${first}${ruleType.id}${second}` }) - ).toThrowError( - new Error(`expected RuleType Id not to include invalid characters: ${first}, ${second}`) + ).toThrowErrorMatchingInlineSnapshot( + `"expected RuleType Id not to include invalid characters: ${first}, ${second}"` ); }); @@ -131,8 +133,8 @@ describe('Create Lifecycle', () => { }; const registry = new RuleTypeRegistry(ruleTypeRegistryParams); - expect(() => registry.register(ruleType)).toThrowError( - new Error(`expected value of type [string] but got [number]`) + expect(() => registry.register(ruleType)).toThrowErrorMatchingInlineSnapshot( + `"expected value of type [string] but got [number]"` ); }); diff --git a/x-pack/plugins/apm/common/apm_feature_flags.ts b/x-pack/plugins/apm/common/apm_feature_flags.ts index 0685555d02c1e..75dd58e7e66b8 100644 --- a/x-pack/plugins/apm/common/apm_feature_flags.ts +++ b/x-pack/plugins/apm/common/apm_feature_flags.ts @@ -16,6 +16,7 @@ export enum ApmFeatureFlagName { MigrationToFleetAvailable = 'migrationToFleetAvailable', SourcemapApiAvailable = 'sourcemapApiAvailable', StorageExplorerAvailable = 'storageExplorerAvailable', + FastRefreshAvailable = 'fastRefreshAvailable', } const apmFeatureFlagMap = { @@ -47,6 +48,10 @@ const apmFeatureFlagMap = { default: true, type: t.boolean, }, + [ApmFeatureFlagName.FastRefreshAvailable]: { + default: false, + type: t.boolean, + }, }; type ApmFeatureFlagMap = typeof apmFeatureFlagMap; diff --git a/x-pack/plugins/apm/common/es_fields/__snapshots__/es_fields.test.ts.snap b/x-pack/plugins/apm/common/es_fields/__snapshots__/es_fields.test.ts.snap index 9dfb15ed9cb05..9386fb27f88d2 100644 --- a/x-pack/plugins/apm/common/es_fields/__snapshots__/es_fields.test.ts.snap +++ b/x-pack/plugins/apm/common/es_fields/__snapshots__/es_fields.test.ts.snap @@ -82,6 +82,8 @@ Array [ exports[`Error ERROR_GROUP_ID 1`] = `"grouping key"`; +exports[`Error ERROR_GROUP_NAME 1`] = `undefined`; + exports[`Error ERROR_ID 1`] = `"error id"`; exports[`Error ERROR_LOG_LEVEL 1`] = `undefined`; @@ -411,6 +413,8 @@ exports[`Span ERROR_EXCEPTION 1`] = `undefined`; exports[`Span ERROR_GROUP_ID 1`] = `undefined`; +exports[`Span ERROR_GROUP_NAME 1`] = `undefined`; + exports[`Span ERROR_ID 1`] = `undefined`; exports[`Span ERROR_LOG_LEVEL 1`] = `undefined`; @@ -736,6 +740,8 @@ exports[`Transaction ERROR_EXCEPTION 1`] = `undefined`; exports[`Transaction ERROR_GROUP_ID 1`] = `undefined`; +exports[`Transaction ERROR_GROUP_NAME 1`] = `undefined`; + exports[`Transaction ERROR_ID 1`] = `undefined`; exports[`Transaction ERROR_LOG_LEVEL 1`] = `undefined`; diff --git a/x-pack/plugins/apm/common/es_fields/apm.ts b/x-pack/plugins/apm/common/es_fields/apm.ts index 141be32365956..8c1c0e3670baf 100644 --- a/x-pack/plugins/apm/common/es_fields/apm.ts +++ b/x-pack/plugins/apm/common/es_fields/apm.ts @@ -101,6 +101,7 @@ export const PARENT_ID = 'parent.id'; export const ERROR_ID = 'error.id'; export const ERROR_GROUP_ID = 'error.grouping_key'; +export const ERROR_GROUP_NAME = 'error.grouping_name'; export const ERROR_CULPRIT = 'error.culprit'; export const ERROR_LOG_LEVEL = 'error.log.level'; export const ERROR_LOG_MESSAGE = 'error.log.message'; diff --git a/x-pack/plugins/apm/common/rules/apm_rule_types.ts b/x-pack/plugins/apm/common/rules/apm_rule_types.ts index 2c5354f19a115..1989885428db5 100644 --- a/x-pack/plugins/apm/common/rules/apm_rule_types.ts +++ b/x-pack/plugins/apm/common/rules/apm_rule_types.ts @@ -18,6 +18,7 @@ import { ML_ANOMALY_SEVERITY } from '@kbn/ml-anomaly-utils/anomaly_severity'; import { ML_ANOMALY_THRESHOLD } from '@kbn/ml-anomaly-utils/anomaly_threshold'; import { ERROR_GROUP_ID, + ERROR_GROUP_NAME, SERVICE_ENVIRONMENT, SERVICE_NAME, TRANSACTION_NAME, @@ -61,6 +62,8 @@ const getFieldNameLabel = (field: string): string => { return 'name'; case ERROR_GROUP_ID: return 'error key'; + case ERROR_GROUP_NAME: + return 'error name'; default: return field; } diff --git a/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts b/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts index 22f9090049a60..c0b9f84797f87 100644 --- a/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts +++ b/x-pack/plugins/apm/ftr_e2e/cypress/support/commands.ts @@ -122,7 +122,7 @@ Cypress.Commands.add( cy.request({ log: false, method: 'POST', - url: `${kibanaUrl}/api/kibana/settings`, + url: `${kibanaUrl}/internal/kibana/settings`, body: { changes: settings }, headers: { 'kbn-xsrf': 'e2e_test', diff --git a/x-pack/plugins/apm/public/components/alerting/rule_types/error_count_rule_type/index.tsx b/x-pack/plugins/apm/public/components/alerting/rule_types/error_count_rule_type/index.tsx index d14eac462609a..5136abea4d03c 100644 --- a/x-pack/plugins/apm/public/components/alerting/rule_types/error_count_rule_type/index.tsx +++ b/x-pack/plugins/apm/public/components/alerting/rule_types/error_count_rule_type/index.tsx @@ -39,6 +39,7 @@ import { SERVICE_NAME, TRANSACTION_NAME, ERROR_GROUP_ID, + ERROR_GROUP_NAME, } from '../../../../../common/es_fields/apm'; import { ErrorState, @@ -218,7 +219,7 @@ export function ErrorCountRuleType(props: Props) { diff --git a/x-pack/plugins/apm/public/components/app/onboarding/instructions/otel_agent.tsx b/x-pack/plugins/apm/public/components/app/onboarding/instructions/otel_agent.tsx index bbe73c725ce2a..6d00acd9af7be 100644 --- a/x-pack/plugins/apm/public/components/app/onboarding/instructions/otel_agent.tsx +++ b/x-pack/plugins/apm/public/components/app/onboarding/instructions/otel_agent.tsx @@ -196,6 +196,7 @@ export function OpenTelemetryInstructions({ const columns: Array>> = [ { field: 'setting', + width: '23%', name: i18n.translate( 'xpack.apm.onboarding.config_otel.column.configSettings', { @@ -205,6 +206,7 @@ export function OpenTelemetryInstructions({ }, { field: 'value', + width: '55%', name: i18n.translate( 'xpack.apm.onboarding.config_otel.column.configValue', { diff --git a/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx b/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx index 0719f2dbd720d..10086aa2afd9d 100644 --- a/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx +++ b/x-pack/plugins/apm/public/context/apm_plugin/mock_apm_plugin_context.tsx @@ -79,6 +79,7 @@ const mockConfig: ConfigSchema = { migrationToFleetAvailable: true, sourcemapApiAvailable: true, storageExplorerAvailable: true, + fastRefreshAvailable: false, }, serverless: { enabled: false }, }; diff --git a/x-pack/plugins/apm/public/index.ts b/x-pack/plugins/apm/public/index.ts index 446bb61f181b6..a25c76e8e9e4a 100644 --- a/x-pack/plugins/apm/public/index.ts +++ b/x-pack/plugins/apm/public/index.ts @@ -24,6 +24,7 @@ export interface ConfigSchema { migrationToFleetAvailable: boolean; sourcemapApiAvailable: boolean; storageExplorerAvailable: boolean; + fastRefreshAvailable: boolean; }; serverless: { enabled: boolean; diff --git a/x-pack/plugins/apm/public/tutorial/config_agent/opentelemetry_instructions.tsx b/x-pack/plugins/apm/public/tutorial/config_agent/opentelemetry_instructions.tsx index fde43c35b76c0..4d1332df16877 100644 --- a/x-pack/plugins/apm/public/tutorial/config_agent/opentelemetry_instructions.tsx +++ b/x-pack/plugins/apm/public/tutorial/config_agent/opentelemetry_instructions.tsx @@ -57,6 +57,7 @@ export function OpenTelemetryInstructions({ const columns: Array>> = [ { field: 'setting', + width: '23%', name: i18n.translate( 'xpack.apm.tutorial.config_otel.column.configSettings', { @@ -66,6 +67,7 @@ export function OpenTelemetryInstructions({ }, { field: 'value', + width: '55%', name: i18n.translate( 'xpack.apm.tutorial.config_otel.column.configValue', { diff --git a/x-pack/plugins/apm/scripts/shared/create_or_update_index.ts b/x-pack/plugins/apm/scripts/shared/create_or_update_index.ts deleted file mode 100644 index 39f398354422f..0000000000000 --- a/x-pack/plugins/apm/scripts/shared/create_or_update_index.ts +++ /dev/null @@ -1,66 +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 { ESClient } from './get_es_client'; - -export async function createOrUpdateIndex({ - client, - clear, - indexName, - template, -}: { - client: ESClient; - clear: boolean; - indexName: string; - template: any; -}) { - if (clear) { - try { - await client.indices.delete({ - index: indexName, - }); - } catch (err) { - // 404 = index not found, totally okay - if (err.body.status !== 404) { - throw err; - } - } - } - - // Some settings are non-updateable and need to be removed. - const settings = { ...template.settings }; - delete settings?.index?.number_of_shards; - delete settings?.index?.sort; - - const indexExists = await client.indices.exists({ - index: indexName, - }); - - if (!indexExists) { - await client.indices.create({ - index: indexName, - body: template, - }); - } else { - await client.indices.close({ index: indexName }); - await Promise.all([ - template.mappings - ? client.indices.putMapping({ - index: indexName, - body: template.mappings, - }) - : Promise.resolve(undefined as any), - settings - ? client.indices.putSettings({ - index: indexName, - body: settings, - }) - : Promise.resolve(undefined as any), - ]); - await client.indices.open({ index: indexName }); - } -} diff --git a/x-pack/plugins/apm/server/index.ts b/x-pack/plugins/apm/server/index.ts index f79c83683a36b..9662fa7d9b0e6 100644 --- a/x-pack/plugins/apm/server/index.ts +++ b/x-pack/plugins/apm/server/index.ts @@ -23,6 +23,15 @@ const disabledOnServerless = schema.conditional( schema.oneOf([schema.literal(true)], { defaultValue: true }) ); +const enabledOnServerless = schema.conditional( + schema.contextRef('serverless'), + true, + schema.boolean({ + defaultValue: true, + }), + schema.oneOf([schema.literal(false)], { defaultValue: false }) +); + // All options should be documented in the APM configuration settings: https://github.com/elastic/kibana/blob/main/docs/settings/apm-settings.asciidoc // and be included on cloud allow list unless there are specific reasons not to const configSchema = schema.object({ @@ -88,6 +97,7 @@ const configSchema = schema.object({ migrationToFleetAvailable: disabledOnServerless, sourcemapApiAvailable: disabledOnServerless, storageExplorerAvailable: disabledOnServerless, + fastRefreshAvailable: enabledOnServerless, }), serverless: schema.object({ enabled: schema.conditional( diff --git a/x-pack/plugins/apm/server/plugin.ts b/x-pack/plugins/apm/server/plugin.ts index 618c1b388bfab..d3979628f14b5 100644 --- a/x-pack/plugins/apm/server/plugin.ts +++ b/x-pack/plugins/apm/server/plugin.ts @@ -277,6 +277,7 @@ export class APMPlugin const logger = this.logger; const client = core.elasticsearch.client.asInternalUser; + const { featureFlags } = this.currentConfig; // create .apm-agent-configuration index without blocking start lifecycle createApmAgentConfigurationIndex({ client, logger }).catch((e) => { @@ -285,7 +286,7 @@ export class APMPlugin }); // create .apm-custom-link index without blocking start lifecycle - createApmCustomLinkIndex({ client, logger }).catch((e) => { + createApmCustomLinkIndex({ client, logger, featureFlags }).catch((e) => { logger.error('Failed to create .apm-custom-link index'); logger.error(e); }); diff --git a/x-pack/plugins/apm/server/routes/alerts/action_variables.ts b/x-pack/plugins/apm/server/routes/alerts/action_variables.ts index c911aa674631f..045e2f14002d0 100644 --- a/x-pack/plugins/apm/server/routes/alerts/action_variables.ts +++ b/x-pack/plugins/apm/server/routes/alerts/action_variables.ts @@ -102,4 +102,13 @@ export const apmActionVariables = { ), name: 'errorGroupingKey' as const, }, + errorGroupingName: { + description: i18n.translate( + 'xpack.apm.alerts.action_variables.errorGroupingName', + { + defaultMessage: 'The error grouping name the alert is created for', + } + ), + name: 'errorGroupingName' as const, + }, }; diff --git a/x-pack/plugins/apm/server/routes/alerts/register_apm_rule_types.ts b/x-pack/plugins/apm/server/routes/alerts/register_apm_rule_types.ts index fb197daabe943..2245ddf574885 100644 --- a/x-pack/plugins/apm/server/routes/alerts/register_apm_rule_types.ts +++ b/x-pack/plugins/apm/server/routes/alerts/register_apm_rule_types.ts @@ -20,6 +20,7 @@ import { legacyExperimentalFieldMap } from '@kbn/alerts-as-data-utils'; import { AGENT_NAME, ERROR_GROUP_ID, + ERROR_GROUP_NAME, PROCESSOR_EVENT, SERVICE_ENVIRONMENT, SERVICE_LANGUAGE_NAME, @@ -57,6 +58,10 @@ export const apmRuleTypeAlertFieldMap = { type: 'keyword', required: false, }, + [ERROR_GROUP_NAME]: { + type: 'keyword', + required: false, + }, [PROCESSOR_EVENT]: { type: 'keyword', required: false, diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.test.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.test.ts index 05539bd7ffdb4..2e517683394bf 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.test.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.test.ts @@ -584,4 +584,117 @@ describe('Error count alert', () => { alertDetailsUrl: 'mockedAlertsLocator > getLocation', }); }); + + it('sends alert when rule is configured with group by on error.grouping_key and error.grouping_name', async () => { + const { services, dependencies, executor, scheduleActions } = + createRuleTypeMocks(); + + registerErrorCountRuleType(dependencies); + + const params = { + threshold: 2, + windowSize: 5, + windowUnit: 'm', + groupBy: [ + 'service.name', + 'service.environment', + 'error.grouping_key', + 'error.grouping_name', + ], + }; + + services.scopedClusterClient.asCurrentUser.search.mockResponse({ + hits: { + hits: [], + total: { + relation: 'eq', + value: 2, + }, + }, + aggregations: { + error_counts: { + buckets: [ + { + key: ['foo', 'env-foo', 'error-key-foo', 'error-name-foo'], + doc_count: 5, + }, + { + key: ['foo', 'env-foo-2', 'error-key-foo-2', 'error-name-foo2'], + doc_count: 4, + }, + { + key: ['bar', 'env-bar', 'error-key-bar', 'error-name-bar'], + doc_count: 3, + }, + { + key: ['bar', 'env-bar-2', 'error-key-bar-2', 'error-name-bar2'], + doc_count: 1, + }, + ], + }, + }, + took: 0, + timed_out: false, + _shards: { + failed: 0, + skipped: 0, + successful: 1, + total: 1, + }, + }); + + await executor({ params }); + [ + 'foo_env-foo_error-key-foo_error-name-foo', + 'foo_env-foo-2_error-key-foo-2_error-name-foo2', + 'bar_env-bar_error-key-bar_error-name-bar', + ].forEach((instanceName) => + expect(services.alertFactory.create).toHaveBeenCalledWith(instanceName) + ); + + expect(scheduleActions).toHaveBeenCalledTimes(3); + + expect(scheduleActions).toHaveBeenCalledWith('threshold_met', { + serviceName: 'foo', + environment: 'env-foo', + threshold: 2, + triggerValue: 5, + reason: + 'Error count is 5 in the last 5 mins for service: foo, env: env-foo, error key: error-key-foo, error name: error-name-foo. Alert when > 2.', + interval: '5 mins', + viewInAppUrl: + 'http://localhost:5601/eyr/app/apm/services/foo/errors?environment=env-foo', + errorGroupingKey: 'error-key-foo', + errorGroupingName: 'error-name-foo', + alertDetailsUrl: 'mockedAlertsLocator > getLocation', + }); + expect(scheduleActions).toHaveBeenCalledWith('threshold_met', { + serviceName: 'foo', + environment: 'env-foo-2', + threshold: 2, + triggerValue: 4, + reason: + 'Error count is 4 in the last 5 mins for service: foo, env: env-foo-2, error key: error-key-foo-2, error name: error-name-foo2. Alert when > 2.', + interval: '5 mins', + viewInAppUrl: + 'http://localhost:5601/eyr/app/apm/services/foo/errors?environment=env-foo-2', + errorGroupingKey: 'error-key-foo-2', + errorGroupingName: 'error-name-foo2', + alertDetailsUrl: 'mockedAlertsLocator > getLocation', + }); + expect(scheduleActions).toHaveBeenCalledWith('threshold_met', { + serviceName: 'bar', + environment: 'env-bar', + reason: + 'Error count is 3 in the last 5 mins for service: bar, env: env-bar, error key: error-key-bar, error name: error-name-bar. Alert when > 2.', + threshold: 2, + triggerValue: 3, + interval: '5 mins', + viewInAppUrl: + 'http://localhost:5601/eyr/app/apm/services/bar/errors?environment=env-bar', + errorGroupingKey: 'error-key-bar', + errorGroupingName: 'error-name-bar', + alertDetailsUrl: 'mockedAlertsLocator > getLocation', + }); + }); }); diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts index 7a18e2ef49aa2..78f3d6c97e654 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/error_count/register_error_count_rule_type.ts @@ -83,6 +83,7 @@ export function registerErrorCountRuleType({ apmActionVariables.serviceName, apmActionVariables.transactionName, apmActionVariables.errorGroupingKey, + apmActionVariables.errorGroupingName, apmActionVariables.threshold, apmActionVariables.triggerValue, apmActionVariables.viewInAppUrl, diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/utils/get_groupby_action_variables.test.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/utils/get_groupby_action_variables.test.ts index 96e0cbd7f09c1..5072e484fc2a8 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/utils/get_groupby_action_variables.test.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/utils/get_groupby_action_variables.test.ts @@ -15,11 +15,13 @@ describe('getGroupByActionVariables', () => { 'transaction.type': 'request', 'transaction.name': 'tx-java', 'error.grouping_key': 'error-key-0', + 'error.grouping_name': 'error-name-0', }); expect(result).toMatchInlineSnapshot(` Object { "environment": "development", "errorGroupingKey": "error-key-0", + "errorGroupingName": "error-name-0", "serviceName": "opbeans-java", "transactionName": "tx-java", "transactionType": "request", diff --git a/x-pack/plugins/apm/server/routes/alerts/rule_types/utils/get_groupby_action_variables.ts b/x-pack/plugins/apm/server/routes/alerts/rule_types/utils/get_groupby_action_variables.ts index fd245bb3a1d0c..15ae40d27c6f2 100644 --- a/x-pack/plugins/apm/server/routes/alerts/rule_types/utils/get_groupby_action_variables.ts +++ b/x-pack/plugins/apm/server/routes/alerts/rule_types/utils/get_groupby_action_variables.ts @@ -8,6 +8,7 @@ import { getFieldValueLabel } from '../../../../../common/rules/apm_rule_types'; import { ERROR_GROUP_ID, + ERROR_GROUP_NAME, SERVICE_ENVIRONMENT, SERVICE_NAME, TRANSACTION_NAME, @@ -26,6 +27,8 @@ const renameActionVariable = (field: string): string => { return 'transactionName'; case ERROR_GROUP_ID: return 'errorGroupingKey'; + case ERROR_GROUP_NAME: + return 'errorGroupingName'; default: return field; } diff --git a/x-pack/plugins/apm/server/routes/settings/custom_link/create_custom_link_index.ts b/x-pack/plugins/apm/server/routes/settings/custom_link/create_custom_link_index.ts index b8bfc3b3f2f72..1586abb500be2 100644 --- a/x-pack/plugins/apm/server/routes/settings/custom_link/create_custom_link_index.ts +++ b/x-pack/plugins/apm/server/routes/settings/custom_link/create_custom_link_index.ts @@ -12,19 +12,29 @@ import { Mappings, } from '@kbn/observability-plugin/server'; import { APM_CUSTOM_LINK_INDEX } from '../apm_indices/get_apm_indices'; +import { ApmFeatureFlags } from '../../../../common/apm_feature_flags'; export const createApmCustomLinkIndex = async ({ client, logger, + featureFlags, }: { client: ElasticsearchClient; logger: Logger; + featureFlags: ApmFeatureFlags; }) => { return createOrUpdateIndex({ index: APM_CUSTOM_LINK_INDEX, client, logger, mappings, + settings: featureFlags.fastRefreshAvailable + ? { + index: { + fast_refresh: true, + }, + } + : {}, }); }; diff --git a/x-pack/plugins/canvas/shareable_runtime/components/__snapshots__/app.test.tsx.snap b/x-pack/plugins/canvas/shareable_runtime/components/__snapshots__/app.test.tsx.snap index b552a45faf015..cad8af4172051 100644 --- a/x-pack/plugins/canvas/shareable_runtime/components/__snapshots__/app.test.tsx.snap +++ b/x-pack/plugins/canvas/shareable_runtime/components/__snapshots__/app.test.tsx.snap @@ -1,3 +1,3 @@ // Jest Snapshot v1, https://goo.gl/fbAQLP -exports[` App renders properly 1`] = `"
markdown mock
markdown mock
My Canvas Workpad
"`; +exports[` App renders properly 1`] = `"
markdown mock
markdown mock
My Canvas Workpad
"`; diff --git a/x-pack/plugins/cases/public/containers/configure/use_action_types.test.tsx b/x-pack/plugins/cases/public/containers/configure/use_action_types.test.tsx index 9739b29a484b0..7191b0fc028e7 100644 --- a/x-pack/plugins/cases/public/containers/configure/use_action_types.test.tsx +++ b/x-pack/plugins/cases/public/containers/configure/use_action_types.test.tsx @@ -19,7 +19,6 @@ describe('useActionTypes', () => { let appMockRenderer: AppMockRenderer; beforeEach(() => { jest.clearAllMocks(); - jest.restoreAllMocks(); appMockRenderer = createAppMockRenderer(); }); diff --git a/x-pack/plugins/cases/public/containers/use_find_case_user_actions.test.tsx b/x-pack/plugins/cases/public/containers/use_find_case_user_actions.test.tsx index d5ecdfe92b3ff..67110c8ebc0b9 100644 --- a/x-pack/plugins/cases/public/containers/use_find_case_user_actions.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_find_case_user_actions.test.tsx @@ -40,7 +40,6 @@ describe('UseFindCaseUserActions', () => { beforeEach(() => { appMockRender = createAppMockRenderer(); jest.clearAllMocks(); - jest.restoreAllMocks(); }); it('returns proper state on findCaseUserActions', async () => { diff --git a/x-pack/plugins/cases/public/containers/use_get_action_license.test.tsx b/x-pack/plugins/cases/public/containers/use_get_action_license.test.tsx index d2bf757697a4b..43e445fa39aab 100644 --- a/x-pack/plugins/cases/public/containers/use_get_action_license.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_get_action_license.test.tsx @@ -20,7 +20,6 @@ describe('useGetActionLicense', () => { let appMockRenderer: AppMockRenderer; beforeEach(() => { jest.clearAllMocks(); - jest.restoreAllMocks(); appMockRenderer = createAppMockRenderer(); }); diff --git a/x-pack/plugins/cases/public/containers/use_get_case_metrics.test.tsx b/x-pack/plugins/cases/public/containers/use_get_case_metrics.test.tsx index 76c79c0538a5d..6d8d155a6818a 100644 --- a/x-pack/plugins/cases/public/containers/use_get_case_metrics.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_get_case_metrics.test.tsx @@ -25,7 +25,6 @@ describe('useGetCaseMetrics', () => { beforeEach(() => { jest.clearAllMocks(); - jest.restoreAllMocks(); }); it('calls getSingleCaseMetrics with correct arguments', async () => { diff --git a/x-pack/plugins/cases/public/containers/use_get_categories.test.tsx b/x-pack/plugins/cases/public/containers/use_get_categories.test.tsx index 4df16e51754d7..c503dbf25603a 100644 --- a/x-pack/plugins/cases/public/containers/use_get_categories.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_get_categories.test.tsx @@ -20,7 +20,6 @@ describe('useGetCategories', () => { const abortCtrl = new AbortController(); beforeEach(() => { jest.clearAllMocks(); - jest.restoreAllMocks(); }); it('calls getCategories api', async () => { diff --git a/x-pack/plugins/cases/public/containers/use_get_tags.test.tsx b/x-pack/plugins/cases/public/containers/use_get_tags.test.tsx index 3466d8a410a9e..badbcc7a93352 100644 --- a/x-pack/plugins/cases/public/containers/use_get_tags.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_get_tags.test.tsx @@ -20,7 +20,6 @@ describe('useGetTags', () => { const abortCtrl = new AbortController(); beforeEach(() => { jest.clearAllMocks(); - jest.restoreAllMocks(); }); it('calls getTags api', async () => { diff --git a/x-pack/plugins/cases/public/containers/use_infinite_find_case_user_actions.test.tsx b/x-pack/plugins/cases/public/containers/use_infinite_find_case_user_actions.test.tsx index b8c51e3ce86d5..b3df805033ba8 100644 --- a/x-pack/plugins/cases/public/containers/use_infinite_find_case_user_actions.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_infinite_find_case_user_actions.test.tsx @@ -39,7 +39,6 @@ describe('UseInfiniteFindCaseUserActions', () => { beforeEach(() => { appMockRender = createAppMockRenderer(); jest.clearAllMocks(); - jest.restoreAllMocks(); }); it('returns proper state on findCaseUserActions', async () => { @@ -138,6 +137,7 @@ describe('UseInfiniteFindCaseUserActions', () => { expect.any(AbortSignal) ); expect(addError).toHaveBeenCalled(); + spy.mockRestore(); }); it('fetches next page with correct params', async () => { diff --git a/x-pack/plugins/cloud/public/mocks.tsx b/x-pack/plugins/cloud/public/mocks.tsx index 187a8010dc547..c6b849278ab86 100644 --- a/x-pack/plugins/cloud/public/mocks.tsx +++ b/x-pack/plugins/cloud/public/mocks.tsx @@ -26,6 +26,10 @@ function createSetupMock(): jest.Mocked { isElasticStaffOwned: true, trialEndDate: new Date('2020-10-01T14:13:12Z'), registerCloudService: jest.fn(), + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }; } @@ -42,6 +46,10 @@ const createStartMock = (): jest.Mocked => ({ billingUrl: 'billing-url', profileUrl: 'profile-url', organizationUrl: 'organization-url', + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }); export const cloudMock = { diff --git a/x-pack/plugins/cloud/public/plugin.test.ts b/x-pack/plugins/cloud/public/plugin.test.ts index cba07eb558f82..e0287222df888 100644 --- a/x-pack/plugins/cloud/public/plugin.test.ts +++ b/x-pack/plugins/cloud/public/plugin.test.ts @@ -7,7 +7,7 @@ import { decodeCloudIdMock, parseDeploymentIdFromDeploymentUrlMock } from './plugin.test.mocks'; import { coreMock } from '@kbn/core/public/mocks'; -import { CloudPlugin } from './plugin'; +import { CloudPlugin, type CloudConfigType } from './plugin'; import type { DecodedCloudId } from '../common/decode_cloud_id'; const baseConfig = { @@ -25,11 +25,12 @@ describe('Cloud Plugin', () => { describe('#setup', () => { describe('interface', () => { - const setupPlugin = () => { + const setupPlugin = (configParts: Partial = {}) => { const initContext = coreMock.createPluginInitializerContext({ ...baseConfig, id: 'cloudId', cname: 'cloud.elastic.co', + ...configParts, }); const plugin = new CloudPlugin(initContext); @@ -114,11 +115,38 @@ describe('Cloud Plugin', () => { expect(decodeCloudIdMock).toHaveBeenCalledTimes(1); expect(decodeCloudIdMock).toHaveBeenCalledWith('cloudId', expect.any(Object)); }); + + describe('isServerlessEnabled', () => { + it('is `true` when `serverless.projectId` is set', () => { + const { setup } = setupPlugin({ + serverless: { + project_id: 'my-awesome-project', + }, + }); + expect(setup.isServerlessEnabled).toBe(true); + }); + + it('is `false` when `serverless.projectId` is not set', () => { + const { setup } = setupPlugin({ + serverless: undefined, + }); + expect(setup.isServerlessEnabled).toBe(false); + }); + }); + + it('exposes `serverless.projectId`', () => { + const { setup } = setupPlugin({ + serverless: { + project_id: 'my-awesome-project', + }, + }); + expect(setup.serverless.projectId).toBe('my-awesome-project'); + }); }); }); describe('#start', () => { - const startPlugin = () => { + const startPlugin = (configParts: Partial = {}) => { const plugin = new CloudPlugin( coreMock.createPluginInitializerContext({ id: 'cloudId', @@ -132,6 +160,7 @@ describe('Cloud Plugin', () => { chat: { enabled: false, }, + ...configParts, }) ); const coreSetup = coreMock.createSetup(); @@ -154,5 +183,38 @@ describe('Cloud Plugin', () => { ] `); }); + + describe('isServerlessEnabled', () => { + it('is `true` when `serverless.projectId` is set', () => { + const { plugin } = startPlugin({ + serverless: { + project_id: 'my-awesome-project', + }, + }); + const coreStart = coreMock.createStart(); + const start = plugin.start(coreStart); + expect(start.isServerlessEnabled).toBe(true); + }); + + it('is `false` when `serverless.projectId` is not set', () => { + const { plugin } = startPlugin({ + serverless: undefined, + }); + const coreStart = coreMock.createStart(); + const start = plugin.start(coreStart); + expect(start.isServerlessEnabled).toBe(false); + }); + }); + + it('exposes `serverless.projectId`', () => { + const { plugin } = startPlugin({ + serverless: { + project_id: 'my-awesome-project', + }, + }); + const coreStart = coreMock.createStart(); + const start = plugin.start(coreStart); + expect(start.serverless.projectId).toBe('my-awesome-project'); + }); }); }); diff --git a/x-pack/plugins/cloud/public/plugin.tsx b/x-pack/plugins/cloud/public/plugin.tsx index b17614bb3c41e..11052f48de7a3 100644 --- a/x-pack/plugins/cloud/public/plugin.tsx +++ b/x-pack/plugins/cloud/public/plugin.tsx @@ -26,6 +26,9 @@ export interface CloudConfigType { organization_url?: string; trial_end_date?: string; is_elastic_staff_owned?: boolean; + serverless?: { + project_id: string; + }; } interface CloudUrls { @@ -39,12 +42,14 @@ interface CloudUrls { export class CloudPlugin implements Plugin { private readonly config: CloudConfigType; private readonly isCloudEnabled: boolean; + private readonly isServerlessEnabled: boolean; private readonly contextProviders: FC[] = []; private readonly logger: Logger; constructor(private readonly initializerContext: PluginInitializerContext) { this.config = this.initializerContext.config.get(); this.isCloudEnabled = getIsCloudEnabled(this.config.id); + this.isServerlessEnabled = !!this.config.serverless?.project_id; this.logger = initializerContext.logger.get(); } @@ -77,6 +82,10 @@ export class CloudPlugin implements Plugin { trialEndDate: trialEndDate ? new Date(trialEndDate) : undefined, isElasticStaffOwned, isCloudEnabled: this.isCloudEnabled, + isServerlessEnabled: this.isServerlessEnabled, + serverless: { + projectId: this.config.serverless?.project_id, + }, registerCloudService: (contextProvider) => { this.contextProviders.push(contextProvider); }, @@ -118,6 +127,10 @@ export class CloudPlugin implements Plugin { organizationUrl, elasticsearchUrl: decodedId?.elasticsearchUrl, kibanaUrl: decodedId?.kibanaUrl, + isServerlessEnabled: this.isServerlessEnabled, + serverless: { + projectId: this.config.serverless?.project_id, + }, }; } diff --git a/x-pack/plugins/cloud/public/types.ts b/x-pack/plugins/cloud/public/types.ts index a482729fb7ac7..0224e0620c983 100644 --- a/x-pack/plugins/cloud/public/types.ts +++ b/x-pack/plugins/cloud/public/types.ts @@ -44,6 +44,21 @@ export interface CloudStart { * The full URL to the Kibana deployment. */ kibanaUrl?: string; + /** + * `true` when running on Serverless Elastic Cloud + * Note that `isCloudEnabled` will always be true when `isServerlessEnabled` is. + */ + isServerlessEnabled: boolean; + /** + * Serverless configuration + */ + serverless: { + /** + * The serverless projectId. + * Will always be present if `isServerlessEnabled` is `true` + */ + projectId?: string; + }; } export interface CloudSetup { @@ -112,4 +127,19 @@ export interface CloudSetup { * @param contextProvider The React component from the Service Provider. */ registerCloudService: (contextProvider: FC) => void; + /** + * `true` when running on Serverless Elastic Cloud + * Note that `isCloudEnabled` will always be true when `isServerlessEnabled` is. + */ + isServerlessEnabled: boolean; + /** + * Serverless configuration + */ + serverless: { + /** + * The serverless projectId. + * Will always be present if `isServerlessEnabled` is `true` + */ + projectId?: string; + }; } diff --git a/x-pack/plugins/cloud/server/config.ts b/x-pack/plugins/cloud/server/config.ts index 7420b2b13b36b..66cd1f3a47411 100644 --- a/x-pack/plugins/cloud/server/config.ts +++ b/x-pack/plugins/cloud/server/config.ts @@ -29,6 +29,11 @@ const configSchema = schema.object({ profile_url: schema.maybe(schema.string()), trial_end_date: schema.maybe(schema.string()), is_elastic_staff_owned: schema.maybe(schema.boolean()), + serverless: schema.maybe( + schema.object({ + project_id: schema.string(), + }) + ), }); export type CloudConfigType = TypeOf; @@ -44,6 +49,9 @@ export const config: PluginConfigDescriptor = { profile_url: true, trial_end_date: true, is_elastic_staff_owned: true, + serverless: { + project_id: true, + }, }, schema: configSchema, }; diff --git a/x-pack/plugins/cloud/server/mocks.ts b/x-pack/plugins/cloud/server/mocks.ts index 10423bd3e4cc9..dcb04f089a266 100644 --- a/x-pack/plugins/cloud/server/mocks.ts +++ b/x-pack/plugins/cloud/server/mocks.ts @@ -23,6 +23,10 @@ function createSetupMock(): jest.Mocked { url: undefined, secretToken: undefined, }, + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }; } diff --git a/x-pack/plugins/cloud/server/plugin.test.ts b/x-pack/plugins/cloud/server/plugin.test.ts index 5268bce60c537..76264cb248c17 100644 --- a/x-pack/plugins/cloud/server/plugin.test.ts +++ b/x-pack/plugins/cloud/server/plugin.test.ts @@ -7,6 +7,7 @@ import { decodeCloudIdMock, parseDeploymentIdFromDeploymentUrlMock } from './plugin.test.mocks'; import { coreMock } from '@kbn/core/server/mocks'; +import type { CloudConfigType } from './config'; import { CloudPlugin } from './plugin'; import type { DecodedCloudId } from '../common/decode_cloud_id'; @@ -23,11 +24,12 @@ describe('Cloud Plugin', () => { decodeCloudIdMock.mockReset().mockReturnValue({}); }); - const setupPlugin = () => { + const setupPlugin = (configParts: Partial = {}) => { const initContext = coreMock.createPluginInitializerContext({ ...baseConfig, id: 'cloudId', cname: 'cloud.elastic.co', + ...configParts, }); const plugin = new CloudPlugin(initContext); @@ -90,6 +92,33 @@ describe('Cloud Plugin', () => { expect(decodeCloudIdMock).toHaveBeenCalledTimes(1); expect(decodeCloudIdMock).toHaveBeenCalledWith('cloudId', expect.any(Object)); }); + + describe('isServerlessEnabled', () => { + it('is `true` when `serverless.projectId` is set', () => { + const { setup } = setupPlugin({ + serverless: { + project_id: 'my-awesome-project', + }, + }); + expect(setup.isServerlessEnabled).toBe(true); + }); + + it('is `false` when `serverless.projectId` is not set', () => { + const { setup } = setupPlugin({ + serverless: undefined, + }); + expect(setup.isServerlessEnabled).toBe(false); + }); + }); + + it('exposes `serverless.projectId`', () => { + const { setup } = setupPlugin({ + serverless: { + project_id: 'my-awesome-project', + }, + }); + expect(setup.serverless.projectId).toBe('my-awesome-project'); + }); }); }); diff --git a/x-pack/plugins/cloud/server/plugin.ts b/x-pack/plugins/cloud/server/plugin.ts index 92db5f8c915ef..ee769cf0b14c3 100644 --- a/x-pack/plugins/cloud/server/plugin.ts +++ b/x-pack/plugins/cloud/server/plugin.ts @@ -71,6 +71,21 @@ export interface CloudSetup { url?: string; secretToken?: string; }; + /** + * `true` when running on Serverless Elastic Cloud + * Note that `isCloudEnabled` will always be true when `isServerlessEnabled` is. + */ + isServerlessEnabled: boolean; + /** + * Serverless configuration + */ + serverless: { + /** + * The serverless projectId. + * Will always be present if `isServerlessEnabled` is `true` + */ + projectId?: string; + }; } /** @@ -94,6 +109,8 @@ export class CloudPlugin implements Plugin { public setup(core: CoreSetup, { usageCollection }: PluginsSetup): CloudSetup { const isCloudEnabled = getIsCloudEnabled(this.config.id); + const isServerlessEnabled = !!this.config.serverless?.project_id; + registerCloudDeploymentMetadataAnalyticsContext(core.analytics, this.config); registerCloudUsageCollector(usageCollection, { isCloudEnabled, @@ -121,6 +138,10 @@ export class CloudPlugin implements Plugin { url: this.config.apm?.url, secretToken: this.config.apm?.secret_token, }, + isServerlessEnabled, + serverless: { + projectId: this.config.serverless?.project_id, + }, }; } diff --git a/x-pack/plugins/cloud_security_posture/public/pages/configurations/configurations.test.tsx b/x-pack/plugins/cloud_security_posture/public/pages/configurations/configurations.test.tsx index e71b85a76168c..96e5b2a964f94 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/configurations/configurations.test.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/configurations/configurations.test.tsx @@ -43,7 +43,7 @@ jest.mock('../../common/navigation/use_csp_integration_link'); const chance = new Chance(); beforeEach(() => { - jest.restoreAllMocks(); + jest.clearAllMocks(); (useSubscriptionStatus as jest.Mock).mockImplementation(() => createReactQueryResponse({ diff --git a/x-pack/plugins/enterprise_search/common/types/pipelines.ts b/x-pack/plugins/enterprise_search/common/types/pipelines.ts index 13f5ebb01b948..8dc5869df4c10 100644 --- a/x-pack/plugins/enterprise_search/common/types/pipelines.ts +++ b/x-pack/plugins/enterprise_search/common/types/pipelines.ts @@ -80,11 +80,12 @@ export interface CreateMlInferencePipelineParameters { model_id: string; pipeline_name: string; source_field: string; - field_mappings?: FieldMapping[]; + field_mappings: FieldMapping[]; } export interface CreateMLInferencePipelineDefinition { field_mappings: FieldMapping[]; + inference_config?: InferencePipelineInferenceConfig; pipeline_definition: MlInferencePipeline; pipeline_name: string; } diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/pipelines/create_ml_inference_pipeline.test.ts b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/pipelines/create_ml_inference_pipeline.test.ts index d3a544d4d8c46..d62612c805f51 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/pipelines/create_ml_inference_pipeline.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/pipelines/create_ml_inference_pipeline.test.ts @@ -20,25 +20,30 @@ describe('CreateMlInferencePipelineApiLogic', () => { describe('createMlInferencePipeline', () => { it('calls the api', async () => { const response: Promise = Promise.resolve({ - created: 'ml-inference-unit-test', + created: 'ml-inference-my-pipeline', }); http.post.mockReturnValue(response); const args: CreateMlInferencePipelineApiLogicArgs = { - indexName: 'unit-test-index', - modelId: 'test-model', - pipelineName: 'unit-test', - sourceField: 'body', + fieldMappings: [ + { + sourceField: 'my_source_field', + targetField: 'my_target_field', + }, + ], + indexName: 'my-index', + pipelineName: 'my-pipeline', + pipelineDefinition: { processors: [], version: 1 }, }; const result = await createMlInferencePipeline(args); expect(http.post).toHaveBeenCalledWith( - '/internal/enterprise_search/indices/unit-test-index/ml_inference/pipeline_processors', + '/internal/enterprise_search/indices/my-index/ml_inference/pipeline_processors', { - body: '{"model_id":"test-model","pipeline_name":"unit-test","source_field":"body"}', + body: '{"field_mappings":[{"sourceField":"my_source_field","targetField":"my_target_field"}],"pipeline_definition":{"processors":[],"version":1},"pipeline_name":"my-pipeline"}', } ); expect(result).toEqual({ - created: 'ml-inference-unit-test', + created: 'ml-inference-my-pipeline', }); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/pipelines/create_ml_inference_pipeline.ts b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/pipelines/create_ml_inference_pipeline.ts index 5161ec751bd77..6626c88f69a59 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/pipelines/create_ml_inference_pipeline.ts +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/api/pipelines/create_ml_inference_pipeline.ts @@ -7,7 +7,6 @@ import { FieldMapping } from '../../../../../common/ml_inference_pipeline'; import { - CreateMlInferencePipelineParameters, CreateMLInferencePipelineDefinition, MlInferencePipeline, InferencePipelineInferenceConfig, @@ -15,69 +14,29 @@ import { import { createApiLogic } from '../../../shared/api_logic/create_api_logic'; import { HttpLogic } from '../../../shared/http'; -interface CreateMlInferencePipelineApiLogicArgsWithPipelineParameters { - destinationField?: string; - indexName: string; - inferenceConfig?: InferencePipelineInferenceConfig; - modelId: string; - pipelineName: string; - sourceField: string; -} - -interface CreateMlInferencePipelineApiLogicArgsWithPipelineDefinition { +export interface CreateMlInferencePipelineApiLogicArgs { fieldMappings: FieldMapping[]; indexName: string; + inferenceConfig?: InferencePipelineInferenceConfig; pipelineDefinition: MlInferencePipeline; pipelineName: string; } -export type CreateMlInferencePipelineApiLogicArgs = - | CreateMlInferencePipelineApiLogicArgsWithPipelineParameters - | CreateMlInferencePipelineApiLogicArgsWithPipelineDefinition; - export interface CreateMlInferencePipelineResponse { created: string; } -const isArgsWithPipelineParameters = ( - args: CreateMlInferencePipelineApiLogicArgs -): args is CreateMlInferencePipelineApiLogicArgsWithPipelineParameters => { - return ( - typeof (args as CreateMlInferencePipelineApiLogicArgsWithPipelineParameters).modelId === - 'string' - ); -}; - -const isArgsWithPipelineDefinition = ( - args: CreateMlInferencePipelineApiLogicArgs -): args is CreateMlInferencePipelineApiLogicArgsWithPipelineDefinition => { - return ( - typeof (args as CreateMlInferencePipelineApiLogicArgsWithPipelineDefinition) - .pipelineDefinition === 'object' - ); -}; - export const createMlInferencePipeline = async ( args: CreateMlInferencePipelineApiLogicArgs ): Promise => { const route = `/internal/enterprise_search/indices/${args.indexName}/ml_inference/pipeline_processors`; - let params: CreateMlInferencePipelineParameters | CreateMLInferencePipelineDefinition | undefined; - if (isArgsWithPipelineParameters(args)) { - params = { - destination_field: args.destinationField, - inference_config: args.inferenceConfig, - model_id: args.modelId, - pipeline_definition: undefined, - pipeline_name: args.pipelineName, - source_field: args.sourceField, - }; - } else if (isArgsWithPipelineDefinition(args)) { - params = { - field_mappings: args.fieldMappings, - pipeline_definition: args.pipelineDefinition, - pipeline_name: args.pipelineName, - }; - } + const params: CreateMLInferencePipelineDefinition = { + field_mappings: args.fieldMappings, + inference_config: args.inferenceConfig, + pipeline_definition: args.pipelineDefinition, + pipeline_name: args.pipelineName, + }; + return await HttpLogic.values.http.post(route, { body: JSON.stringify(params), }); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/empty_state.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/empty_state.tsx index 8a6f66238b07f..482274d27d06a 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/empty_state.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/new_index/empty_state.tsx @@ -32,7 +32,7 @@ export const SearchIndexEmptyState: React.FC = () => {

{i18n.translate('xpack.enterpriseSearch.content.newIndex.emptyState.description', { defaultMessage: - 'Data you add in Enterprise Search is called a search index and it’s searchable in both App Search and Workplace Search. Now you can use your connectors in App Search and your web crawlers in Workplace Search.', + 'Data you add in Search is called a search index and it’s searchable in both App Search and Workplace Search. Now you can use your connectors in App Search and your web crawlers in Workplace Search.', })}

} diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx index 9cd4802ed2be4..6f4ff29b9e9b8 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/connector_configuration.tsx @@ -132,7 +132,7 @@ export const ConnectorConfiguration: React.FC = () => { @@ -229,7 +229,7 @@ service_type: "${index.connector.service_type || 'changeme'}" 'xpack.enterpriseSearch.content.indices.configurationConnector.connectorPackage.connectorConnected', { defaultMessage: - 'Your connector {name} has connected to Enterprise Search successfully.', + 'Your connector {name} has connected to Search successfully.', values: { name: index.connector.name }, } )} diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/native_connector_configuration/native_connector_configuration_config.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/native_connector_configuration/native_connector_configuration_config.tsx index 75aea55e98bb5..53a6166ad34e5 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/native_connector_configuration/native_connector_configuration_config.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/native_connector_configuration/native_connector_configuration_config.tsx @@ -75,8 +75,7 @@ export const NativeConnectorConfigurationConfig: React.FC< title={i18n.translate( 'xpack.enterpriseSearch.content.indices.configurationConnector.nativeConnector.connectorConnected', { - defaultMessage: - 'Your connector {name} has connected to Enterprise Search successfully.', + defaultMessage: 'Your connector {name} has connected to Search successfully.', values: { name: nativeConnector.name }, } )} diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/generate_api_key_panel.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/generate_api_key_panel.tsx index 28a09ffa16ea3..0de71b834b6f0 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/generate_api_key_panel.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/generate_api_key_panel.tsx @@ -135,7 +135,7 @@ export const GenerateApiKeyPanel: React.FC = () => { onChange={(event) => setOptimizedRequest(event.target.checked)} label={i18n.translate( 'xpack.enterpriseSearch.content.overview.optimizedRequest.label', - { defaultMessage: 'View Enterprise Search optimized request' } + { defaultMessage: 'View Search optimized request' } )} checked={optimizedRequest} /> diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/ingest_pipeline_flyout.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/ingest_pipeline_flyout.tsx index dc6dd019128d4..1dcffe443855e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/ingest_pipeline_flyout.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ingest_pipelines/ingest_pipeline_flyout.tsx @@ -160,7 +160,7 @@ export const IngestPipelineFlyout: React.FC = ({ 'xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalBodyConnectorText', { defaultMessage: - 'This pipeline runs automatically on all Crawler and Connector indices created through Enterprise Search.', + 'This pipeline runs automatically on all Crawler and Connector indices created through Search.', } ) )} @@ -172,7 +172,7 @@ export const IngestPipelineFlyout: React.FC = ({ {i18n.translate( 'xpack.enterpriseSearch.content.index.pipelines.ingestFlyout.modalIngestLinkLabel', { - defaultMessage: 'Learn more about Enterprise Search ingest pipelines', + defaultMessage: 'Learn more about Search ingest pipelines', } )} diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/configure_pipeline.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/configure_pipeline.tsx index 7568481a66d5f..daac178cd8d6b 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/configure_pipeline.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/configure_pipeline.tsx @@ -278,8 +278,7 @@ export const ConfigurePipeline: React.FC = () => { {i18n.translate( 'xpack.enterpriseSearch.content.indices.pipelines.addInferencePipelineModal.steps.configure.docsLink', { - defaultMessage: - 'Learn more about importing and using ML models in Enterprise Search', + defaultMessage: 'Learn more about importing and using ML models in Search', } )} diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/ml_inference_logic.test.ts b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/ml_inference_logic.test.ts index 7196749612877..8e1b2ab906032 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/ml_inference_logic.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/ml_inference_logic.test.ts @@ -165,10 +165,15 @@ describe('MlInferenceLogic', () => { expect(MLInferenceLogic.values.createErrors).not.toHaveLength(0); MLInferenceLogic.actions.makeCreatePipelineRequest({ + fieldMappings: [ + { + sourceField: 'body', + targetField: 'ml.inference.body', + }, + ], indexName: 'test', - modelId: 'test-model', + pipelineDefinition: {}, pipelineName: 'unit-test', - sourceField: 'body', }); expect(MLInferenceLogic.values.createErrors).toHaveLength(0); }); @@ -334,6 +339,7 @@ describe('MlInferenceLogic', () => { modelID: '', pipelineName: 'unit-test', sourceField: '', + fieldMappings: [], }); expect(MLInferenceLogic.values.mlInferencePipeline).toBeUndefined(); @@ -345,6 +351,7 @@ describe('MlInferenceLogic', () => { modelID: nerModel.model_id, pipelineName: 'unit-test', sourceField: 'body', + fieldMappings: [], }); expect(MLInferenceLogic.values.mlInferencePipeline).not.toBeUndefined(); @@ -356,6 +363,7 @@ describe('MlInferenceLogic', () => { modelID: '', pipelineName: '', sourceField: '', + fieldMappings: [], }); expect(MLInferenceLogic.values.mlInferencePipeline).toBeUndefined(); }); @@ -374,6 +382,7 @@ describe('MlInferenceLogic', () => { modelID: '', pipelineName: 'unit-test', sourceField: '', + fieldMappings: [], }); expect(MLInferenceLogic.values.mlInferencePipeline).not.toBeUndefined(); expect(MLInferenceLogic.values.mlInferencePipeline).toEqual(existingPipeline); @@ -532,89 +541,76 @@ describe('MlInferenceLogic', () => { const mockModelConfiguration = { ...DEFAULT_VALUES.addInferencePipelineModal, configuration: { - destinationField: '', + destinationField: 'mock_destination_field', modelID: 'mock-model-id', pipelineName: 'mock-pipeline-name', sourceField: 'mock_text_field', }, indexName: 'my-index-123', }; - it('calls makeCreatePipelineRequest when no destinationField is passed', () => { - mount({ - ...DEFAULT_VALUES, - addInferencePipelineModal: { - ...mockModelConfiguration, - }, - }); - jest.spyOn(MLInferenceLogic.actions, 'makeCreatePipelineRequest'); - MLInferenceLogic.actions.createPipeline(); - - expect(MLInferenceLogic.actions.makeCreatePipelineRequest).toHaveBeenCalledWith({ - destinationField: undefined, - indexName: mockModelConfiguration.indexName, - modelId: mockModelConfiguration.configuration.modelID, - pipelineName: mockModelConfiguration.configuration.pipelineName, - sourceField: mockModelConfiguration.configuration.sourceField, - }); - }); - - it('calls makeCreatePipelineRequest with passed destinationField', () => { + it('calls makeCreatePipelineRequest with passed pipelineDefinition and fieldMappings', () => { mount({ ...DEFAULT_VALUES, addInferencePipelineModal: { ...mockModelConfiguration, configuration: { ...mockModelConfiguration.configuration, - destinationField: 'mockDestinationField', + modelID: textExpansionModel.model_id, }, }, }); jest.spyOn(MLInferenceLogic.actions, 'makeCreatePipelineRequest'); + + MLModelsApiLogic.actions.apiSuccess([textExpansionModel]); + MLInferenceLogic.actions.selectFields(['my_source_field1', 'my_source_field2']); + MLInferenceLogic.actions.addSelectedFieldsToMapping(); MLInferenceLogic.actions.createPipeline(); expect(MLInferenceLogic.actions.makeCreatePipelineRequest).toHaveBeenCalledWith({ - destinationField: 'mockDestinationField', indexName: mockModelConfiguration.indexName, - modelId: mockModelConfiguration.configuration.modelID, + inferenceConfig: undefined, + fieldMappings: [ + { + sourceField: 'my_source_field1', + targetField: 'ml.inference.my_source_field1_expanded', + }, + { + sourceField: 'my_source_field2', + targetField: 'ml.inference.my_source_field2_expanded', + }, + ], + pipelineDefinition: expect.any(Object), // Generation logic is tested elsewhere pipelineName: mockModelConfiguration.configuration.pipelineName, - sourceField: mockModelConfiguration.configuration.sourceField, }); }); - it('calls makeCreatePipelineRequest with passed pipelineDefinition when text_expansion model is selected', () => { + it('calls makeCreatePipelineRequest with passed pipelineDefinition and default fieldMappings', () => { mount({ ...DEFAULT_VALUES, addInferencePipelineModal: { ...mockModelConfiguration, + configuration: { + ...mockModelConfiguration.configuration, + modelID: nerModel.model_id, + }, }, }); jest.spyOn(MLInferenceLogic.actions, 'makeCreatePipelineRequest'); - MLModelsApiLogic.actions.apiSuccess([textExpansionModel]); - MLInferenceLogic.actions.setInferencePipelineConfiguration({ - destinationField: mockModelConfiguration.configuration.destinationField, - fieldMappings: [ - { - sourceField: 'source', - targetField: 'ml.inference.dest', - }, - ], - modelID: textExpansionModel.model_id, - pipelineName: mockModelConfiguration.configuration.pipelineName, - sourceField: mockModelConfiguration.configuration.sourceField, - }); + MLModelsApiLogic.actions.apiSuccess([nerModel]); MLInferenceLogic.actions.createPipeline(); expect(MLInferenceLogic.actions.makeCreatePipelineRequest).toHaveBeenCalledWith({ indexName: mockModelConfiguration.indexName, - pipelineName: mockModelConfiguration.configuration.pipelineName, - pipelineDefinition: expect.any(Object), // Generation logic is tested elsewhere + inferenceConfig: undefined, fieldMappings: [ { - sourceField: 'source', - targetField: 'ml.inference.dest', + sourceField: mockModelConfiguration.configuration.sourceField, + targetField: `ml.inference.${mockModelConfiguration.configuration.destinationField}`, }, ], + pipelineDefinition: expect.any(Object), // Generation logic is tested elsewhere + pipelineName: mockModelConfiguration.configuration.pipelineName, }); }); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/ml_inference_logic.ts b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/ml_inference_logic.ts index ac6d2f8401b00..663f1e62a7541 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/ml_inference_logic.ts +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/ml_inference/ml_inference_logic.ts @@ -285,29 +285,22 @@ export const MLInferenceLogic = kea< createPipeline: () => { const { addInferencePipelineModal: { configuration, indexName }, - isTextExpansionModelSelected, mlInferencePipeline, // Full pipeline definition } = values; - actions.makeCreatePipelineRequest( - isTextExpansionModelSelected && mlInferencePipeline && configuration.fieldMappings - ? { - indexName, - fieldMappings: configuration.fieldMappings, - pipelineDefinition: mlInferencePipeline, - pipelineName: configuration.pipelineName, - } - : { - destinationField: - configuration.destinationField.trim().length > 0 - ? configuration.destinationField - : undefined, - indexName, - inferenceConfig: configuration.inferenceConfig, - modelId: configuration.modelID, - pipelineName: configuration.pipelineName, - sourceField: configuration.sourceField, - } - ); + + actions.makeCreatePipelineRequest({ + indexName, + inferenceConfig: configuration.inferenceConfig, + fieldMappings: configuration.fieldMappings || [ + // Temporary while we're using single fields for non-ELSER pipelines + { + sourceField: configuration.sourceField, + targetField: getMlInferencePrefixedFieldName(configuration.destinationField), + }, + ], + pipelineDefinition: mlInferencePipeline!, + pipelineName: configuration.pipelineName, + }); }, selectExistingPipeline: ({ pipelineName }) => { const pipeline = values.mlInferencePipelinesData?.[pipelineName]; diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipeline_json_badges.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipeline_json_badges.tsx index 16365012003b0..1ff6364ff53df 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipeline_json_badges.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipeline_json_badges.tsx @@ -71,7 +71,7 @@ const SharedPipelineBadge: React.FC = () => ( position="top" content={i18n.translate( 'xpack.enterpriseSearch.content.indices.pipelines.tabs.jsonConfigurations.shared.description', - { defaultMessage: 'This pipeline is shared across all Enterprise Search ingestion methods' } + { defaultMessage: 'This pipeline is shared across all Search ingestion methods' } )} > diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipelines.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipelines.tsx index 3ef16e4361c8b..800c1fc0abbf1 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipelines.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipelines.tsx @@ -129,7 +129,7 @@ export const SearchIndexPipelines: React.FC = () => { {i18n.translate( 'xpack.enterpriseSearch.content.indices.pipelines.ingestionPipeline.docLink', { - defaultMessage: 'Learn more about using pipelines in Enterprise Search', + defaultMessage: 'Learn more about using pipelines in Search', } )} @@ -218,7 +218,7 @@ export const SearchIndexPipelines: React.FC = () => { 'xpack.enterpriseSearch.content.indices.pipelines.mlInferencePipelines.subtitleAPIindex', { defaultMessage: - "Inference pipelines will be run as processors from the Enterprise Search Ingest Pipeline. In order to use these pipelines on API-based indices you'll need to reference the {pipelineName} pipeline in your API requests.", + "Inference pipelines will be run as processors from the Search Ingest Pipeline. In order to use these pipelines on API-based indices you'll need to reference the {pipelineName} pipeline in your API requests.", values: { pipelineName, }, @@ -228,7 +228,7 @@ export const SearchIndexPipelines: React.FC = () => { 'xpack.enterpriseSearch.content.indices.pipelines.mlInferencePipelines.subtitle', { defaultMessage: - 'Inference pipelines will be run as processors from the Enterprise Search Ingest Pipeline', + 'Inference pipelines will be run as processors from the Search Ingest Pipeline', } ) } diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipelines_json_configurations.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipelines_json_configurations.tsx index eade81733a9eb..61ecd35d0b6b4 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipelines_json_configurations.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/pipelines/pipelines_json_configurations.tsx @@ -62,7 +62,7 @@ export const PipelinesJSONConfigurations: React.FC = () => { {i18n.translate( 'xpack.enterpriseSearch.content.indices.pipelines.tabs.jsonConfigurations.ingestionPipelines.docLink', { - defaultMessage: 'Learn more about how Enterprise Search uses ingest pipelines', + defaultMessage: 'Learn more about how Search uses ingest pipelines', } )} diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx index d7d67ab459df2..b5db0c4f08559 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_indices/search_indices.tsx @@ -87,7 +87,7 @@ export const SearchIndices: React.FC = () => { ? '' : hasNoIndices ? i18n.translate('xpack.enterpriseSearch.content.searchIndices.searchIndices.emptyPageTitle', { - defaultMessage: 'Welcome to Enterprise Search', + defaultMessage: 'Welcome to Search', }) : i18n.translate('xpack.enterpriseSearch.content.searchIndices.searchIndices.pageTitle', { defaultMessage: 'Elasticsearch indices', @@ -131,14 +131,14 @@ export const SearchIndices: React.FC = () => {

{ {i18n.translate( 'xpack.enterpriseSearch.content.searchIndices.searchIndices.stepsTitle', { - defaultMessage: 'Build beautiful search experiences with Enterprise Search', + defaultMessage: 'Build beautiful search experiences with Search', } )} diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/settings/settings.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/settings/settings.tsx index 840010d3aa219..83d5143968780 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/settings/settings.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/settings/settings.tsx @@ -41,7 +41,7 @@ export const Settings: React.FC = () => { description: ( diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/add_content_empty_prompt/add_content_empty_prompt.test.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/add_content_empty_prompt/add_content_empty_prompt.test.tsx index 667a643c13cd4..8c7dd91b8c811 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/add_content_empty_prompt/add_content_empty_prompt.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/add_content_empty_prompt/add_content_empty_prompt.test.tsx @@ -21,7 +21,7 @@ describe('AddContentEmptyPrompt', () => { }); it('renders', () => { - expect(wrapper.find('h2').text()).toEqual('Add content to Enterprise Search'); + expect(wrapper.find('h2').text()).toEqual('Add content to Search'); expect(wrapper.find(EuiLinkTo).prop('to')).toEqual( '/app/enterprise_search/content/search_indices/new_index' ); diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/add_content_empty_prompt/add_content_empty_prompt.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/add_content_empty_prompt/add_content_empty_prompt.tsx index f2eeb2a29adf6..085e4c43e05c8 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/add_content_empty_prompt/add_content_empty_prompt.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/add_content_empty_prompt/add_content_empty_prompt.tsx @@ -51,7 +51,7 @@ export const AddContentEmptyPrompt: React.FC = ({ title, butto

{title || i18n.translate('xpack.enterpriseSearch.overview.emptyState.heading', { - defaultMessage: 'Add content to Enterprise Search', + defaultMessage: 'Add content to Search', })}

@@ -81,7 +81,7 @@ export const AddContentEmptyPrompt: React.FC = ({ title, butto {buttonLabel || i18n.translate('xpack.enterpriseSearch.overview.emptyState.buttonTitle', { - defaultMessage: 'Add content to Enterprise Search', + defaultMessage: 'Add content to Search', })} diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/get_cloud_enterprise_search_host/get_cloud_enterprise_search_host.test.ts b/x-pack/plugins/enterprise_search/public/applications/shared/get_cloud_enterprise_search_host/get_cloud_enterprise_search_host.test.ts index a784bf910ee63..06d07f12668ee 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/get_cloud_enterprise_search_host/get_cloud_enterprise_search_host.test.ts +++ b/x-pack/plugins/enterprise_search/public/applications/shared/get_cloud_enterprise_search_host/get_cloud_enterprise_search_host.test.ts @@ -15,6 +15,10 @@ const defaultPortCloud = { cloudHost: 'us-central1.gcp.cloud.es.io', cloudDefaultPort: '443', registerCloudService: jest.fn(), + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }; // 9243 const customPortCloud = { @@ -25,17 +29,29 @@ const customPortCloud = { cloudHost: 'us-central1.gcp.cloud.es.io', cloudDefaultPort: '9243', registerCloudService: jest.fn(), + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }; const missingDeploymentIdCloud = { cloudId: 'dXMtY2VudHJhbDEuZ2NwLmNsb3VkLmVzLmlvOjkyNDMkYWMzMWViYjkwMjQxNzczMTU3MDQzYzM0ZmQyNmZkNDYkYTRjMDYyMzBlNDhjOGZjZTdiZTg4YTA3NGEzYmIzZTA=', isCloudEnabled: true, registerCloudService: jest.fn(), + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }; const noCloud = { cloudId: undefined, isCloudEnabled: false, registerCloudService: jest.fn(), + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }; describe('getCloudEnterpriseSearchHost', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/getting_started_steps/getting_started_steps.test.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/getting_started_steps/getting_started_steps.test.tsx index f6d15b3157cad..6a3fec72da346 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/getting_started_steps/getting_started_steps.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/getting_started_steps/getting_started_steps.test.tsx @@ -44,7 +44,7 @@ describe('GettingStartedSteps', () => { ...rest, })); - expect(steps[0].title).toEqual('Add your documents to Enterprise Search'); + expect(steps[0].title).toEqual('Add your documents to Search'); expect(steps[0].status).toEqual('current'); expect(steps[0].children.find(IconRow).length).toEqual(1); diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/getting_started_steps/getting_started_steps.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/getting_started_steps/getting_started_steps.tsx index 0cd7f130a9d83..d8b49cc48fca3 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/getting_started_steps/getting_started_steps.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/getting_started_steps/getting_started_steps.tsx @@ -29,7 +29,7 @@ export const GettingStartedSteps: React.FC = ({ step = { title: i18n.translate( 'xpack.enterpriseSearch.overview.gettingStartedSteps.addData.title', - { defaultMessage: 'Add your documents to Enterprise Search' } + { defaultMessage: 'Add your documents to Search' } ), children: ( <> @@ -39,7 +39,7 @@ export const GettingStartedSteps: React.FC = ({ step = 'xpack.enterpriseSearch.overview.gettingStartedSteps.addData.message', { defaultMessage: - 'Add your data to Enterprise Search. You can crawl website content with the Elastic web crawler, connect your existing application with Elasticsearch API endpoints, or use connectors to directly add third party content from providers like Google Drive, Microsoft Sharepoint and more.', + 'Add your data to Search. You can crawl website content with the Elastic web crawler, connect your existing application with Elasticsearch API endpoints, or use connectors to directly add third party content from providers like Google Drive, Microsoft Sharepoint and more.', } )}

diff --git a/x-pack/plugins/enterprise_search/server/lib/indices/delete_access_control_index.test.ts b/x-pack/plugins/enterprise_search/server/lib/indices/delete_access_control_index.test.ts new file mode 100644 index 0000000000000..0439c12c203db --- /dev/null +++ b/x-pack/plugins/enterprise_search/server/lib/indices/delete_access_control_index.test.ts @@ -0,0 +1,91 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { IScopedClusterClient } from '@kbn/core/server'; + +import { ElasticsearchResponseError } from '../../utils/identify_exceptions'; + +import { deleteAccessControlIndex } from './delete_access_control_index'; + +describe('deleteAccessControlIndex lib function', () => { + const mockClient = { + asCurrentUser: { + indices: { + delete: jest.fn(), + }, + }, + asInternalUser: {}, + }; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + describe('when ACL index exists', () => { + it('should delete index', async () => { + mockClient.asCurrentUser.indices.delete.mockImplementation(() => true); + await expect( + deleteAccessControlIndex(mockClient as unknown as IScopedClusterClient, 'indexName') + ).resolves.toEqual(true); + expect(mockClient.asCurrentUser.indices.delete).toHaveBeenCalledWith({ + index: 'indexName', + }); + }); + }); + + describe('when ACL index is missing', () => { + const mockErrorRejection: ElasticsearchResponseError = { + meta: { + body: { + error: { + type: 'index_not_found_exception', + }, + }, + statusCode: 404, + }, + name: 'ResponseError', + }; + + it('exits gracefully', async () => { + mockClient.asCurrentUser.indices.delete.mockImplementation(() => { + return Promise.reject(mockErrorRejection); + }); + await expect( + deleteAccessControlIndex(mockClient as unknown as IScopedClusterClient, 'indexName') + ).resolves.not.toThrowError(); + expect(mockClient.asCurrentUser.indices.delete).toHaveBeenCalledWith({ + index: 'indexName', + }); + }); + }); + + describe('when index exists but another error is thrown', () => { + const mockErrorRejection: ElasticsearchResponseError = { + meta: { + body: { + error: { + type: 'uncaught_exception', + }, + }, + statusCode: 500, + }, + name: 'ResponseError', + }; + + it('throws the error', async () => { + mockClient.asCurrentUser.indices.delete.mockImplementation(() => { + return Promise.reject(mockErrorRejection); + }); + await expect( + deleteAccessControlIndex(mockClient as unknown as IScopedClusterClient, 'indexName') + ).rejects.toEqual(mockErrorRejection); + expect(mockClient.asCurrentUser.indices.delete).toHaveBeenCalledWith({ + index: 'indexName', + }); + }); + }); +}); diff --git a/x-pack/plugins/enterprise_search/server/lib/indices/delete_access_control_index.ts b/x-pack/plugins/enterprise_search/server/lib/indices/delete_access_control_index.ts index 3d185c9fde6f7..8e4cba7351f69 100644 --- a/x-pack/plugins/enterprise_search/server/lib/indices/delete_access_control_index.ts +++ b/x-pack/plugins/enterprise_search/server/lib/indices/delete_access_control_index.ts @@ -5,14 +5,14 @@ * 2.0. */ -import { isIndexNotFoundException } from '@kbn/core-saved-objects-migration-server-internal'; import { IScopedClusterClient } from '@kbn/core/server'; import { CONNECTORS_ACCESS_CONTROL_INDEX_PREFIX } from '../../../common/constants'; +import { isIndexNotFoundException } from '../../utils/identify_exceptions'; export const deleteAccessControlIndex = async (client: IScopedClusterClient, index: string) => { try { - await client.asCurrentUser.indices.delete({ + return await client.asCurrentUser.indices.delete({ index: index.replace('search-', CONNECTORS_ACCESS_CONTROL_INDEX_PREFIX), }); } catch (e) { diff --git a/x-pack/plugins/enterprise_search/server/utils/search_result_provider.test.ts b/x-pack/plugins/enterprise_search/server/utils/search_result_provider.test.ts index d5ecee88f80cf..f955c96422f4b 100644 --- a/x-pack/plugins/enterprise_search/server/utils/search_result_provider.test.ts +++ b/x-pack/plugins/enterprise_search/server/utils/search_result_provider.test.ts @@ -28,7 +28,7 @@ describe('Enterprise Search search provider', () => { id: 'elastic-crawler', score: 75, title: 'Elastic Web Crawler', - type: 'Enterprise Search', + type: 'Search', url: { path: `${ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL}/search_indices/new_index/crawler`, prependBasePath: true, @@ -40,7 +40,7 @@ describe('Enterprise Search search provider', () => { id: 'mongodb', score: 75, title: 'MongoDB', - type: 'Enterprise Search', + type: 'Search', url: { path: `${ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL}/search_indices/new_index/connector?service_type=mongodb`, prependBasePath: true, diff --git a/x-pack/plugins/enterprise_search/server/utils/search_result_provider.ts b/x-pack/plugins/enterprise_search/server/utils/search_result_provider.ts index 29f791dfd5ca1..10168eb095801 100644 --- a/x-pack/plugins/enterprise_search/server/utils/search_result_provider.ts +++ b/x-pack/plugins/enterprise_search/server/utils/search_result_provider.ts @@ -9,26 +9,44 @@ import { from, takeUntil } from 'rxjs'; import { IBasePath } from '@kbn/core-http-server'; import { GlobalSearchResultProvider } from '@kbn/global-search-plugin/server'; +import { i18n } from '@kbn/i18n'; import { ConfigType } from '..'; -import { CONNECTOR_DEFINITIONS } from '../../common/connectors/connectors'; +import { + CONNECTOR_DEFINITIONS, + ConnectorServerSideDefinition, +} from '../../common/connectors/connectors'; import { ENTERPRISE_SEARCH_CONNECTOR_CRAWLER_SERVICE_TYPE, ENTERPRISE_SEARCH_CONTENT_PLUGIN, + APP_SEARCH_PLUGIN, + WORKPLACE_SEARCH_PLUGIN, } from '../../common/constants'; +type ServiceDefinition = + | ConnectorServerSideDefinition + | { + iconPath?: string; + keywords: string[]; + name: string; + serviceType: string; + url?: string; + }; + export function toSearchResult({ basePath, iconPath, name, score, serviceType, + url, }: { basePath: IBasePath; - iconPath: string; + iconPath?: string; name: string; score: number; serviceType: string; + url?: string; }) { return { icon: iconPath @@ -37,13 +55,17 @@ export function toSearchResult({ id: serviceType, score, title: name, - type: 'Enterprise Search', + type: i18n.translate('xpack.enterpriseSearch.searchProvider.type.name', { + defaultMessage: 'Search', + }), url: { - path: `${ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL}/search_indices/new_index/${ - serviceType === ENTERPRISE_SEARCH_CONNECTOR_CRAWLER_SERVICE_TYPE - ? 'crawler' - : `connector?service_type=${serviceType}` - }`, + path: + url ?? + `${ENTERPRISE_SEARCH_CONTENT_PLUGIN.URL}/search_indices/new_index/${ + serviceType === ENTERPRISE_SEARCH_CONNECTOR_CRAWLER_SERVICE_TYPE + ? 'crawler' + : `connector?service_type=${serviceType}` + }`, prependBasePath: true, }, }; @@ -61,20 +83,43 @@ export function getSearchResultProvider( ) { return from([[]]); } - const result = [ + const services: ServiceDefinition[] = [ ...(config.hasWebCrawler ? [ { iconPath: 'crawler.svg', keywords: ['crawler', 'web', 'website', 'internet', 'google'], - name: 'Elastic Web Crawler', + name: i18n.translate('xpack.enterpriseSearch.searchProvider.webCrawler.name', { + defaultMessage: 'Elastic Web Crawler', + }), serviceType: ENTERPRISE_SEARCH_CONNECTOR_CRAWLER_SERVICE_TYPE, }, ] : []), ...(config.hasConnectors ? CONNECTOR_DEFINITIONS : []), - ] - .map(({ iconPath, keywords, name, serviceType }) => { + ...[ + { + keywords: ['app', 'search', 'engines'], + name: i18n.translate('xpack.enterpriseSearch.searchProvider.appSearch.name', { + defaultMessage: 'App Search', + }), + serviceType: 'app_search', + url: APP_SEARCH_PLUGIN.URL, + }, + { + keywords: ['workplace', 'search'], + name: i18n.translate('xpack.enterpriseSearch.searchProvider.workplaceSearch.name', { + defaultMessage: 'Workplace Search', + }), + serviceType: 'workplace_search', + url: WORKPLACE_SEARCH_PLUGIN.URL, + }, + ], + ]; + const result = services + .map((service) => { + const { iconPath, keywords, name, serviceType } = service; + const url = 'url' in service ? service.url : undefined; let score = 0; const searchTerm = (term || '').toLowerCase(); const searchName = name.toLowerCase(); @@ -91,7 +136,7 @@ export function getSearchResultProvider( } else if (keywords.some((keyword) => keyword.includes(searchTerm))) { score = 50; } - return toSearchResult({ basePath, iconPath, name, score, serviceType }); + return toSearchResult({ basePath, iconPath, name, score, serviceType, url }); }) .filter(({ score }) => score > 0) .slice(0, maxResults); diff --git a/x-pack/plugins/fleet/.storybook/context/cloud.ts b/x-pack/plugins/fleet/.storybook/context/cloud.ts index 1bd63d673bb3e..fbb0b3f85ac5e 100644 --- a/x-pack/plugins/fleet/.storybook/context/cloud.ts +++ b/x-pack/plugins/fleet/.storybook/context/cloud.ts @@ -18,6 +18,10 @@ export const getCloud = ({ isCloudEnabled }: { isCloudEnabled: boolean }) => { profileUrl: 'https://profile.url', snapshotsUrl: 'https://snapshots.url', registerCloudService: () => {}, + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }; return cloud; diff --git a/x-pack/plugins/fleet/cypress/tasks/ui_settings.ts b/x-pack/plugins/fleet/cypress/tasks/ui_settings.ts index 4ba239e107f1b..fceffad66c41e 100644 --- a/x-pack/plugins/fleet/cypress/tasks/ui_settings.ts +++ b/x-pack/plugins/fleet/cypress/tasks/ui_settings.ts @@ -9,7 +9,7 @@ export function setUISettings(settingsKey: string, settingsValue: any) { cy.request({ method: 'POST', - url: '/api/kibana/settings', + url: '/internal/kibana/settings', headers: { 'kbn-xsrf': 'xx' }, body: { changes: { diff --git a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.test.tsx b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.test.tsx index 93a33672333e6..158fc09725405 100644 --- a/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.test.tsx +++ b/x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/detail/index.test.tsx @@ -95,8 +95,7 @@ describe('when on integration detail', () => { }); } - // FLAKY: https://github.com/elastic/kibana/issues/150607 - describe.skip('and the package is not installed and prerelease enabled', () => { + describe('and the package is not installed and prerelease enabled', () => { beforeEach(async () => { mockGAAndPrereleaseVersions('1.0.0-beta'); await render(); diff --git a/x-pack/plugins/fleet/server/services/agents/action_status.ts b/x-pack/plugins/fleet/server/services/agents/action_status.ts index 58a144ad1b4c3..2872a1671a8f3 100644 --- a/x-pack/plugins/fleet/server/services/agents/action_status.ts +++ b/x-pack/plugins/fleet/server/services/agents/action_status.ts @@ -24,8 +24,6 @@ import { } from '../../../common'; import { appContextService } from '..'; -const PRECISION_THRESHOLD = 40000; - /** * Return current bulk actions */ @@ -53,12 +51,6 @@ export async function getActionStatuses( terms: { field: 'action_id', size: actions.length || 10 }, aggs: { max_timestamp: { max: { field: '@timestamp' } }, - agent_count: { - cardinality: { - field: 'agent_id', - precision_threshold: PRECISION_THRESHOLD, // max value - }, - }, }, }, }, @@ -79,17 +71,8 @@ export async function getActionStatuses( (bucket: any) => bucket.key === action.actionId ); const nbAgentsActioned = action.nbAgentsActioned || action.nbAgentsActionCreated; - const cardinalityCount = (matchingBucket?.agent_count as any)?.value ?? 0; const docCount = matchingBucket?.doc_count ?? 0; - const nbAgentsAck = - action.type === 'UPDATE_TAGS' - ? Math.min(docCount, nbAgentsActioned) - : Math.min( - docCount, - // only using cardinality count when count lower than precision threshold - docCount > PRECISION_THRESHOLD ? docCount : cardinalityCount, - nbAgentsActioned - ); + const nbAgentsAck = Math.min(docCount, nbAgentsActioned); const completionTime = (matchingBucket?.max_timestamp as any)?.value_as_string; const complete = nbAgentsAck >= nbAgentsActioned; const cancelledAction = cancelledActions.find((a) => a.actionId === action.actionId); diff --git a/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts b/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts index 4dbceb772cc20..e0f307156dac1 100644 --- a/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts +++ b/x-pack/plugins/fleet/server/services/epm/kibana/assets/install.ts @@ -45,7 +45,12 @@ type SavedObjectToBe = Required & { type: KibanaSavedObjectType; }; @@ -81,13 +86,24 @@ export async function getKibanaAsset(key: string): Promise { export function createSavedObjectKibanaAsset(asset: ArchiveAsset): SavedObjectToBe { // convert that to an object - return { + const so: Partial = { type: asset.type, id: asset.id, attributes: asset.attributes, references: asset.references || [], - migrationVersion: asset.migrationVersion || {}, }; + + if (asset.migrationVersion) { + so.migrationVersion = asset.migrationVersion; + } else { + if (asset.coreMigrationVersion) { + so.coreMigrationVersion = asset.coreMigrationVersion; + } + if (asset.typeMigrationVersion) { + so.typeMigrationVersion = asset.typeMigrationVersion; + } + } + return so as SavedObjectToBe; } export async function installKibanaAssets(options: { diff --git a/x-pack/plugins/fleet/server/services/preconfiguration/fleet_server_host.test.ts b/x-pack/plugins/fleet/server/services/preconfiguration/fleet_server_host.test.ts index f7a1d2b8611ac..0990dd675a970 100644 --- a/x-pack/plugins/fleet/server/services/preconfiguration/fleet_server_host.test.ts +++ b/x-pack/plugins/fleet/server/services/preconfiguration/fleet_server_host.test.ts @@ -120,6 +120,10 @@ describe('getCloudFleetServersHosts', () => { deploymentId: 'deployment-id-1', cloudHost: 'us-east-1.aws.found.io', apm: {}, + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }); expect(getCloudFleetServersHosts()).toMatchInlineSnapshot(` @@ -138,6 +142,10 @@ describe('getCloudFleetServersHosts', () => { cloudHost: 'test.fr', cloudDefaultPort: '9243', apm: {}, + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }); expect(getCloudFleetServersHosts()).toMatchInlineSnapshot(` @@ -171,6 +179,10 @@ describe('createCloudFleetServerHostIfNeeded', () => { isCloudEnabled: true, deploymentId: 'deployment-id-1', apm: {}, + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }); mockedGetDefaultFleetServerHost.mockResolvedValue({ id: 'test', @@ -190,6 +202,10 @@ describe('createCloudFleetServerHostIfNeeded', () => { deploymentId: 'deployment-id-1', cloudHost: 'us-east-1.aws.found.io', apm: {}, + isServerlessEnabled: false, + serverless: { + projectId: undefined, + }, }); mockedGetDefaultFleetServerHost.mockResolvedValue(null); soClient.create.mockResolvedValue({ diff --git a/x-pack/plugins/global_search_bar/public/lib/result_to_option.tsx b/x-pack/plugins/global_search_bar/public/lib/result_to_option.tsx index 871f2ace398a2..88fa86edbd395 100644 --- a/x-pack/plugins/global_search_bar/public/lib/result_to_option.tsx +++ b/x-pack/plugins/global_search_bar/public/lib/result_to_option.tsx @@ -22,7 +22,10 @@ export const resultToOption = ( const { tagIds = [], categoryLabel = '' } = meta as { tagIds: string[]; categoryLabel: string }; // only displaying icons for applications and integrations const useIcon = - type === 'application' || type === 'integration' || type.toLowerCase() === 'enterprise search'; + type === 'application' || + type === 'integration' || + type.toLowerCase() === 'enterprise search' || + type.toLowerCase() === 'search'; const option: EuiSelectableTemplateSitewideOption = { key: id, label: title, diff --git a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/common.ts b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/common.ts index 22b3f834cd8c0..8e8d1e755c8dd 100644 --- a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/common.ts +++ b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/common.ts @@ -4,9 +4,9 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ -import { nonEmptyStringRt } from '@kbn/io-ts-utils'; import * as rt from 'io-ts'; import { either } from 'fp-ts/Either'; +import { metricsExplorerViewRT } from '../../../metrics_explorer_views'; export const METRICS_EXPLORER_VIEW_URL = '/api/infra/metrics_explorer_views'; export const METRICS_EXPLORER_VIEW_URL_ENTITY = `${METRICS_EXPLORER_VIEW_URL}/{metricsExplorerViewId}`; @@ -35,28 +35,6 @@ export const metricsExplorerViewRequestQueryRT = rt.partial({ export type MetricsExplorerViewRequestQuery = rt.TypeOf; -const metricsExplorerViewAttributesResponseRT = rt.intersection([ - rt.strict({ - name: nonEmptyStringRt, - isDefault: rt.boolean, - isStatic: rt.boolean, - }), - rt.UnknownRecord, -]); - -const metricsExplorerViewResponseRT = rt.exact( - rt.intersection([ - rt.type({ - id: rt.string, - attributes: metricsExplorerViewAttributesResponseRT, - }), - rt.partial({ - updatedAt: rt.number, - version: rt.string, - }), - ]) -); - export const metricsExplorerViewResponsePayloadRT = rt.type({ - data: metricsExplorerViewResponseRT, + data: metricsExplorerViewRT, }); diff --git a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/create_metrics_explorer_view.ts b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/create_metrics_explorer_view.ts index 64582a8d682dc..1947f013bc389 100644 --- a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/create_metrics_explorer_view.ts +++ b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/create_metrics_explorer_view.ts @@ -5,15 +5,15 @@ * 2.0. */ -import { nonEmptyStringRt } from '@kbn/io-ts-utils'; import * as rt from 'io-ts'; +import { + metricsExplorerViewAttributesRT, + metricsExplorerViewRT, +} from '../../../metrics_explorer_views'; export const createMetricsExplorerViewAttributesRequestPayloadRT = rt.intersection([ - rt.type({ - name: nonEmptyStringRt, - }), - rt.UnknownRecord, - rt.exact(rt.partial({ isDefault: rt.undefined, isStatic: rt.undefined })), + metricsExplorerViewAttributesRT, + rt.partial({ isDefault: rt.undefined, isStatic: rt.undefined }), ]); export type CreateMetricsExplorerViewAttributesRequestPayload = rt.TypeOf< @@ -23,3 +23,5 @@ export type CreateMetricsExplorerViewAttributesRequestPayload = rt.TypeOf< export const createMetricsExplorerViewRequestPayloadRT = rt.type({ attributes: createMetricsExplorerViewAttributesRequestPayloadRT, }); + +export type CreateMetricsExplorerViewResponsePayload = rt.TypeOf; diff --git a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/find_metrics_explorer_view.ts b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/find_metrics_explorer_view.ts index 4419b3d34e4bc..0c5e28e9524a8 100644 --- a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/find_metrics_explorer_view.ts +++ b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/find_metrics_explorer_view.ts @@ -5,28 +5,13 @@ * 2.0. */ -import { nonEmptyStringRt } from '@kbn/io-ts-utils'; import * as rt from 'io-ts'; - -export const findMetricsExplorerViewAttributesResponseRT = rt.strict({ - name: nonEmptyStringRt, - isDefault: rt.boolean, - isStatic: rt.boolean, -}); - -const findMetricsExplorerViewResponseRT = rt.exact( - rt.intersection([ - rt.type({ - id: rt.string, - attributes: findMetricsExplorerViewAttributesResponseRT, - }), - rt.partial({ - updatedAt: rt.number, - version: rt.string, - }), - ]) -); +import { singleMetricsExplorerViewRT } from '../../../metrics_explorer_views'; export const findMetricsExplorerViewResponsePayloadRT = rt.type({ - data: rt.array(findMetricsExplorerViewResponseRT), + data: rt.array(singleMetricsExplorerViewRT), }); + +export type FindMetricsExplorerViewResponsePayload = rt.TypeOf< + typeof findMetricsExplorerViewResponsePayloadRT +>; diff --git a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/get_metrics_explorer_view.ts b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/get_metrics_explorer_view.ts index aa4f37b864fea..b7ef763a72916 100644 --- a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/get_metrics_explorer_view.ts +++ b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/get_metrics_explorer_view.ts @@ -6,7 +6,10 @@ */ import * as rt from 'io-ts'; +import { metricsExplorerViewRT } from '../../../metrics_explorer_views'; export const getMetricsExplorerViewRequestParamsRT = rt.type({ metricsExplorerViewId: rt.string, }); + +export type GetMetricsExplorerViewResponsePayload = rt.TypeOf; diff --git a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/update_metrics_explorer_view.ts b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/update_metrics_explorer_view.ts index e0df717662342..19c9760c00c84 100644 --- a/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/update_metrics_explorer_view.ts +++ b/x-pack/plugins/infra/common/http_api/metrics_explorer_views/v1/update_metrics_explorer_view.ts @@ -5,15 +5,15 @@ * 2.0. */ -import { nonEmptyStringRt } from '@kbn/io-ts-utils'; import * as rt from 'io-ts'; +import { + metricsExplorerViewAttributesRT, + metricsExplorerViewRT, +} from '../../../metrics_explorer_views'; export const updateMetricsExplorerViewAttributesRequestPayloadRT = rt.intersection([ - rt.type({ - name: nonEmptyStringRt, - }), - rt.UnknownRecord, - rt.exact(rt.partial({ isDefault: rt.undefined, isStatic: rt.undefined })), + metricsExplorerViewAttributesRT, + rt.partial({ isDefault: rt.undefined, isStatic: rt.undefined }), ]); export type UpdateMetricsExplorerViewAttributesRequestPayload = rt.TypeOf< @@ -23,3 +23,5 @@ export type UpdateMetricsExplorerViewAttributesRequestPayload = rt.TypeOf< export const updateMetricsExplorerViewRequestPayloadRT = rt.type({ attributes: updateMetricsExplorerViewAttributesRequestPayloadRT, }); + +export type UpdateMetricsExplorerViewResponsePayload = rt.TypeOf; diff --git a/x-pack/plugins/infra/common/metrics_explorer_views/defaults.ts b/x-pack/plugins/infra/common/metrics_explorer_views/defaults.ts index 8c7e6ffff192f..1eb1a46245ae5 100644 --- a/x-pack/plugins/infra/common/metrics_explorer_views/defaults.ts +++ b/x-pack/plugins/infra/common/metrics_explorer_views/defaults.ts @@ -7,7 +7,12 @@ import { i18n } from '@kbn/i18n'; import type { NonEmptyString } from '@kbn/io-ts-utils'; -import type { MetricsExplorerViewAttributes } from './types'; +import { Color } from '../color_palette'; +import { + MetricsExplorerChartType, + MetricsExplorerViewAttributes, + MetricsExplorerYAxisMode, +} from './types'; export const staticMetricsExplorerViewId = '0'; @@ -23,24 +28,24 @@ export const staticMetricsExplorerViewAttributes: MetricsExplorerViewAttributes { aggregation: 'avg', field: 'system.cpu.total.norm.pct', - color: 'color0', + color: Color.color0, }, { aggregation: 'avg', field: 'kubernetes.pod.cpu.usage.node.pct', - color: 'color1', + color: Color.color1, }, { aggregation: 'avg', field: 'docker.cpu.total.pct', - color: 'color2', + color: Color.color2, }, ], source: 'default', }, chartOptions: { - type: 'line', - yAxisMode: 'fromZero', + type: MetricsExplorerChartType.line, + yAxisMode: MetricsExplorerYAxisMode.fromZero, stack: false, }, currentTimerange: { diff --git a/x-pack/plugins/infra/common/metrics_explorer_views/types.ts b/x-pack/plugins/infra/common/metrics_explorer_views/types.ts index 0d0c2fa3166e0..46e18753c8a6f 100644 --- a/x-pack/plugins/infra/common/metrics_explorer_views/types.ts +++ b/x-pack/plugins/infra/common/metrics_explorer_views/types.ts @@ -5,19 +5,101 @@ * 2.0. */ -import { nonEmptyStringRt } from '@kbn/io-ts-utils'; +import { isoToEpochRt, nonEmptyStringRt } from '@kbn/io-ts-utils'; import * as rt from 'io-ts'; +import { Color } from '../color_palette'; +import { + metricsExplorerAggregationRT, + metricsExplorerMetricRT, +} from '../http_api/metrics_explorer'; -export const metricsExplorerViewAttributesRT = rt.intersection([ - rt.type({ - name: nonEmptyStringRt, - isDefault: rt.boolean, - isStatic: rt.boolean, +export const inventorySortOptionRT = rt.type({ + by: rt.keyof({ name: null, value: null }), + direction: rt.keyof({ asc: null, desc: null }), +}); + +export enum MetricsExplorerChartType { + line = 'line', + area = 'area', + bar = 'bar', +} + +export enum MetricsExplorerYAxisMode { + fromZero = 'fromZero', + auto = 'auto', +} + +export const metricsExplorerChartOptionsRT = rt.type({ + yAxisMode: rt.keyof( + Object.fromEntries(Object.values(MetricsExplorerYAxisMode).map((v) => [v, null])) as Record< + MetricsExplorerYAxisMode, + null + > + ), + type: rt.keyof( + Object.fromEntries(Object.values(MetricsExplorerChartType).map((v) => [v, null])) as Record< + MetricsExplorerChartType, + null + > + ), + stack: rt.boolean, +}); + +export const metricsExplorerTimeOptionsRT = rt.type({ + from: rt.string, + to: rt.string, + interval: rt.string, +}); +const metricsExplorerOptionsMetricRT = rt.intersection([ + metricsExplorerMetricRT, + rt.partial({ + rate: rt.boolean, + color: rt.keyof( + Object.fromEntries(Object.values(Color).map((c) => [c, null])) as Record + ), + label: rt.string, }), - rt.UnknownRecord, ]); -export type MetricsExplorerViewAttributes = rt.TypeOf; +export const metricExplorerOptionsRequiredRT = rt.type({ + aggregation: metricsExplorerAggregationRT, + metrics: rt.array(metricsExplorerOptionsMetricRT), +}); + +export const metricExplorerOptionsOptionalRT = rt.partial({ + limit: rt.number, + groupBy: rt.union([rt.string, rt.array(rt.string)]), + filterQuery: rt.string, + source: rt.string, + forceInterval: rt.boolean, + dropLastBucket: rt.boolean, +}); +export const metricsExplorerOptionsRT = rt.intersection([ + metricExplorerOptionsRequiredRT, + metricExplorerOptionsOptionalRT, +]); + +export const metricExplorerViewStateRT = rt.type({ + chartOptions: metricsExplorerChartOptionsRT, + currentTimerange: metricsExplorerTimeOptionsRT, + options: metricsExplorerOptionsRT, +}); + +export const metricsExplorerViewBasicAttributesRT = rt.type({ + name: nonEmptyStringRt, +}); + +const metricsExplorerViewFlagsRT = rt.partial({ isDefault: rt.boolean, isStatic: rt.boolean }); + +export const metricsExplorerViewAttributesRT = rt.intersection([ + metricExplorerViewStateRT, + metricsExplorerViewBasicAttributesRT, + metricsExplorerViewFlagsRT, +]); + +const singleMetricsExplorerViewAttributesRT = rt.exact( + rt.intersection([metricsExplorerViewBasicAttributesRT, metricsExplorerViewFlagsRT]) +); export const metricsExplorerViewRT = rt.exact( rt.intersection([ @@ -26,10 +108,29 @@ export const metricsExplorerViewRT = rt.exact( attributes: metricsExplorerViewAttributesRT, }), rt.partial({ - updatedAt: rt.number, + updatedAt: isoToEpochRt, version: rt.string, }), ]) ); +export const singleMetricsExplorerViewRT = rt.exact( + rt.intersection([ + rt.type({ + id: rt.string, + attributes: singleMetricsExplorerViewAttributesRT, + }), + rt.partial({ + updatedAt: isoToEpochRt, + version: rt.string, + }), + ]) +); + +export type MetricsExplorerChartOptions = rt.TypeOf; +export type MetricsExplorerOptions = rt.TypeOf; +export type MetricsExplorerOptionsMetric = rt.TypeOf; +export type MetricsExplorerViewState = rt.TypeOf; +export type MetricsExplorerTimeOptions = rt.TypeOf; +export type MetricsExplorerViewAttributes = rt.TypeOf; export type MetricsExplorerView = rt.TypeOf; diff --git a/x-pack/plugins/infra/public/alerting/metric_threshold/hooks/use_metrics_explorer_chart_data.ts b/x-pack/plugins/infra/public/alerting/metric_threshold/hooks/use_metrics_explorer_chart_data.ts index 1696ed4b52ec4..532e694896f18 100644 --- a/x-pack/plugins/infra/public/alerting/metric_threshold/hooks/use_metrics_explorer_chart_data.ts +++ b/x-pack/plugins/infra/public/alerting/metric_threshold/hooks/use_metrics_explorer_chart_data.ts @@ -13,7 +13,7 @@ import { MetricsSourceConfiguration } from '../../../../common/metrics_sources'; import { MetricExpression, TimeRange } from '../types'; import { MetricsExplorerOptions, - MetricsExplorerTimestampsRT, + MetricsExplorerTimestamp, } from '../../../pages/metrics/metrics_explorer/hooks/use_metrics_explorer_options'; import { useMetricsExplorerData } from '../../../pages/metrics/metrics_explorer/hooks/use_metrics_explorer_data'; import { MetricExplorerCustomMetricAggregations } from '../../../../common/http_api/metrics_explorer'; @@ -59,7 +59,7 @@ export const useMetricsExplorerChartData = ( groupBy, ] ); - const timestamps: MetricsExplorerTimestampsRT = useMemo(() => { + const timestamps: MetricsExplorerTimestamp = useMemo(() => { const from = timeRange.from ?? `now-${(timeSize || 1) * 20}${timeUnit}`; const to = timeRange.to ?? 'now'; const fromTimestamp = DateMath.parse(from)!.valueOf(); diff --git a/x-pack/plugins/infra/public/components/asset_details/links/link_to_apm_services.tsx b/x-pack/plugins/infra/public/components/asset_details/links/link_to_apm_services.tsx index 68004d03f499f..72c3b43dfc324 100644 --- a/x-pack/plugins/infra/public/components/asset_details/links/link_to_apm_services.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/links/link_to_apm_services.tsx @@ -36,14 +36,12 @@ export const LinkToApmServices = ({ nodeName, apmField }: LinkToApmServicesProps diff --git a/x-pack/plugins/infra/public/components/asset_details/links/link_to_node_details.tsx b/x-pack/plugins/infra/public/components/asset_details/links/link_to_node_details.tsx index 94eff7e43695f..686f97ebffa58 100644 --- a/x-pack/plugins/infra/public/components/asset_details/links/link_to_node_details.tsx +++ b/x-pack/plugins/infra/public/components/asset_details/links/link_to_node_details.tsx @@ -35,8 +35,6 @@ export const LinkToNodeDetails = ({ nodeName, nodeType, currentTime }: LinkToNod diff --git a/x-pack/plugins/infra/public/containers/metrics_explorer/with_metrics_explorer_options_url_state.tsx b/x-pack/plugins/infra/public/containers/metrics_explorer/with_metrics_explorer_options_url_state.tsx index 757cf3d100fce..fc963a4afed6f 100644 --- a/x-pack/plugins/infra/public/containers/metrics_explorer/with_metrics_explorer_options_url_state.tsx +++ b/x-pack/plugins/infra/public/containers/metrics_explorer/with_metrics_explorer_options_url_state.tsx @@ -10,11 +10,11 @@ import React, { useMemo } from 'react'; import { ThrowReporter } from 'io-ts/lib/ThrowReporter'; import { UrlStateContainer } from '../../utils/url_state'; import { - MetricsExplorerOptions, + type MetricsExplorerOptions, + type MetricsExplorerTimeOptions, + type MetricsExplorerChartOptions, useMetricsExplorerOptionsContainerContext, - MetricsExplorerTimeOptions, - MetricsExplorerChartOptions, - metricExplorerOptionsRT, + metricsExplorerOptionsRT, metricsExplorerChartOptionsRT, metricsExplorerTimeOptionsRT, } from '../../pages/metrics/metrics_explorer/hooks/use_metrics_explorer_options'; @@ -73,7 +73,7 @@ export const WithMetricsExplorerOptionsUrlState = () => { }; function isMetricExplorerOptions(subject: any): subject is MetricsExplorerOptions { - const result = metricExplorerOptionsRT.decode(subject); + const result = metricsExplorerOptionsRT.decode(subject); try { ThrowReporter.report(result); diff --git a/x-pack/plugins/infra/public/hooks/use_inventory_views.ts b/x-pack/plugins/infra/public/hooks/use_inventory_views.ts index 93873a307d59d..35bb5a154379d 100644 --- a/x-pack/plugins/infra/public/hooks/use_inventory_views.ts +++ b/x-pack/plugins/infra/public/hooks/use_inventory_views.ts @@ -19,7 +19,10 @@ import { UpdateViewParams, } from '../../common/saved_views'; import { MetricsSourceConfigurationResponse } from '../../common/metrics_sources'; -import { CreateInventoryViewAttributesRequestPayload } from '../../common/http_api/latest'; +import { + CreateInventoryViewAttributesRequestPayload, + UpdateInventoryViewAttributesRequestPayload, +} from '../../common/http_api/latest'; import type { InventoryView } from '../../common/inventory_views'; import { useKibanaContextForPlugin } from './use_kibana'; import { useUrlState } from '../utils/use_url_state'; @@ -133,7 +136,7 @@ export const useInventoryViews = (): UseInventoryViewsResult => { const { mutateAsync: updateViewById, isLoading: isUpdatingView } = useMutation< InventoryView, ServerError, - UpdateViewParams + UpdateViewParams >({ mutationFn: ({ id, attributes }) => inventoryViews.client.updateInventoryView(id, attributes), onError: (error) => { diff --git a/x-pack/plugins/infra/public/hooks/use_metrics_explorer_views.ts b/x-pack/plugins/infra/public/hooks/use_metrics_explorer_views.ts index f2c9500f9ea63..dac743a1f2191 100644 --- a/x-pack/plugins/infra/public/hooks/use_metrics_explorer_views.ts +++ b/x-pack/plugins/infra/public/hooks/use_metrics_explorer_views.ts @@ -19,7 +19,10 @@ import { UpdateViewParams, } from '../../common/saved_views'; import { MetricsSourceConfigurationResponse } from '../../common/metrics_sources'; -import { CreateMetricsExplorerViewAttributesRequestPayload } from '../../common/http_api/latest'; +import { + CreateMetricsExplorerViewAttributesRequestPayload, + UpdateMetricsExplorerViewAttributesRequestPayload, +} from '../../common/http_api/latest'; import { MetricsExplorerView } from '../../common/metrics_explorer_views'; import { useKibanaContextForPlugin } from './use_kibana'; import { useUrlState } from '../utils/use_url_state'; @@ -133,7 +136,7 @@ export const useMetricsExplorerViews = (): UseMetricsExplorerViewsResult => { const { mutateAsync: updateViewById, isLoading: isUpdatingView } = useMutation< MetricsExplorerView, ServerError, - UpdateViewParams + UpdateViewParams >({ mutationFn: ({ id, attributes }) => metricsExplorerViews.client.updateMetricsExplorerView(id, attributes), diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/kpis/tile.tsx b/x-pack/plugins/infra/public/pages/metrics/hosts/components/kpis/tile.tsx index e9d031401f7d1..09f3e28517c54 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/kpis/tile.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/kpis/tile.tsx @@ -20,10 +20,7 @@ import { import styled from 'styled-components'; import { Action } from '@kbn/ui-actions-plugin/public'; import { KPIChartProps } from '../../../../../common/visualizations/lens/dashboards/host/kpi_grid_config'; -import { - buildCombinedHostsFilter, - buildExistsHostsFilter, -} from '../../../../../utils/filters/build'; +import { buildCombinedHostsFilter } from '../../../../../utils/filters/build'; import { useLensAttributes } from '../../../../../hooks/use_lens_attributes'; import { useMetricsDataViewContext } from '../../hooks/use_data_view'; import { useUnifiedSearchContext } from '../../hooks/use_unified_search'; @@ -40,6 +37,8 @@ export const Tile = ({ id, title, layers, style, toolTip, ...props }: KPIChartPr const { requestTs, hostNodes, loading: hostsLoading } = useHostsViewContext(); const { data: hostCountData, isRequestRunning: hostCountLoading } = useHostCountContext(); + const shouldUseSearchCriteria = hostNodes.length === 0; + const getSubtitle = () => { return searchCriteria.limit < (hostCountData?.count.value ?? 0) ? i18n.translate('xpack.infra.hostsViewPage.metricTrend.subtitle.average.limit', { @@ -61,35 +60,21 @@ export const Tile = ({ id, title, layers, style, toolTip, ...props }: KPIChartPr }); const filters = useMemo(() => { - return [ - ...searchCriteria.filters, - buildCombinedHostsFilter({ - field: 'host.name', - values: hostNodes.map((p) => p.name), - dataView, - }), - buildExistsHostsFilter({ field: 'host.name', dataView }), - ]; - }, [searchCriteria.filters, hostNodes, dataView]); - - const handleBrushEnd = useCallback( - ({ range }: BrushTriggerEvent['data']) => { - const [min, max] = range; - onSubmit({ - dateRange: { - from: new Date(min).toISOString(), - to: new Date(max).toISOString(), - mode: 'absolute', - }, - }); - }, - [onSubmit] - ); + return shouldUseSearchCriteria + ? searchCriteria.filters + : [ + buildCombinedHostsFilter({ + field: 'host.name', + values: hostNodes.map((p) => p.name), + dataView, + }), + ]; + }, [shouldUseSearchCriteria, searchCriteria.filters, hostNodes, dataView]); const loading = hostsLoading || !attributes || hostCountLoading; // prevents requestTs and serchCriteria states from reloading the chart - // we want it to reload only once the table has finished loading + // we want it to reload only once the host count and table have finished loading const { afterLoadedState } = useAfterLoadedState(loading, { attributes, lastReloadRequestTime: requestTs, @@ -101,10 +86,30 @@ export const Tile = ({ id, title, layers, style, toolTip, ...props }: KPIChartPr () => getExtraActions({ timeRange: afterLoadedState.dateRange, - query: searchCriteria.query, + query: shouldUseSearchCriteria ? afterLoadedState.query : undefined, filters, }), - [afterLoadedState.dateRange, filters, getExtraActions, searchCriteria.query] + [ + afterLoadedState.dateRange, + afterLoadedState.query, + filters, + getExtraActions, + shouldUseSearchCriteria, + ] + ); + + const handleBrushEnd = useCallback( + ({ range }: BrushTriggerEvent['data']) => { + const [min, max] = range; + onSubmit({ + dateRange: { + from: new Date(min).toISOString(), + to: new Date(max).toISOString(), + mode: 'absolute', + }, + }); + }, + [onSubmit] ); return ( @@ -148,7 +153,7 @@ export const Tile = ({ id, title, layers, style, toolTip, ...props }: KPIChartPr lastReloadRequestTime={afterLoadedState.lastReloadRequestTime} dateRange={afterLoadedState.dateRange} filters={afterLoadedState.filters} - query={afterLoadedState.query} + query={shouldUseSearchCriteria ? afterLoadedState.query : undefined} onBrushEnd={handleBrushEnd} loading={loading} /> diff --git a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/metric_chart.tsx b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/metric_chart.tsx index f3666deecc567..9238375494ccc 100644 --- a/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/metric_chart.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/hosts/components/tabs/metrics/metric_chart.tsx @@ -24,10 +24,7 @@ import { useMetricsDataViewContext } from '../../../hooks/use_data_view'; import { useUnifiedSearchContext } from '../../../hooks/use_unified_search'; import { FormulaConfig, XYLayerOptions } from '../../../../../../common/visualizations'; import { useHostsViewContext } from '../../../hooks/use_hosts_view'; -import { - buildCombinedHostsFilter, - buildExistsHostsFilter, -} from '../../../../../../utils/filters/build'; +import { buildCombinedHostsFilter } from '../../../../../../utils/filters/build'; import { useHostsTableContext } from '../../../hooks/use_hosts_table'; import { useAfterLoadedState } from '../../../hooks/use_after_loaded_state'; import { METRIC_CHART_MIN_HEIGHT } from '../../../constants'; @@ -48,6 +45,8 @@ export const MetricChart = ({ id, title, layers, overrides }: MetricChartProps) const { requestTs, loading } = useHostsViewContext(); const { currentPage } = useHostsTableContext(); + const shouldUseSearchCriteria = currentPage.length === 0; + // prevents requestTs and serchCriteria states from reloading the chart // we want it to reload only once the table has finished loading const { afterLoadedState } = useAfterLoadedState(loading, { @@ -63,25 +62,31 @@ export const MetricChart = ({ id, title, layers, overrides }: MetricChartProps) }); const filters = useMemo(() => { - return [ - ...searchCriteria.filters, - buildCombinedHostsFilter({ - field: 'host.name', - values: currentPage.map((p) => p.name), - dataView, - }), - buildExistsHostsFilter({ field: 'host.name', dataView }), - ]; - }, [currentPage, dataView, searchCriteria.filters]); + return shouldUseSearchCriteria + ? afterLoadedState.filters + : [ + buildCombinedHostsFilter({ + field: 'host.name', + values: currentPage.map((p) => p.name), + dataView, + }), + ]; + }, [afterLoadedState.filters, currentPage, dataView, shouldUseSearchCriteria]); const extraActions: Action[] = useMemo( () => getExtraActions({ timeRange: afterLoadedState.dateRange, - query: afterLoadedState.query, + query: shouldUseSearchCriteria ? afterLoadedState.query : undefined, filters, }), - [afterLoadedState.dateRange, afterLoadedState.query, filters, getExtraActions] + [ + afterLoadedState.dateRange, + afterLoadedState.query, + filters, + getExtraActions, + shouldUseSearchCriteria, + ] ); const handleBrushEnd = useCallback( @@ -139,7 +144,7 @@ export const MetricChart = ({ id, title, layers, overrides }: MetricChartProps) lastReloadRequestTime={afterLoadedState.lastReloadRequestTime} dateRange={afterLoadedState.dateRange} filters={filters} - query={afterLoadedState.query} + query={shouldUseSearchCriteria ? afterLoadedState.query : undefined} onBrushEnd={handleBrushEnd} loading={loading} overrides={overrides} diff --git a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/saved_views.tsx b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/saved_views.tsx index ddce0eac506fe..bf1d914463c96 100644 --- a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/saved_views.tsx +++ b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/components/saved_views.tsx @@ -8,10 +8,10 @@ import React from 'react'; import { useMetricsExplorerViews } from '../../../../hooks/use_metrics_explorer_views'; import { SavedViewsToolbarControls } from '../../../../components/saved_views/toolbar_control'; -import { MetricExplorerViewState } from '../hooks/use_metric_explorer_state'; +import { MetricsExplorerViewState } from '../hooks/use_metric_explorer_state'; interface Props { - viewState: MetricExplorerViewState; + viewState: MetricsExplorerViewState; } export const SavedViews = ({ viewState }: Props) => { @@ -31,7 +31,7 @@ export const SavedViews = ({ viewState }: Props) => { } = useMetricsExplorerViews(); return ( - + { options: MetricsExplorerOptions; source: MetricsSourceConfigurationProperties | undefined; derivedIndexPattern: DataViewBase; - timestamps: MetricsExplorerTimestampsRT; + timestamps: MetricsExplorerTimestamp; }) => useMetricsExplorerData( props.options, diff --git a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/hooks/use_metrics_explorer_data.ts b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/hooks/use_metrics_explorer_data.ts index a110ae1939840..2db5427331286 100644 --- a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/hooks/use_metrics_explorer_data.ts +++ b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/hooks/use_metrics_explorer_data.ts @@ -15,17 +15,14 @@ import { metricsExplorerResponseRT, } from '../../../../../common/http_api/metrics_explorer'; import { convertKueryToElasticSearchQuery } from '../../../../utils/kuery'; -import { - MetricsExplorerOptions, - MetricsExplorerTimestampsRT, -} from './use_metrics_explorer_options'; +import { MetricsExplorerOptions, MetricsExplorerTimestamp } from './use_metrics_explorer_options'; import { decodeOrThrow } from '../../../../../common/runtime_types'; export function useMetricsExplorerData( options: MetricsExplorerOptions, source: MetricsSourceConfigurationProperties | undefined, derivedIndexPattern: DataViewBase, - { fromTimestamp, toTimestamp, interval }: MetricsExplorerTimestampsRT, + { fromTimestamp, toTimestamp, interval }: MetricsExplorerTimestamp, enabled = true ) { const { http } = useKibana().services; diff --git a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/hooks/use_metrics_explorer_options.ts b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/hooks/use_metrics_explorer_options.ts index fa0d4189e2949..6eabfb407731c 100644 --- a/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/hooks/use_metrics_explorer_options.ts +++ b/x-pack/plugins/infra/public/pages/metrics/metrics_explorer/hooks/use_metrics_explorer_options.ts @@ -7,91 +7,48 @@ import DateMath from '@kbn/datemath'; import * as t from 'io-ts'; -import { values } from 'lodash'; import createContainer from 'constate'; import type { TimeRange } from '@kbn/es-query'; import { useState, useEffect, useMemo, Dispatch, SetStateAction } from 'react'; +import { + type MetricsExplorerChartOptions, + type MetricsExplorerOptions, + type MetricsExplorerOptionsMetric, + type MetricsExplorerTimeOptions, + MetricsExplorerYAxisMode, + MetricsExplorerChartType, + metricsExplorerOptionsRT, + metricsExplorerChartOptionsRT, + metricsExplorerTimeOptionsRT, +} from '../../../../../common/metrics_explorer_views'; import { useAlertPrefillContext } from '../../../../alerting/use_alert_prefill'; import { Color } from '../../../../../common/color_palette'; -import { metricsExplorerMetricRT } from '../../../../../common/http_api/metrics_explorer'; import { useKibanaTimefilterTime, useSyncKibanaTimeFilterTime, } from '../../../../hooks/use_kibana_timefilter_time'; -const metricsExplorerOptionsMetricRT = t.intersection([ - metricsExplorerMetricRT, - t.partial({ - rate: t.boolean, - color: t.keyof(Object.fromEntries(values(Color).map((c) => [c, null])) as Record), - label: t.string, - }), -]); - -export type MetricsExplorerOptionsMetric = t.TypeOf; - -export enum MetricsExplorerChartType { - line = 'line', - area = 'area', - bar = 'bar', -} - -export enum MetricsExplorerYAxisMode { - fromZero = 'fromZero', - auto = 'auto', -} - -export const metricsExplorerChartOptionsRT = t.type({ - yAxisMode: t.keyof( - Object.fromEntries(values(MetricsExplorerYAxisMode).map((v) => [v, null])) as Record< - MetricsExplorerYAxisMode, - null - > - ), - type: t.keyof( - Object.fromEntries(values(MetricsExplorerChartType).map((v) => [v, null])) as Record< - MetricsExplorerChartType, - null - > - ), - stack: t.boolean, -}); - -export type MetricsExplorerChartOptions = t.TypeOf; - -const metricExplorerOptionsRequiredRT = t.type({ - aggregation: t.string, - metrics: t.array(metricsExplorerOptionsMetricRT), -}); - -const metricExplorerOptionsOptionalRT = t.partial({ - limit: t.number, - groupBy: t.union([t.string, t.array(t.string)]), - filterQuery: t.string, - source: t.string, - forceInterval: t.boolean, - dropLastBucket: t.boolean, -}); -export const metricExplorerOptionsRT = t.intersection([ - metricExplorerOptionsRequiredRT, - metricExplorerOptionsOptionalRT, -]); - -export type MetricsExplorerOptions = t.TypeOf; - export const metricsExplorerTimestampsRT = t.type({ fromTimestamp: t.number, toTimestamp: t.number, interval: t.string, }); -export type MetricsExplorerTimestampsRT = t.TypeOf; -export const metricsExplorerTimeOptionsRT = t.type({ - from: t.string, - to: t.string, - interval: t.string, -}); -export type MetricsExplorerTimeOptions = t.TypeOf; +export type { + MetricsExplorerOptions, + MetricsExplorerTimeOptions, + MetricsExplorerChartOptions, + MetricsExplorerOptionsMetric, +}; + +export { + MetricsExplorerYAxisMode, + MetricsExplorerChartType, + metricsExplorerOptionsRT, + metricsExplorerChartOptionsRT, + metricsExplorerTimeOptionsRT, +}; +export type MetricsExplorerTimestamp = t.TypeOf; export const DEFAULT_TIMERANGE: MetricsExplorerTimeOptions = { from: 'now-1h', @@ -182,7 +139,7 @@ export const useMetricsExplorerOptions = () => { to, interval: DEFAULT_TIMERANGE.interval, }); - const [timestamps, setTimestamps] = useState( + const [timestamps, setTimestamps] = useState( getDefaultTimeRange({ from, to }) ); diff --git a/x-pack/plugins/infra/public/services/metrics_explorer_views/metrics_explorer_views_client.ts b/x-pack/plugins/infra/public/services/metrics_explorer_views/metrics_explorer_views_client.ts index 788a8789abe73..8961522feea2e 100644 --- a/x-pack/plugins/infra/public/services/metrics_explorer_views/metrics_explorer_views_client.ts +++ b/x-pack/plugins/infra/public/services/metrics_explorer_views/metrics_explorer_views_client.ts @@ -7,17 +7,20 @@ import { HttpStart } from '@kbn/core/public'; import { - CreateMetricsExplorerViewAttributesRequestPayload, + CreateMetricsExplorerViewResponsePayload, createMetricsExplorerViewRequestPayloadRT, + FindMetricsExplorerViewResponsePayload, findMetricsExplorerViewResponsePayloadRT, + GetMetricsExplorerViewResponsePayload, getMetricsExplorerViewUrl, metricsExplorerViewResponsePayloadRT, + UpdateMetricsExplorerViewResponsePayload, + CreateMetricsExplorerViewAttributesRequestPayload, UpdateMetricsExplorerViewAttributesRequestPayload, } from '../../../common/http_api/latest'; import { DeleteMetricsExplorerViewError, FetchMetricsExplorerViewError, - MetricsExplorerView, UpsertMetricsExplorerViewError, } from '../../../common/metrics_explorer_views'; import { decodeOrThrow } from '../../../common/runtime_types'; @@ -26,7 +29,7 @@ import { IMetricsExplorerViewsClient } from './types'; export class MetricsExplorerViewsClient implements IMetricsExplorerViewsClient { constructor(private readonly http: HttpStart) {} - async findMetricsExplorerViews(): Promise { + async findMetricsExplorerViews(): Promise { const response = await this.http.get(getMetricsExplorerViewUrl()).catch((error) => { throw new FetchMetricsExplorerViewError(`Failed to fetch metrics explorer views: ${error}`); }); @@ -40,7 +43,9 @@ export class MetricsExplorerViewsClient implements IMetricsExplorerViewsClient { return data; } - async getMetricsExplorerView(metricsExplorerViewId: string): Promise { + async getMetricsExplorerView( + metricsExplorerViewId: string + ): Promise { const response = await this.http .get(getMetricsExplorerViewUrl(metricsExplorerViewId)) .catch((error) => { @@ -62,7 +67,7 @@ export class MetricsExplorerViewsClient implements IMetricsExplorerViewsClient { async createMetricsExplorerView( metricsExplorerViewAttributes: CreateMetricsExplorerViewAttributesRequestPayload - ): Promise { + ): Promise { const response = await this.http .post(getMetricsExplorerViewUrl(), { body: JSON.stringify( @@ -91,7 +96,7 @@ export class MetricsExplorerViewsClient implements IMetricsExplorerViewsClient { async updateMetricsExplorerView( metricsExplorerViewId: string, metricsExplorerViewAttributes: UpdateMetricsExplorerViewAttributesRequestPayload - ): Promise { + ): Promise { const response = await this.http .put(getMetricsExplorerViewUrl(metricsExplorerViewId), { body: JSON.stringify( diff --git a/x-pack/plugins/infra/public/services/metrics_explorer_views/types.ts b/x-pack/plugins/infra/public/services/metrics_explorer_views/types.ts index 7825d362eb9c5..edd86bb2283cb 100644 --- a/x-pack/plugins/infra/public/services/metrics_explorer_views/types.ts +++ b/x-pack/plugins/infra/public/services/metrics_explorer_views/types.ts @@ -7,9 +7,12 @@ import { HttpStart } from '@kbn/core/public'; import { - MetricsExplorerView, - MetricsExplorerViewAttributes, -} from '../../../common/metrics_explorer_views'; + FindMetricsExplorerViewResponsePayload, + CreateMetricsExplorerViewResponsePayload, + UpdateMetricsExplorerViewResponsePayload, + GetMetricsExplorerViewResponsePayload, +} from '../../../common/http_api'; +import { MetricsExplorerViewAttributes } from '../../../common/metrics_explorer_views'; export type MetricsExplorerViewsServiceSetup = void; @@ -22,14 +25,16 @@ export interface MetricsExplorerViewsServiceStartDeps { } export interface IMetricsExplorerViewsClient { - findMetricsExplorerViews(): Promise; - getMetricsExplorerView(metricsExplorerViewId: string): Promise; + findMetricsExplorerViews(): Promise; + getMetricsExplorerView( + metricsExplorerViewId: string + ): Promise; createMetricsExplorerView( metricsExplorerViewAttributes: Partial - ): Promise; + ): Promise; updateMetricsExplorerView( metricsExplorerViewId: string, metricsExplorerViewAttributes: Partial - ): Promise; + ): Promise; deleteMetricsExplorerView(metricsExplorerViewId: string): Promise; } diff --git a/x-pack/plugins/infra/public/utils/fixtures/metrics_explorer.ts b/x-pack/plugins/infra/public/utils/fixtures/metrics_explorer.ts index 58ccc468a06f4..92fed7ce8fd20 100644 --- a/x-pack/plugins/infra/public/utils/fixtures/metrics_explorer.ts +++ b/x-pack/plugins/infra/public/utils/fixtures/metrics_explorer.ts @@ -15,7 +15,7 @@ import { MetricsExplorerChartType, MetricsExplorerYAxisMode, MetricsExplorerChartOptions, - MetricsExplorerTimestampsRT, + MetricsExplorerTimestamp, } from '../../pages/metrics/metrics_explorer/hooks/use_metrics_explorer_options'; export const options: MetricsExplorerOptions = { @@ -56,7 +56,7 @@ export const timeRange: MetricsExplorerTimeOptions = { interval: '>=10s', }; -export const timestamps: MetricsExplorerTimestampsRT = { +export const timestamps: MetricsExplorerTimestamp = { fromTimestamp: 1678376367166, toTimestamp: 1678379973620, interval: '>=10s', diff --git a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.test.ts b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.test.ts index d0a301726138e..02308de051806 100644 --- a/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.test.ts +++ b/x-pack/plugins/infra/server/lib/alerting/inventory_metric_threshold/inventory_metric_threshold_executor.test.ts @@ -157,10 +157,12 @@ services.alertFactory.create.mockImplementation((instanceID: string) => { : newAlertInstance; alertInstances.set(instanceID, alertInstance); - alertInstance.instance.scheduleActions.mockImplementation((id: string, action: any) => { - alertInstance.actionQueue.push({ id, action }); - return alertInstance.instance; - }); + (alertInstance.instance.scheduleActions as jest.Mock).mockImplementation( + (id: string, action: any) => { + alertInstance.actionQueue.push({ id, action }); + return alertInstance.instance; + } + ); return alertInstance.instance; }); diff --git a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts index fb8121d224187..0f3559be27c68 100644 --- a/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts +++ b/x-pack/plugins/infra/server/lib/alerting/metric_threshold/metric_threshold_executor.test.ts @@ -1961,10 +1961,12 @@ services.alertFactory.create.mockImplementation((instanceID: string) => { alertInstance.state = newState; return alertInstance.instance; }); - alertInstance.instance.scheduleActions.mockImplementation((id: string, action: any) => { - alertInstance.actionQueue.push({ id, action }); - return alertInstance.instance; - }); + (alertInstance.instance.scheduleActions as jest.Mock).mockImplementation( + (id: string, action: any) => { + alertInstance.actionQueue.push({ id, action }); + return alertInstance.instance; + } + ); return alertInstance.instance; }); diff --git a/x-pack/plugins/infra/server/routes/metrics_explorer_views/README.md b/x-pack/plugins/infra/server/routes/metrics_explorer_views/README.md index d14d8298d0d0f..53623b80b05e3 100644 --- a/x-pack/plugins/infra/server/routes/metrics_explorer_views/README.md +++ b/x-pack/plugins/infra/server/routes/metrics_explorer_views/README.md @@ -77,38 +77,32 @@ Status code: 200 "updatedAt": 1681398305034, "attributes": { "name": "Ad-hoc", - "isDefault": true, - "isStatic": false, - "metric": { - "type": "cpu" + "options": { + "aggregation": "avg", + "metrics": [ + { + "aggregation": "avg", + "field": "system.cpu.total.norm.pct", + "color": "color0" + }, + ], + "source": "default", + "groupBy": [ + "host.name" + ] }, - "sort": { - "by": "name", - "direction": "desc" + "chartOptions": { + "type": "line", + "yAxisMode": "fromZero", + "stack": false }, - "groupBy": [], - "nodeType": "host", - "view": "map", - "customOptions": [], - "customMetrics": [], - "boundsOverride": { - "max": 1, - "min": 0 + "currentTimerange": { + "from": "now-1h", + "to": "now", + "interval": ">=10s" }, - "autoBounds": true, - "accountId": "", - "region": "", - "autoReload": false, - "filterQuery": { - "expression": "", - "kind": "kuery" - }, - "legend": { - "palette": "cool", - "reverseColors": false, - "steps": 10 - }, - "timelineOpen": false + "isDefault": false, + "isStatic": false } } } @@ -130,23 +124,47 @@ Status code: 404 Creates a new metrics explorer view. +`aggregation`: `"avg" | "max" | "min" | "cardinality" | "rate" | "count" | "sum" | "p95" | "p99" | "custom"` + +`metrics.aggregation`: `"avg" | "max" | "min" | "cardinality" | "rate" | "count" | "sum" | "p95" | "p99" | "custom"` + +`chartOptions.type`: `"line" | "area" | "bar"` +`chartOptions.yAxisMode`: `"fromZero" | "auto" | "bar"` + ### Request - **Method**: POST - **Path**: /api/infra/metrics_explorer_views - **Request body**: + ```json { "attributes": { "name": "View name", - "metric": { - "type": "cpu" + "options": { + "aggregation": "avg", + "metrics": [ + { + "aggregation": "avg", + "field": "system.cpu.total.norm.pct", + "color": "color0" + }, + ], + "source": "default", + "groupBy": [ + "host.name" + ] }, - "sort": { - "by": "name", - "direction": "desc" + "chartOptions": { + "type": "line", + "yAxisMode": "fromZero", + "stack": false + }, + "currentTimerange": { + "from": "now-1h", + "to": "now", + "interval": ">=10s" }, - //... } } ``` @@ -165,38 +183,32 @@ Status code: 201 "updatedAt": 1681398305034, "attributes": { "name": "View name", - "isDefault": false, - "isStatic": false, - "metric": { - "type": "cpu" + "options": { + "aggregation": "avg", + "metrics": [ + { + "aggregation": "avg", + "field": "system.cpu.total.norm.pct", + "color": "color0" + }, + ], + "source": "default", + "groupBy": [ + "host.name" + ] }, - "sort": { - "by": "name", - "direction": "desc" + "chartOptions": { + "type": "line", + "yAxisMode": "fromZero", + "stack": false }, - "groupBy": [], - "nodeType": "host", - "view": "map", - "customOptions": [], - "customMetrics": [], - "boundsOverride": { - "max": 1, - "min": 0 + "currentTimerange": { + "from": "now-1h", + "to": "now", + "interval": ">=10s" }, - "autoBounds": true, - "accountId": "", - "region": "", - "autoReload": false, - "filterQuery": { - "expression": "", - "kind": "kuery" - }, - "legend": { - "palette": "cool", - "reverseColors": false, - "steps": 10 - }, - "timelineOpen": false + "isDefault": false, + "isStatic": false } } } @@ -234,14 +246,30 @@ Any attempt to update the static view with id `0` will return a `400 The metrics { "attributes": { "name": "View name", - "metric": { - "type": "cpu" + "options": { + "aggregation": "avg", + "metrics": [ + { + "aggregation": "avg", + "field": "system.cpu.total.norm.pct", + "color": "color0" + }, + ], + "source": "default", + "groupBy": [ + "host.name" + ] }, - "sort": { - "by": "name", - "direction": "desc" + "chartOptions": { + "type": "line", + "yAxisMode": "fromZero", + "stack": false }, - //... + "currentTimerange": { + "from": "now-1h", + "to": "now", + "interval": ">=10s" + } } } ``` @@ -260,38 +288,32 @@ Status code: 200 "updatedAt": 1681398305034, "attributes": { "name": "View name", - "isDefault": false, - "isStatic": false, - "metric": { - "type": "cpu" - }, - "sort": { - "by": "name", - "direction": "desc" + "options": { + "aggregation": "avg", + "metrics": [ + { + "aggregation": "avg", + "field": "system.cpu.total.norm.pct", + "color": "color0" + }, + ], + "source": "default", + "groupBy": [ + "host.name" + ] }, - "groupBy": [], - "nodeType": "host", - "view": "map", - "customOptions": [], - "customMetrics": [], - "boundsOverride": { - "max": 1, - "min": 0 + "chartOptions": { + "type": "line", + "yAxisMode": "fromZero", + "stack": false }, - "autoBounds": true, - "accountId": "", - "region": "", - "autoReload": false, - "filterQuery": { - "expression": "", - "kind": "kuery" + "currentTimerange": { + "from": "now-1h", + "to": "now", + "interval": ">=10s" }, - "legend": { - "palette": "cool", - "reverseColors": false, - "steps": 10 - }, - "timelineOpen": false + "isDefault": false, + "isStatic": false } } } diff --git a/x-pack/plugins/infra/server/saved_objects/metrics_explorer_view/types.ts b/x-pack/plugins/infra/server/saved_objects/metrics_explorer_view/types.ts index 15fe0eb970cc2..484d5ad166cf5 100644 --- a/x-pack/plugins/infra/server/saved_objects/metrics_explorer_view/types.ts +++ b/x-pack/plugins/infra/server/saved_objects/metrics_explorer_view/types.ts @@ -8,11 +8,59 @@ import { isoToEpochRt, nonEmptyStringRt } from '@kbn/io-ts-utils'; import * as rt from 'io-ts'; -export const metricsExplorerViewSavedObjectAttributesRT = rt.intersection([ - rt.strict({ +const metricsExplorerSavedObjectChartTypeRT = rt.keyof({ line: null, area: null, bar: null }); +const metricsExplorerYAxisModeRT = rt.keyof({ fromZero: null, auto: null }); + +const metricsExplorerSavedObjectChartOptionsRT = rt.type({ + yAxisMode: metricsExplorerYAxisModeRT, + type: metricsExplorerSavedObjectChartTypeRT, + stack: rt.boolean, +}); + +export const metricsExplorerSavedObjectTimeOptionsRT = rt.type({ + from: rt.string, + to: rt.string, + interval: rt.string, +}); +const metricsExplorerSavedObjectOptionsMetricRT = rt.intersection([ + rt.UnknownRecord, + rt.partial({ + rate: rt.boolean, + color: rt.string, + label: rt.string, + }), +]); + +const metricExplorerSavedObjectOptionsRequiredRT = rt.type({ + aggregation: rt.string, + metrics: rt.array(metricsExplorerSavedObjectOptionsMetricRT), +}); + +const metricExplorerSavedObjectOptionsOptionalRT = rt.partial({ + limit: rt.number, + groupBy: rt.union([rt.string, rt.array(rt.string)]), + filterQuery: rt.string, + source: rt.string, + forceInterval: rt.boolean, + dropLastBucket: rt.boolean, +}); +export const metricsExplorerSavedObjectOptionsRT = rt.intersection([ + metricExplorerSavedObjectOptionsRequiredRT, + metricExplorerSavedObjectOptionsOptionalRT, +]); + +const metricExplorerViewsSavedObjectStateRT = rt.type({ + chartOptions: metricsExplorerSavedObjectChartOptionsRT, + currentTimerange: metricsExplorerSavedObjectTimeOptionsRT, + options: metricsExplorerSavedObjectOptionsRT, +}); + +const metricsExplorerViewSavedObjectAttributesRT = rt.intersection([ + metricExplorerViewsSavedObjectStateRT, + rt.type({ name: nonEmptyStringRt, }), - rt.UnknownRecord, + rt.partial({ isDefault: rt.boolean, isStatic: rt.boolean }), ]); export const metricsExplorerViewSavedObjectRT = rt.intersection([ diff --git a/x-pack/plugins/infra/server/services/metrics_explorer_views/metrics_explorer_views_client.ts b/x-pack/plugins/infra/server/services/metrics_explorer_views/metrics_explorer_views_client.ts index e2dd15940bb19..d8f55a9901ad9 100644 --- a/x-pack/plugins/infra/server/services/metrics_explorer_views/metrics_explorer_views_client.ts +++ b/x-pack/plugins/infra/server/services/metrics_explorer_views/metrics_explorer_views_client.ts @@ -14,12 +14,16 @@ import { } from '@kbn/core/server'; import Boom from '@hapi/boom'; import { + metricsExplorerViewAttributesRT, staticMetricsExplorerViewAttributes, staticMetricsExplorerViewId, } from '../../../common/metrics_explorer_views'; import type { CreateMetricsExplorerViewAttributesRequestPayload, + FindMetricsExplorerViewResponsePayload, + GetMetricsExplorerViewResponsePayload, MetricsExplorerViewRequestQuery, + UpdateMetricsExplorerViewResponsePayload, } from '../../../common/http_api/latest'; import type { MetricsExplorerView, @@ -41,7 +45,9 @@ export class MetricsExplorerViewsClient implements IMetricsExplorerViewsClient { static STATIC_VIEW_ID = '0'; static DEFAULT_SOURCE_ID = 'default'; - public async find(query: MetricsExplorerViewRequestQuery): Promise { + public async find( + query: MetricsExplorerViewRequestQuery + ): Promise { this.logger.debug('Trying to load metrics explorer views ...'); const sourceId = query.sourceId ?? MetricsExplorerViewsClient.DEFAULT_SOURCE_ID; @@ -71,7 +77,7 @@ export class MetricsExplorerViewsClient implements IMetricsExplorerViewsClient { public async get( metricsExplorerViewId: string, query: MetricsExplorerViewRequestQuery - ): Promise { + ): Promise { this.logger.debug(`Trying to load metrics explorer view with id ${metricsExplorerViewId} ...`); const sourceId = query.sourceId ?? MetricsExplorerViewsClient.DEFAULT_SOURCE_ID; @@ -103,7 +109,7 @@ export class MetricsExplorerViewsClient implements IMetricsExplorerViewsClient { metricsExplorerViewId: string | null, attributes: CreateMetricsExplorerViewAttributesRequestPayload, query: MetricsExplorerViewRequestQuery - ): Promise { + ): Promise { this.logger.debug( `Trying to update metrics explorer view with id "${metricsExplorerViewId}"...` ); @@ -147,10 +153,10 @@ export class MetricsExplorerViewsClient implements IMetricsExplorerViewsClient { }); } - private mapSavedObjectToMetricsExplorerView( - savedObject: SavedObject | SavedObjectsUpdateResponse, + private mapSavedObjectToMetricsExplorerView( + savedObject: SavedObject | SavedObjectsUpdateResponse, defaultViewId?: string - ) { + ): MetricsExplorerView { const metricsExplorerViewSavedObject = decodeOrThrow(metricsExplorerViewSavedObjectRT)( savedObject ); @@ -160,7 +166,9 @@ export class MetricsExplorerViewsClient implements IMetricsExplorerViewsClient { version: metricsExplorerViewSavedObject.version, updatedAt: metricsExplorerViewSavedObject.updated_at, attributes: { - ...metricsExplorerViewSavedObject.attributes, + ...decodeOrThrow(metricsExplorerViewAttributesRT)( + metricsExplorerViewSavedObject.attributes + ), isDefault: metricsExplorerViewSavedObject.id === defaultViewId, isStatic: false, }, diff --git a/x-pack/plugins/infra/server/services/metrics_explorer_views/types.ts b/x-pack/plugins/infra/server/services/metrics_explorer_views/types.ts index 851cdf3ad77f0..b4ec7fb1051f2 100644 --- a/x-pack/plugins/infra/server/services/metrics_explorer_views/types.ts +++ b/x-pack/plugins/infra/server/services/metrics_explorer_views/types.ts @@ -11,10 +11,12 @@ import type { SavedObjectsServiceStart, } from '@kbn/core/server'; import type { + FindMetricsExplorerViewResponsePayload, + GetMetricsExplorerViewResponsePayload, MetricsExplorerViewRequestQuery, UpdateMetricsExplorerViewAttributesRequestPayload, + UpdateMetricsExplorerViewResponsePayload, } from '../../../common/http_api/latest'; -import type { MetricsExplorerView } from '../../../common/metrics_explorer_views'; import type { InfraSources } from '../../lib/sources'; export interface MetricsExplorerViewsServiceStartDeps { @@ -31,14 +33,16 @@ export interface MetricsExplorerViewsServiceStart { export interface IMetricsExplorerViewsClient { delete(metricsExplorerViewId: string): Promise<{}>; - find(query: MetricsExplorerViewRequestQuery): Promise; + find( + query: MetricsExplorerViewRequestQuery + ): Promise; get( metricsExplorerViewId: string, query: MetricsExplorerViewRequestQuery - ): Promise; + ): Promise; update( metricsExplorerViewId: string | null, metricsExplorerViewAttributes: UpdateMetricsExplorerViewAttributesRequestPayload, query: MetricsExplorerViewRequestQuery - ): Promise; + ): Promise; } diff --git a/x-pack/plugins/maps/common/descriptor_types/source_descriptor_types.ts b/x-pack/plugins/maps/common/descriptor_types/source_descriptor_types.ts index 3094596a3f13b..30f02a7a9c4c7 100644 --- a/x-pack/plugins/maps/common/descriptor_types/source_descriptor_types.ts +++ b/x-pack/plugins/maps/common/descriptor_types/source_descriptor_types.ts @@ -104,6 +104,7 @@ export type ESSearchSourceDescriptor = AbstractESSourceDescriptor & { sortField: string; sortOrder: SortDirection; scalingType: SCALING_TYPES; + topHitsGroupByTimeseries: boolean; topHitsSplitField: string; topHitsSize: number; }; diff --git a/x-pack/plugins/maps/public/classes/fields/agg/agg_field.test.ts b/x-pack/plugins/maps/public/classes/fields/agg/agg_field.test.ts index d8346fa8f5283..ac2999246da6f 100644 --- a/x-pack/plugins/maps/public/classes/fields/agg/agg_field.test.ts +++ b/x-pack/plugins/maps/public/classes/fields/agg/agg_field.test.ts @@ -9,11 +9,9 @@ import { AggField } from './agg_field'; import { AGG_TYPE, FIELD_ORIGIN } from '../../../../common/constants'; import { IESAggSource } from '../../sources/es_agg_source'; -const mockEsAggSource = {} as unknown as IESAggSource; - const defaultParams = { label: 'my agg field', - source: mockEsAggSource, + source: {} as unknown as IESAggSource, origin: FIELD_ORIGIN.SOURCE, }; @@ -41,24 +39,98 @@ describe('supportsFieldMetaFromEs', () => { }); describe('supportsFieldMetaFromLocalData', () => { - test('number metrics should support field meta from local', () => { - const avgMetric = new AggField({ ...defaultParams, aggType: AGG_TYPE.AVG }); - expect(avgMetric.supportsFieldMetaFromLocalData()).toBe(true); - const maxMetric = new AggField({ ...defaultParams, aggType: AGG_TYPE.MAX }); - expect(maxMetric.supportsFieldMetaFromLocalData()).toBe(true); - const minMetric = new AggField({ ...defaultParams, aggType: AGG_TYPE.MIN }); - expect(minMetric.supportsFieldMetaFromLocalData()).toBe(true); - const sumMetric = new AggField({ ...defaultParams, aggType: AGG_TYPE.SUM }); - expect(sumMetric.supportsFieldMetaFromLocalData()).toBe(true); - const uniqueCountMetric = new AggField({ - ...defaultParams, - aggType: AGG_TYPE.UNIQUE_COUNT, + describe('source is vector tiles', () => { + const mvtSource = { + isMvt: () => { + return true; + }, + } as unknown as IESAggSource; + test('number metrics should support field meta from local', () => { + const avgMetric = new AggField({ + ...defaultParams, + source: mvtSource, + aggType: AGG_TYPE.AVG, + }); + expect(avgMetric.supportsFieldMetaFromLocalData()).toBe(true); + const maxMetric = new AggField({ + ...defaultParams, + source: mvtSource, + aggType: AGG_TYPE.MAX, + }); + expect(maxMetric.supportsFieldMetaFromLocalData()).toBe(true); + const minMetric = new AggField({ + ...defaultParams, + source: mvtSource, + aggType: AGG_TYPE.MIN, + }); + expect(minMetric.supportsFieldMetaFromLocalData()).toBe(true); + const sumMetric = new AggField({ + ...defaultParams, + source: mvtSource, + aggType: AGG_TYPE.SUM, + }); + expect(sumMetric.supportsFieldMetaFromLocalData()).toBe(true); + const uniqueCountMetric = new AggField({ + ...defaultParams, + source: mvtSource, + aggType: AGG_TYPE.UNIQUE_COUNT, + }); + expect(uniqueCountMetric.supportsFieldMetaFromLocalData()).toBe(true); + }); + + test('Non number metrics should not support field meta from local', () => { + const termMetric = new AggField({ + ...defaultParams, + source: mvtSource, + aggType: AGG_TYPE.TERMS, + }); + expect(termMetric.supportsFieldMetaFromLocalData()).toBe(false); }); - expect(uniqueCountMetric.supportsFieldMetaFromLocalData()).toBe(true); }); - test('Non number metrics should not support field meta from local', () => { - const termMetric = new AggField({ ...defaultParams, aggType: AGG_TYPE.TERMS }); - expect(termMetric.supportsFieldMetaFromLocalData()).toBe(false); + describe('source is not vector tiles', () => { + const geojsonSource = { + isMvt: () => { + return false; + }, + } as unknown as IESAggSource; + test('should always support field meta from local', () => { + const avgMetric = new AggField({ + ...defaultParams, + source: geojsonSource, + aggType: AGG_TYPE.AVG, + }); + expect(avgMetric.supportsFieldMetaFromLocalData()).toBe(true); + const maxMetric = new AggField({ + ...defaultParams, + source: geojsonSource, + aggType: AGG_TYPE.MAX, + }); + expect(maxMetric.supportsFieldMetaFromLocalData()).toBe(true); + const minMetric = new AggField({ + ...defaultParams, + source: geojsonSource, + aggType: AGG_TYPE.MIN, + }); + expect(minMetric.supportsFieldMetaFromLocalData()).toBe(true); + const sumMetric = new AggField({ + ...defaultParams, + source: geojsonSource, + aggType: AGG_TYPE.SUM, + }); + expect(sumMetric.supportsFieldMetaFromLocalData()).toBe(true); + const uniqueCountMetric = new AggField({ + ...defaultParams, + source: geojsonSource, + aggType: AGG_TYPE.UNIQUE_COUNT, + }); + expect(uniqueCountMetric.supportsFieldMetaFromLocalData()).toBe(true); + const termMetric = new AggField({ + ...defaultParams, + source: geojsonSource, + aggType: AGG_TYPE.TERMS, + }); + expect(termMetric.supportsFieldMetaFromLocalData()).toBe(true); + }); }); }); diff --git a/x-pack/plugins/maps/public/classes/fields/agg/agg_field.ts b/x-pack/plugins/maps/public/classes/fields/agg/agg_field.ts index 1a6841ffa9e7e..92136779ac763 100644 --- a/x-pack/plugins/maps/public/classes/fields/agg/agg_field.ts +++ b/x-pack/plugins/maps/public/classes/fields/agg/agg_field.ts @@ -44,7 +44,7 @@ export class AggField extends CountAggField { supportsFieldMetaFromLocalData(): boolean { // Elasticsearch vector tile search API returns meta tiles with numeric aggregation metrics. - return this._getDataTypeSynchronous() === 'number'; + return this._source.isMvt() ? this._getDataTypeSynchronous() === 'number' : true; } isValid(): boolean { diff --git a/x-pack/plugins/maps/public/classes/layers/wizards/solution_layers/security/create_layer_descriptors.test.ts b/x-pack/plugins/maps/public/classes/layers/wizards/solution_layers/security/create_layer_descriptors.test.ts index 22534c6a55658..be5c7503facec 100644 --- a/x-pack/plugins/maps/public/classes/layers/wizards/solution_layers/security/create_layer_descriptors.test.ts +++ b/x-pack/plugins/maps/public/classes/layers/wizards/solution_layers/security/create_layer_descriptors.test.ts @@ -60,6 +60,7 @@ describe('createLayerDescriptor', () => { 'client.geo.country_iso_code', 'client.as.organization.name', ], + topHitsGroupByTimeseries: false, topHitsSize: 1, topHitsSplitField: 'client.ip', type: 'ES_SEARCH', @@ -138,6 +139,7 @@ describe('createLayerDescriptor', () => { 'server.geo.country_iso_code', 'server.as.organization.name', ], + topHitsGroupByTimeseries: false, topHitsSize: 1, topHitsSplitField: 'server.ip', type: 'ES_SEARCH', @@ -290,6 +292,7 @@ describe('createLayerDescriptor', () => { 'source.geo.country_iso_code', 'source.as.organization.name', ], + topHitsGroupByTimeseries: false, topHitsSize: 1, topHitsSplitField: 'source.ip', type: 'ES_SEARCH', @@ -368,6 +371,7 @@ describe('createLayerDescriptor', () => { 'destination.geo.country_iso_code', 'destination.as.organization.name', ], + topHitsGroupByTimeseries: false, topHitsSize: 1, topHitsSplitField: 'destination.ip', type: 'ES_SEARCH', @@ -514,6 +518,7 @@ describe('createLayerDescriptor', () => { 'client.geo.country_iso_code', 'client.as.organization.name', ], + topHitsGroupByTimeseries: false, topHitsSize: 1, topHitsSplitField: 'client.ip', type: 'ES_SEARCH', @@ -592,6 +597,7 @@ describe('createLayerDescriptor', () => { 'server.geo.country_iso_code', 'server.as.organization.name', ], + topHitsGroupByTimeseries: false, topHitsSize: 1, topHitsSplitField: 'server.ip', type: 'ES_SEARCH', diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/create_layer_descriptor.test.ts b/x-pack/plugins/maps/public/classes/sources/es_search_source/create_layer_descriptor.test.ts index 97b0d2b188ab5..d2941ec168ddc 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/create_layer_descriptor.test.ts +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/create_layer_descriptor.test.ts @@ -44,6 +44,7 @@ test('Should create layer descriptor', () => { sortField: '', sortOrder: 'desc', tooltipProperties: [], + topHitsGroupByTimeseries: false, topHitsSize: 1, topHitsSplitField: '', type: 'ES_SEARCH', diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx index cfe1a3c872b86..4bb67e8b38099 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/es_search_source.tsx @@ -48,6 +48,7 @@ import { loadIndexSettings } from './util/load_index_settings'; import { DEFAULT_FILTER_BY_MAP_BOUNDS } from './constants'; import { ESDocField } from '../../fields/es_doc_field'; import { + AbstractESSourceDescriptor, DataRequestMeta, ESSearchSourceDescriptor, Timeslice, @@ -83,6 +84,7 @@ type ESSearchSourceSyncMeta = Pick< | 'sortField' | 'sortOrder' | 'scalingType' + | 'topHitsGroupByTimeseries' | 'topHitsSplitField' | 'topHitsSize' >; @@ -106,7 +108,9 @@ export class ESSearchSource extends AbstractESSource implements IMvtVectorSource protected readonly _tooltipFields: ESDocField[]; static createDescriptor(descriptor: Partial): ESSearchSourceDescriptor { - const normalizedDescriptor = AbstractESSource.createDescriptor(descriptor); + const normalizedDescriptor = AbstractESSource.createDescriptor( + descriptor + ) as AbstractESSourceDescriptor & Partial; if (!isValidStringConfig(normalizedDescriptor.geoField)) { throw new Error('Cannot create an ESSearchSourceDescriptor without a geoField'); } @@ -128,6 +132,10 @@ export class ESSearchSource extends AbstractESSource implements IMvtVectorSource scalingType: isValidStringConfig(descriptor.scalingType) ? descriptor.scalingType! : SCALING_TYPES.MVT, + topHitsGroupByTimeseries: + typeof normalizedDescriptor.topHitsGroupByTimeseries === 'boolean' + ? normalizedDescriptor.topHitsGroupByTimeseries + : false, topHitsSplitField: isValidStringConfig(descriptor.topHitsSplitField) ? descriptor.topHitsSplitField! : '', @@ -168,6 +176,7 @@ export class ESSearchSource extends AbstractESSource implements IMvtVectorSource sortField={this._descriptor.sortField} sortOrder={this._descriptor.sortOrder} filterByMapBounds={this.isFilterByMapBounds()} + topHitsGroupByTimeseries={this._descriptor.topHitsGroupByTimeseries} topHitsSplitField={this._descriptor.topHitsSplitField} topHitsSize={this._descriptor.topHitsSize} /> @@ -271,9 +280,13 @@ export class ESSearchSource extends AbstractESSource implements IMvtVectorSource registerCancelCallback: (callback: () => void) => void, inspectorAdapters: Adapters ) { - const { topHitsSplitField: topHitsSplitFieldName, topHitsSize } = this._descriptor; + const { + topHitsGroupByTimeseries, + topHitsSplitField: topHitsSplitFieldName, + topHitsSize, + } = this._descriptor; - if (!topHitsSplitFieldName) { + if (!topHitsGroupByTimeseries && !topHitsSplitFieldName) { throw new Error('Cannot _getTopHits without topHitsSplitField'); } @@ -310,7 +323,6 @@ export class ESSearchSource extends AbstractESSource implements IMvtVectorSource }; } - const topHitsSplitField: DataViewField = getField(indexPattern, topHitsSplitFieldName); const cardinalityAgg = { precision_threshold: 1 }; const termsAgg = { size: DEFAULT_MAX_BUCKETS_LIMIT, @@ -319,26 +331,50 @@ export class ESSearchSource extends AbstractESSource implements IMvtVectorSource const searchSource = await this.makeSearchSource(requestMeta, 0); searchSource.setField('trackTotalHits', false); - searchSource.setField('aggs', { - totalEntities: { - cardinality: addFieldToDSL(cardinalityAgg, topHitsSplitField), - }, - entitySplit: { - terms: addFieldToDSL(termsAgg, topHitsSplitField), - aggs: { - entityHits: { - top_hits: topHits, + + if (topHitsGroupByTimeseries) { + searchSource.setField('aggs', { + totalEntities: { + cardinality: { + ...cardinalityAgg, + field: '_tsid', }, }, - }, - }); - if (topHitsSplitField.type === 'string') { - const entityIsNotEmptyFilter = buildPhraseFilter(topHitsSplitField, '', indexPattern); - entityIsNotEmptyFilter.meta.negate = true; - searchSource.setField('filter', [ - ...(searchSource.getField('filter') as Filter[]), - entityIsNotEmptyFilter, - ]); + entitySplit: { + terms: { + ...termsAgg, + field: '_tsid', + }, + aggs: { + entityHits: { + top_hits: topHits, + }, + }, + }, + }); + } else { + const topHitsSplitField: DataViewField = getField(indexPattern, topHitsSplitFieldName); + searchSource.setField('aggs', { + totalEntities: { + cardinality: addFieldToDSL(cardinalityAgg, topHitsSplitField), + }, + entitySplit: { + terms: addFieldToDSL(termsAgg, topHitsSplitField), + aggs: { + entityHits: { + top_hits: topHits, + }, + }, + }, + }); + if (topHitsSplitField.type === 'string') { + const entityIsNotEmptyFilter = buildPhraseFilter(topHitsSplitField, '', indexPattern); + entityIsNotEmptyFilter.meta.negate = true; + searchSource.setField('filter', [ + ...(searchSource.getField('filter') as Filter[]), + entityIsNotEmptyFilter, + ]); + } } const resp = await this._runEsQuery({ @@ -354,7 +390,7 @@ export class ESSearchSource extends AbstractESSource implements IMvtVectorSource 'Get top hits from data view: {dataViewName}, entities: {entitiesFieldName}, geospatial field: {geoFieldName}', values: { dataViewName: indexPattern.getName(), - entitiesFieldName: topHitsSplitFieldName, + entitiesFieldName: topHitsGroupByTimeseries ? '_tsid' : topHitsSplitFieldName, geoFieldName: this._descriptor.geoField, }, }), @@ -475,8 +511,7 @@ export class ESSearchSource extends AbstractESSource implements IMvtVectorSource } _isTopHits(): boolean { - const { scalingType, topHitsSplitField } = this._descriptor; - return !!(scalingType === SCALING_TYPES.TOP_HITS && topHitsSplitField); + return this._descriptor.scalingType === SCALING_TYPES.TOP_HITS; } async _getSourceIndexList(): Promise { @@ -794,6 +829,7 @@ export class ESSearchSource extends AbstractESSource implements IMvtVectorSource sortField: this._descriptor.sortField, sortOrder: this._descriptor.sortOrder, scalingType: this._descriptor.scalingType, + topHitsGroupByTimeseries: this._descriptor.topHitsGroupByTimeseries, topHitsSplitField: this._descriptor.topHitsSplitField, topHitsSize: this._descriptor.topHitsSize, }; diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/create_source_editor.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/create_source_editor.tsx index a3fa9a9745cb7..a047f2bb9297b 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/create_source_editor.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/create_source_editor.tsx @@ -13,7 +13,12 @@ import { SortDirection } from '@kbn/data-plugin/public'; import { SCALING_TYPES } from '../../../../../common/constants'; import { GeoFieldSelect } from '../../../../components/geo_field_select'; import { GeoIndexPatternSelect } from '../../../../components/geo_index_pattern_select'; -import { getGeoFields, getTermsFields, getSortFields } from '../../../../index_pattern_util'; +import { + getGeoFields, + getTermsFields, + getSortFields, + getIsTimeseries, +} from '../../../../index_pattern_util'; import { ESSearchSourceDescriptor } from '../../../../../common/descriptor_types'; import { TopHitsForm } from './top_hits_form'; import { OnSourceChangeArgs } from '../../source'; @@ -27,12 +32,14 @@ interface Props { interface State { indexPattern: DataView | null; + isTimeseries: boolean; geoFields: DataViewField[]; geoFieldName: string | null; sortField: string | null; sortFields: DataViewField[]; sortOrder: SortDirection; termFields: DataViewField[]; + topHitsGroupByTimeseries: boolean; topHitsSplitField: string | null; topHitsSize: number; } @@ -40,27 +47,32 @@ interface State { export class CreateSourceEditor extends Component { state: State = { indexPattern: null, + isTimeseries: false, geoFields: [], geoFieldName: null, sortField: null, sortFields: [], sortOrder: SortDirection.desc, termFields: [], + topHitsGroupByTimeseries: false, topHitsSplitField: null, topHitsSize: 1, }; _onIndexPatternSelect = (indexPattern: DataView) => { const geoFields = getGeoFields(indexPattern.fields); + const isTimeseries = getIsTimeseries(indexPattern); this.setState( { indexPattern, + isTimeseries, geoFields, geoFieldName: geoFields.length ? geoFields[0].name : null, sortField: indexPattern.timeFieldName ? indexPattern.timeFieldName : null, sortFields: getSortFields(indexPattern.fields), termFields: getTermsFields(indexPattern.fields), + topHitsGroupByTimeseries: isTimeseries, topHitsSplitField: null, }, this._previewLayer @@ -80,11 +92,27 @@ export class CreateSourceEditor extends Component { }; _previewLayer = () => { - const { indexPattern, geoFieldName, sortField, sortOrder, topHitsSplitField, topHitsSize } = - this.state; + const { + indexPattern, + geoFieldName, + sortField, + sortOrder, + topHitsGroupByTimeseries, + topHitsSplitField, + topHitsSize, + } = this.state; const tooltipProperties: string[] = []; - if (topHitsSplitField) { + if (topHitsGroupByTimeseries) { + const timeSeriesDimensionFieldNames = (indexPattern?.fields ?? []) + .filter((field) => { + return field.timeSeriesDimension; + }) + .map((field) => { + return field.name; + }); + tooltipProperties.push(...timeSeriesDimensionFieldNames); + } else if (topHitsSplitField) { tooltipProperties.push(topHitsSplitField); } if (indexPattern && indexPattern.timeFieldName) { @@ -94,7 +122,7 @@ export class CreateSourceEditor extends Component { const field = geoFieldName && indexPattern?.getFieldByName(geoFieldName); const sourceConfig = - indexPattern && geoFieldName && sortField && topHitsSplitField + indexPattern && geoFieldName && sortField && (topHitsGroupByTimeseries || topHitsSplitField) ? { indexPatternId: indexPattern.id, geoField: geoFieldName, @@ -102,7 +130,8 @@ export class CreateSourceEditor extends Component { sortField, sortOrder, tooltipProperties, - topHitsSplitField, + topHitsGroupByTimeseries, + topHitsSplitField: topHitsSplitField ? topHitsSplitField : undefined, topHitsSize, } : null; @@ -129,11 +158,13 @@ export class CreateSourceEditor extends Component { diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/top_hits_form.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/top_hits_form.tsx index 54b09ed831c8e..60ce58e9345ac 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/top_hits_form.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/top_hits_form.tsx @@ -16,15 +16,18 @@ import { ValidatedRange } from '../../../../components/validated_range'; import { DEFAULT_MAX_INNER_RESULT_WINDOW } from '../../../../../common/constants'; import { loadIndexSettings } from '../util/load_index_settings'; import { OnSourceChangeArgs } from '../../source'; +import { GroupByButtonGroup } from '../../es_geo_line_source/geo_line_form/group_by_button_group'; interface Props { indexPatternId: string; isColumnCompressed?: boolean; + isTimeseries: boolean; onChange: (args: OnSourceChangeArgs) => void; sortField: string; sortFields: DataViewField[]; sortOrder: SortDirection; termFields: DataViewField[]; + topHitsGroupByTimeseries: boolean; topHitsSplitField: string | null; topHitsSize: number; } @@ -48,6 +51,10 @@ export class TopHitsForm extends Component { this._isMounted = false; } + _onGroupByTimeseriesChange = (topHitsGroupByTimeseries: boolean) => { + this.props.onChange({ propName: 'topHitsGroupByTimeseries', value: topHitsGroupByTimeseries }); + }; + _onTopHitsSplitFieldChange = (topHitsSplitField?: string) => { if (!topHitsSplitField) { return; @@ -80,110 +87,120 @@ export class TopHitsForm extends Component { } render() { - let sizeSlider; - let sortField; - let sortOrder; - if (this.props.topHitsSplitField) { - sizeSlider = ( - - - - ); - - sortField = ( - - - - ); - - sortOrder = ( - - - - ); - } - return ( - - + + + )} + + {!this.props.topHitsGroupByTimeseries && ( + + + + )} + + {(this.props.topHitsSplitField || this.props.topHitsGroupByTimeseries) && ( + <> + - - - {sizeSlider} - - {sortField} - - {sortOrder} + display={this.props.isColumnCompressed ? 'columnCompressed' : 'row'} + > + + + + + + + + + + )} ); } diff --git a/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/update_source_editor.tsx b/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/update_source_editor.tsx index 2e26cbea33b52..6158ed56b7bd5 100644 --- a/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/update_source_editor.tsx +++ b/x-pack/plugins/maps/public/classes/sources/es_search_source/top_hits/update_source_editor.tsx @@ -6,7 +6,15 @@ */ import React, { Component, Fragment } from 'react'; -import { EuiFormRow, EuiTitle, EuiPanel, EuiSpacer, EuiSwitch, EuiSwitchEvent } from '@elastic/eui'; +import { + EuiFormRow, + EuiTitle, + EuiPanel, + EuiSkeletonText, + EuiSpacer, + EuiSwitch, + EuiSwitchEvent, +} from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import { DataViewField } from '@kbn/data-views-plugin/public'; @@ -16,7 +24,12 @@ import { FIELD_ORIGIN } from '../../../../../common/constants'; import { TooltipSelector } from '../../../../components/tooltip_selector'; import { getIndexPatternService } from '../../../../kibana_services'; -import { getTermsFields, getSortFields, getSourceFields } from '../../../../index_pattern_util'; +import { + getTermsFields, + getIsTimeseries, + getSortFields, + getSourceFields, +} from '../../../../index_pattern_util'; import { ESDocField } from '../../../fields/es_doc_field'; import { OnSourceChangeArgs } from '../../source'; import { TopHitsForm } from './top_hits_form'; @@ -28,6 +41,7 @@ interface Props { indexPatternId: string; onChange: (args: OnSourceChangeArgs) => void; tooltipFields: IField[]; + topHitsGroupByTimeseries: boolean; topHitsSplitField: string; topHitsSize: number; sortField: string; @@ -36,6 +50,8 @@ interface Props { } interface State { + isLoading: boolean; + isTimeseries: boolean; loadError?: string; sourceFields: IField[]; termFields: DataViewField[]; @@ -46,6 +62,8 @@ export class TopHitsUpdateSourceEditor extends Component { private _isMounted = false; state: State = { + isLoading: false, + isTimeseries: false, sourceFields: [], termFields: [], sortFields: [], @@ -61,12 +79,15 @@ export class TopHitsUpdateSourceEditor extends Component { } async loadFields() { + this.setState({ isLoading: true }); + let indexPattern; try { indexPattern = await getIndexPatternService().get(this.props.indexPatternId); } catch (err) { if (this._isMounted) { this.setState({ + isLoading: false, loadError: getDataViewNotFoundMessage(this.props.indexPatternId), }); } @@ -87,6 +108,8 @@ export class TopHitsUpdateSourceEditor extends Component { }); this.setState({ + isLoading: false, + isTimeseries: getIsTimeseries(indexPattern), sourceFields, termFields: getTermsFields(indexPattern.fields), sortFields: getSortFields(indexPattern.fields), @@ -115,11 +138,13 @@ export class TopHitsUpdateSourceEditor extends Component { - + + + @@ -135,17 +160,21 @@ export class TopHitsUpdateSourceEditor extends Component { - + + + { test('should return null when values is not defined', () => { @@ -46,3 +49,59 @@ describe('percentilesValuesToFieldMeta', () => { ]); }); }); + +describe('getFieldMetaOptions', () => { + const dynamicColorOptions = { + color: 'Blues', + colorCategory: 'palette_0', + field: { + name: 'machine.os.keyword', + origin: 'source', + }, + fieldMetaOptions: { + isEnabled: false, + }, + type: 'CATEGORICAL', + }; + + test('should not automatically enable fieldMeta when field does support field meta from local', () => { + const property = new DynamicStyleProperty( + dynamicColorOptions, + VECTOR_STYLES.FILL_COLOR, + { + supportsFieldMetaFromLocalData: () => { + return true; + }, + } as unknown as IField, + {} as unknown as IVectorLayer, + () => { + return (value: RawValue) => value + '_format'; + } + ); + + const fieldMetaOptions = property.getFieldMetaOptions(); + expect(fieldMetaOptions.isEnabled).toBe(false); + }); + + test('should automatically enable fieldMeta when field does not support field meta from local', () => { + const property = new DynamicStyleProperty( + dynamicColorOptions, + VECTOR_STYLES.FILL_COLOR, + { + supportsFieldMetaFromLocalData: () => { + return false; + }, + } as unknown as IField, + {} as unknown as IVectorLayer, + () => { + return (value: RawValue) => value + '_format'; + } + ); + + const fieldMetaOptions = property.getFieldMetaOptions(); + expect(fieldMetaOptions.isEnabled).toBe(true); + + // should not mutate original options state + expect(dynamicColorOptions.fieldMetaOptions.isEnabled).toBe(false); + }); +}); diff --git a/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx b/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx index 40dd4eb8c524d..9fc1ccaf38c84 100644 --- a/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx +++ b/x-pack/plugins/maps/public/classes/styles/vector/properties/dynamic_style_property.tsx @@ -341,11 +341,12 @@ export class DynamicStyleProperty // The exact case that spawned this fix is with ES_SEARCH sources and 8.0 where vector tiles switched // from vector tiles generated via Kibana server to vector tiles generated via Elasticsearch. // Kibana vector tiles supported fieldMeta from local while Elasticsearch vector tiles do not support fieldMeta from local. - if (this._field && !this._field.supportsFieldMetaFromLocalData()) { - fieldMetaOptions.isEnabled = true; - } - - return fieldMetaOptions; + return this._field && !this._field.supportsFieldMetaFromLocalData() + ? { + ...fieldMetaOptions, + isEnabled: true, + } + : fieldMetaOptions; } getDataMappingFunction() { diff --git a/x-pack/plugins/observability/docs/openapi/slo/README.md b/x-pack/plugins/observability/docs/openapi/slo/README.md index 440e560bf62f1..d7bd91627a5ef 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/README.md +++ b/x-pack/plugins/observability/docs/openapi/slo/README.md @@ -13,22 +13,21 @@ A guide about the OpenApi specification can be found at [https://swagger.io/docs ## Tools -It is possible to validate the docs before bundling them with the following +It is possible to manually validate the docs before bundling them with the following command in the `x-pack/plugins/observability/docs/openapi/slo` folder: ```bash - npx swagger-cli validate entrypoint.yaml +make validate ``` -Then you can generate the `bundled` files by running the following commands: +Then you can generate the `bundled` files by running the following command- this target will automatically validate inputs and lint the result: ```bash - npx @redocly/cli bundle entrypoint.yaml --output bundled.yaml --ext yaml - npx @redocly/cli bundle entrypoint.yaml --output bundled.json --ext json +make bundle ``` -After generating the json bundle ensure that it is also valid by running the following command: +To lint the generated bundle manually, run: ```bash - npx @redocly/cli lint bundled.json +make lint ``` diff --git a/x-pack/plugins/observability/docs/openapi/slo/bundled.json b/x-pack/plugins/observability/docs/openapi/slo/bundled.json index 09295ed296678..05437b3e89028 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/bundled.json +++ b/x-pack/plugins/observability/docs/openapi/slo/bundled.json @@ -37,13 +37,13 @@ } ], "paths": { - "/s/{spaceId}/api/observability/composite_slos": { + "/s/{spaceId}/api/observability/slos": { "post": { - "summary": "Creates a Composite SLO", - "operationId": "createCompositeSlo", + "summary": "Creates an SLO.", + "operationId": "createSloOp", "description": "You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ - "composite slo" + "slo" ], "parameters": [ { @@ -58,7 +58,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/create_composite_slo_request" + "$ref": "#/components/schemas/create_slo_request" } } } @@ -69,7 +69,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/create_composite_slo_response" + "$ref": "#/components/schemas/create_slo_response" } } } @@ -105,7 +105,7 @@ } }, "409": { - "description": "Conflict - The Composite SLO id already exists", + "description": "Conflict - The SLO id already exists", "content": { "application/json": { "schema": { @@ -114,14 +114,19 @@ } } } - } + }, + "servers": [ + { + "url": "https://localhost:5601" + } + ] }, "get": { - "summary": "Retrieves a paginated list of composite SLOs with summary", - "operationId": "findCompositeSlo", + "summary": "Retrieves a paginated list of SLOs", + "operationId": "findSlosOp", "description": "You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ - "composite slo" + "slo" ], "parameters": [ { @@ -130,6 +135,29 @@ { "$ref": "#/components/parameters/space_id" }, + { + "name": "name", + "in": "query", + "description": "Filter by name", + "schema": { + "type": "string" + }, + "example": "awesome-service" + }, + { + "name": "indicatorTypes", + "in": "query", + "description": "Filter by indicator type", + "schema": { + "type": "array", + "items": { + "type": "string" + } + }, + "example": [ + "sli.kql.custom" + ] + }, { "name": "page", "in": "query", @@ -157,7 +185,8 @@ "schema": { "type": "string", "enum": [ - "creationTime" + "creationTime", + "indicatorType" ], "default": "creationTime" }, @@ -184,7 +213,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/find_composite_slo_response" + "$ref": "#/components/schemas/find_slo_response" } } } @@ -232,13 +261,13 @@ } } }, - "/s/{spaceId}/api/observability/composite_slos/{compositeSloId}": { + "/s/{spaceId}/api/observability/slos/{sloId}": { "get": { - "summary": "Retrieves a composite SLO", - "operationId": "getCompositeSlo", + "summary": "Retrieves a SLO", + "operationId": "getSloOp", "description": "You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ - "composite slo" + "slo" ], "parameters": [ { @@ -248,7 +277,7 @@ "$ref": "#/components/parameters/space_id" }, { - "$ref": "#/components/parameters/composite_slo_id" + "$ref": "#/components/parameters/slo_id" } ], "responses": { @@ -257,7 +286,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/composite_slo_response" + "$ref": "#/components/schemas/slo_response" } } } @@ -305,11 +334,11 @@ } }, "put": { - "summary": "Updates a composite SLO", - "operationId": "updateCompositeSlo", + "summary": "Updates an SLO", + "operationId": "updateSloOp", "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ - "composite slo" + "slo" ], "parameters": [ { @@ -319,7 +348,7 @@ "$ref": "#/components/parameters/space_id" }, { - "$ref": "#/components/parameters/composite_slo_id" + "$ref": "#/components/parameters/slo_id" } ], "requestBody": { @@ -327,7 +356,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/update_composite_slo_request" + "$ref": "#/components/schemas/update_slo_request" } } } @@ -338,7 +367,7 @@ "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/base_composite_slo_response" + "$ref": "#/components/schemas/slo_response" } } } @@ -386,11 +415,11 @@ } }, "delete": { - "summary": "Deletes a composite SLO", - "operationId": "deleteCompositeSlo", + "summary": "Deletes an SLO", + "operationId": "deleteSloOp", "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ - "composite slo" + "slo" ], "parameters": [ { @@ -400,7 +429,7 @@ "$ref": "#/components/parameters/space_id" }, { - "$ref": "#/components/parameters/composite_slo_id" + "$ref": "#/components/parameters/slo_id" } ], "responses": { @@ -450,11 +479,11 @@ } } }, - "/s/{spaceId}/api/observability/slos": { + "/s/{spaceId}/api/observability/slos/{sloId}/enable": { "post": { - "summary": "Creates an SLO.", - "operationId": "createSlo", - "description": "You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", + "summary": "Enables an SLO", + "operationId": "enableSloOp", + "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ "slo" ], @@ -464,28 +493,14 @@ }, { "$ref": "#/components/parameters/space_id" + }, + { + "$ref": "#/components/parameters/slo_id" } ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/create_slo_request" - } - } - } - }, "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/create_slo_response" - } - } - } + "204": { + "description": "Successful request" }, "400": { "description": "Bad request", @@ -517,27 +532,24 @@ } } }, - "409": { - "description": "Conflict - The SLO id already exists", + "404": { + "description": "Not found response", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/409_response" + "$ref": "#/components/schemas/404_response" } } } } - }, - "servers": [ - { - "url": "https://localhost:5601" - } - ] - }, - "get": { - "summary": "Retrieves a paginated list of SLOs", - "operationId": "findSlos", - "description": "You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", + } + } + }, + "/s/{spaceId}/api/observability/slos/{sloId}/disable": { + "post": { + "summary": "Disables an SLO", + "operationId": "disableSloOp", + "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ "slo" ], @@ -549,87 +561,12 @@ "$ref": "#/components/parameters/space_id" }, { - "name": "name", - "in": "query", - "description": "Filter by name", - "schema": { - "type": "string" - }, - "example": "awesome-service" - }, - { - "name": "indicatorTypes", - "in": "query", - "description": "Filter by indicator type", - "schema": { - "type": "array", - "items": { - "type": "string" - } - }, - "example": [ - "sli.kql.custom" - ] - }, - { - "name": "page", - "in": "query", - "description": "The page number to return", - "schema": { - "type": "integer", - "default": 1 - }, - "example": 1 - }, - { - "name": "perPage", - "in": "query", - "description": "The number of SLOs to return per page", - "schema": { - "type": "integer", - "default": 25 - }, - "example": 20 - }, - { - "name": "sortBy", - "in": "query", - "description": "Sort by field", - "schema": { - "type": "string", - "enum": [ - "creationTime", - "indicatorType" - ], - "default": "creationTime" - }, - "example": "creationTime" - }, - { - "name": "sortDirection", - "in": "query", - "description": "Sort order", - "schema": { - "type": "string", - "enum": [ - "asc", - "desc" - ], - "default": "asc" - }, - "example": "asc" + "$ref": "#/components/parameters/slo_id" } ], "responses": { "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/find_slo_response" - } - } - } + "description": "Successful request" }, "400": { "description": "Bad request", @@ -674,10 +611,10 @@ } } }, - "/s/{spaceId}/api/observability/slos/{sloId}": { - "get": { - "summary": "Retrieves a SLO", - "operationId": "getSlo", + "/s/{spaceId}/internal/observability/slos/_historical_summary": { + "post": { + "summary": "Retrieves the historical summary for a list of SLOs", + "operationId": "historicalSummaryOp", "description": "You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", "tags": [ "slo" @@ -688,18 +625,25 @@ }, { "$ref": "#/components/parameters/space_id" - }, - { - "$ref": "#/components/parameters/slo_id" } ], + "requestBody": { + "required": true, + "content": { + "application/json": { + "schema": { + "$ref": "#/components/schemas/historical_summary_request" + } + } + } + }, "responses": { "200": { "description": "Successful request", "content": { "application/json": { "schema": { - "$ref": "#/components/schemas/slo_response" + "$ref": "#/components/schemas/historical_summary_response" } } } @@ -733,898 +677,62 @@ } } } - }, - "404": { - "description": "Not found response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/404_response" - } - } - } } } + } + } + }, + "components": { + "securitySchemes": { + "basicAuth": { + "type": "http", + "scheme": "basic" }, - "put": { - "summary": "Updates an SLO", - "operationId": "updateSlo", - "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", - "tags": [ - "slo" - ], - "parameters": [ - { - "$ref": "#/components/parameters/kbn_xsrf" - }, - { - "$ref": "#/components/parameters/space_id" - }, - { - "$ref": "#/components/parameters/slo_id" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/update_slo_request" - } - } - } - }, - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/slo_response" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/400_response" - } - } - } - }, - "401": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/401_response" - } - } - } - }, - "403": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/403_response" - } - } - } - }, - "404": { - "description": "Not found response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/404_response" - } - } - } - } - } - }, - "delete": { - "summary": "Deletes an SLO", - "operationId": "deleteSlo", - "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", - "tags": [ - "slo" - ], - "parameters": [ - { - "$ref": "#/components/parameters/kbn_xsrf" - }, - { - "$ref": "#/components/parameters/space_id" - }, - { - "$ref": "#/components/parameters/slo_id" - } - ], - "responses": { - "204": { - "description": "Successful request" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/400_response" - } - } - } - }, - "401": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/401_response" - } - } - } - }, - "403": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/403_response" - } - } - } - }, - "404": { - "description": "Not found response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/404_response" - } - } - } - } - } - } - }, - "/s/{spaceId}/api/observability/slos/{sloId}/enable": { - "post": { - "summary": "Enables an SLO", - "operationId": "enableSlo", - "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", - "tags": [ - "slo" - ], - "parameters": [ - { - "$ref": "#/components/parameters/kbn_xsrf" - }, - { - "$ref": "#/components/parameters/space_id" - }, - { - "$ref": "#/components/parameters/slo_id" - } - ], - "responses": { - "204": { - "description": "Successful request" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/400_response" - } - } - } - }, - "401": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/401_response" - } - } - } - }, - "403": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/403_response" - } - } - } - }, - "404": { - "description": "Not found response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/404_response" - } - } - } - } - } - } - }, - "/s/{spaceId}/api/observability/slos/{sloId}/disable": { - "post": { - "summary": "Disables an SLO", - "operationId": "disableSlo", - "description": "You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", - "tags": [ - "slo" - ], - "parameters": [ - { - "$ref": "#/components/parameters/kbn_xsrf" - }, - { - "$ref": "#/components/parameters/space_id" - }, - { - "$ref": "#/components/parameters/slo_id" - } - ], - "responses": { - "200": { - "description": "Successful request" - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/400_response" - } - } - } - }, - "401": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/401_response" - } - } - } - }, - "403": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/403_response" - } - } - } - }, - "404": { - "description": "Not found response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/404_response" - } - } - } - } - } - } - }, - "/s/{spaceId}/internal/observability/slos/_historical_summary": { - "post": { - "summary": "Retrieves the historical summary for a list of SLOs", - "operationId": "historicalSummary", - "description": "You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges.\n", - "tags": [ - "slo" - ], - "parameters": [ - { - "$ref": "#/components/parameters/kbn_xsrf" - }, - { - "$ref": "#/components/parameters/space_id" - } - ], - "requestBody": { - "required": true, - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/historical_summary_request" - } - } - } - }, - "responses": { - "200": { - "description": "Successful request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/historical_summary_response" - } - } - } - }, - "400": { - "description": "Bad request", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/400_response" - } - } - } - }, - "401": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/401_response" - } - } - } - }, - "403": { - "description": "Unauthorized response", - "content": { - "application/json": { - "schema": { - "$ref": "#/components/schemas/403_response" - } - } - } - } - } - } - } - }, - "components": { - "securitySchemes": { - "basicAuth": { - "type": "http", - "scheme": "basic" - }, - "apiKeyAuth": { - "type": "apiKey", - "in": "header", - "name": "ApiKey" - } - }, - "parameters": { - "kbn_xsrf": { - "schema": { - "type": "string" - }, - "in": "header", - "name": "kbn-xsrf", - "description": "Cross-site request forgery protection", - "required": true - }, - "space_id": { - "in": "path", - "name": "spaceId", - "description": "An identifier for the space. If `/s/` and the identifier are omitted from the path, the default space is used.", - "required": true, - "schema": { - "type": "string", - "example": "default" - } - }, - "composite_slo_id": { - "in": "path", - "name": "compositeSloId", - "description": "An identifier for the composite slo.", - "required": true, - "schema": { - "type": "string", - "example": "9c235211-6834-11ea-a78c-6feb38a34414" - } - }, - "slo_id": { - "in": "path", - "name": "sloId", - "description": "An identifier for the slo.", - "required": true, - "schema": { - "type": "string", - "example": "9c235211-6834-11ea-a78c-6feb38a34414" - } - } - }, - "schemas": { - "time_window_rolling": { - "title": "Rolling", - "required": [ - "duration", - "isRolling" - ], - "description": "Defines properties for rolling time window", - "type": "object", - "properties": { - "duration": { - "description": "the duration formatted as {duration}{unit}", - "type": "string", - "example": "28d" - }, - "isRolling": { - "description": "Indicates a rolling time window", - "type": "boolean", - "example": true - } - } - }, - "budgeting_method": { - "title": "Budgeting method", - "type": "string", - "description": "The budgeting method to use when computing the rollup data.", - "enum": [ - "occurrences", - "timeslices" - ], - "example": "occurrences" - }, - "composite_method": { - "title": "Composite method", - "type": "string", - "description": "The composite method to use for the composite SLO.", - "enum": [ - "weightedAverage" - ], - "example": "weightedAverage" - }, - "objective": { - "title": "Objective", - "required": [ - "target" - ], - "description": "Defines properties for the SLO objective", - "type": "object", - "properties": { - "target": { - "description": "the target objective between 0 and 1 excluded", - "type": "number", - "example": 0.99 - }, - "timeslicesTarget": { - "description": "the target objective for each slice when using a timeslices budgeting method", - "type": "number", - "example": 0.995 - }, - "timeslicesWindow": { - "description": "the duration of each slice when using a timeslices budgeting method, as {duraton}{unit}", - "type": "string", - "example": "5m" - } - } - }, - "weighted_composite_sources": { - "title": "Weighted sources", - "description": "An array of source SLO to use for the weighted average composite.", - "type": "array", - "items": { - "type": "object", - "required": [ - "id", - "revision", - "weight" - ], - "properties": { - "id": { - "description": "The id of the SLO.", - "type": "string", - "example": "8853df00-ae2e-11ed-90af-09bb6422b258" - }, - "revision": { - "description": "The revision number of the SLO.", - "type": "number", - "example": 2 - }, - "weight": { - "description": "The weight to apply to this SLO.", - "type": "number", - "example": 3 - } - } - } - }, - "error_budget": { - "title": "Error budget", - "type": "object", - "properties": { - "initial": { - "type": "number", - "description": "The initial error budget, as 1 - objective", - "example": 0.02 - }, - "consumed": { - "type": "number", - "description": "The error budget consummed, as a percentage of the initial value.", - "example": 0.8 - }, - "remaining": { - "type": "number", - "description": "The error budget remaining, as a percentage of the initial value.", - "example": 0.2 - }, - "isEstimated": { - "type": "boolean", - "description": "Only for SLO defined with occurrences budgeting method and calendar aligned time window.", - "example": true - } - } - }, - "summary": { - "title": "Summary", - "type": "object", - "description": "The SLO computed data", - "properties": { - "status": { - "type": "string", - "enum": [ - "NO_DATA", - "HEALTHY", - "DEGRADING", - "VIOLATED" - ], - "example": "HEALTHY" - }, - "sliValue": { - "type": "number", - "example": 0.9836 - }, - "errorBudget": { - "$ref": "#/components/schemas/error_budget" - } - } - }, - "composite_slo_response": { - "title": "Composite SLO with summary response", - "type": "object", - "properties": { - "id": { - "description": "The identifier of the composite SLO.", - "type": "string", - "example": "8853df00-ae2e-11ed-90af-09bb6422b258" - }, - "name": { - "description": "The name of the composite SLO.", - "type": "string", - "example": "My Service SLO" - }, - "timeWindow": { - "$ref": "#/components/schemas/time_window_rolling" - }, - "budgetingMethod": { - "$ref": "#/components/schemas/budgeting_method" - }, - "compositeMethod": { - "$ref": "#/components/schemas/composite_method" - }, - "objective": { - "$ref": "#/components/schemas/objective" - }, - "sources": { - "oneOf": [ - { - "$ref": "#/components/schemas/weighted_composite_sources" - } - ] - }, - "summary": { - "$ref": "#/components/schemas/summary" - }, - "createdAt": { - "description": "The creation date", - "type": "string", - "example": "2023-01-12T10:03:19.000Z" - }, - "updatedAt": { - "description": "The last update date", - "type": "string", - "example": "2023-01-12T10:03:19.000Z" - } - } - }, - "find_composite_slo_response": { - "title": "Find composite SLO response", - "description": "A paginated response of composite SLOs matching the query.", - "type": "object", - "properties": { - "page": { - "type": "number", - "example": 1 - }, - "perPage": { - "type": "number", - "example": 25 - }, - "total": { - "type": "number", - "example": 34 - }, - "results": { - "type": "array", - "items": { - "$ref": "#/components/schemas/composite_slo_response" - } - } - } - }, - "400_response": { - "title": "Bad request", - "type": "object", - "required": [ - "statusCode", - "error", - "message" - ], - "properties": { - "statusCode": { - "type": "number", - "example": 400 - }, - "error": { - "type": "string", - "example": "Bad Request" - }, - "message": { - "type": "string", - "example": "Invalid value 'foo' supplied to: [...]" - } - } - }, - "401_response": { - "title": "Unauthorized", - "type": "object", - "required": [ - "statusCode", - "error", - "message" - ], - "properties": { - "statusCode": { - "type": "number", - "example": 401 - }, - "error": { - "type": "string", - "example": "Unauthorized" - }, - "message": { - "type": "string", - "example": "[security_exception\n\tRoot causes:\n\t\tsecurity_exception: unable to authenticate user [elastics] for REST request [/_security/_authenticate]]: unable to authenticate user [elastics] for REST request [/_security/_authenticate]" - } - } - }, - "403_response": { - "title": "Unauthorized", - "type": "object", - "required": [ - "statusCode", - "error", - "message" - ], - "properties": { - "statusCode": { - "type": "number", - "example": 403 - }, - "error": { - "type": "string", - "example": "Unauthorized" - }, - "message": { - "type": "string", - "example": "[security_exception\n\tRoot causes:\n\t\tsecurity_exception: unable to authenticate user [elastics] for REST request [/_security/_authenticate]]: unable to authenticate user [elastics] for REST request [/_security/_authenticate]" - } - } - }, - "404_response": { - "title": "Not found", - "type": "object", - "required": [ - "statusCode", - "error", - "message" - ], - "properties": { - "statusCode": { - "type": "number", - "example": 404 - }, - "error": { - "type": "string", - "example": "Not Found" - }, - "message": { - "type": "string", - "example": "SLO [3749f390-03a3-11ee-8139-c7ff60a1692d] not found" - } - } - }, - "create_composite_slo_request": { - "title": "Create composite SLO request", - "description": "The create Composite SLO API request body. The provided source SLOs must exists and their budgeting method and time window must match the one from the composite SLO.\n", - "type": "object", - "required": [ - "name", - "timeWindow", - "budgetingMethod", - "compositeMethod", - "objective", - "sources" - ], - "properties": { - "id": { - "description": "A unique identifier for the composite SLO. Must be between 8 and 36 chars", - "type": "string", - "example": "my-super-composite-slo-id" - }, - "name": { - "description": "A name for the composite SLO.", - "type": "string" - }, - "timeWindow": { - "$ref": "#/components/schemas/time_window_rolling" - }, - "budgetingMethod": { - "$ref": "#/components/schemas/budgeting_method" - }, - "compositeMethod": { - "$ref": "#/components/schemas/composite_method" - }, - "objective": { - "$ref": "#/components/schemas/objective" - }, - "sources": { - "oneOf": [ - { - "$ref": "#/components/schemas/weighted_composite_sources" - } - ] - } - } - }, - "create_composite_slo_response": { - "title": "Create composite SLO response", - "type": "object", - "required": [ - "id" - ], - "properties": { - "id": { - "type": "string", - "example": "8853df00-ae2e-11ed-90af-09bb6422b258" - } - } - }, - "409_response": { - "title": "Conflict", - "type": "object", - "required": [ - "statusCode", - "error", - "message" - ], - "properties": { - "statusCode": { - "type": "number", - "example": 409 - }, - "error": { - "type": "string", - "example": "Conflict" - }, - "message": { - "type": "string", - "example": "SLO [d077e940-1515-11ee-9c50-9d096392f520] already exists" - } - } + "apiKeyAuth": { + "type": "apiKey", + "in": "header", + "name": "ApiKey" + } + }, + "parameters": { + "kbn_xsrf": { + "schema": { + "type": "string" + }, + "in": "header", + "name": "kbn-xsrf", + "description": "Cross-site request forgery protection", + "required": true }, - "update_composite_slo_request": { - "title": "Update composite SLO request", - "description": "The update composite SLO API request body. The provided source SLOs must exists and their budgeting method and time window must match the one from the composite SLO.\n", - "type": "object", - "properties": { - "id": { - "description": "A unique identifier for the composite SLO. Must be between 8 and 36 chars", - "type": "string", - "example": "my-super-composite-slo-id" - }, - "name": { - "description": "A name for the composite SLO.", - "type": "string" - }, - "timeWindow": { - "$ref": "#/components/schemas/time_window_rolling" - }, - "budgetingMethod": { - "$ref": "#/components/schemas/budgeting_method" - }, - "compositeMethod": { - "$ref": "#/components/schemas/composite_method" - }, - "objective": { - "$ref": "#/components/schemas/objective" - }, - "sources": { - "oneOf": [ - { - "$ref": "#/components/schemas/weighted_composite_sources" - } - ] - } + "space_id": { + "in": "path", + "name": "spaceId", + "description": "An identifier for the space. If `/s/` and the identifier are omitted from the path, the default space is used.", + "required": true, + "schema": { + "type": "string", + "example": "default" } }, - "base_composite_slo_response": { - "title": "Composite SLO response", - "type": "object", - "properties": { - "id": { - "description": "The identifier of the composite SLO.", - "type": "string", - "example": "8853df00-ae2e-11ed-90af-09bb6422b258" - }, - "name": { - "description": "The name of the composite SLO.", - "type": "string", - "example": "My Service SLO" - }, - "timeWindow": { - "$ref": "#/components/schemas/time_window_rolling" - }, - "budgetingMethod": { - "$ref": "#/components/schemas/budgeting_method" - }, - "compositeMethod": { - "$ref": "#/components/schemas/composite_method" - }, - "objective": { - "$ref": "#/components/schemas/objective" - }, - "sources": { - "oneOf": [ - { - "$ref": "#/components/schemas/weighted_composite_sources" - } - ] - }, - "createdAt": { - "description": "The creation date", - "type": "string", - "example": "2023-01-12T10:03:19.000Z" - }, - "updatedAt": { - "description": "The last update date", - "type": "string", - "example": "2023-01-12T10:03:19.000Z" - } + "slo_id": { + "in": "path", + "name": "sloId", + "description": "An identifier for the slo.", + "required": true, + "schema": { + "type": "string", + "example": "9c235211-6834-11ea-a78c-6feb38a34414" } - }, - "indicator_properties_custom_kql": { - "title": "Custom KQL", + } + }, + "schemas": { + "indicator_properties_apm_availability": { + "title": "APM availability", "required": [ "type", "params" ], - "description": "Defines properties for a custom KQL indicator type", + "description": "Defines properties for the APM availability indicator type", "type": "object", "properties": { "params": { @@ -1632,51 +740,59 @@ "type": "object", "nullable": false, "required": [ - "index", - "timestampField" + "service", + "environment", + "transactionType", + "transactionName", + "index" ], "properties": { - "index": { - "description": "The index or index pattern to use", + "service": { + "description": "The APM service name", "type": "string", - "example": "my-service-*" + "example": "o11y-app" }, - "filter": { - "description": "the KQL query to filter the documents with.", + "environment": { + "description": "The APM service environment or \"*\"", "type": "string", - "example": "field.environment : \"production\" and service.name : \"my-service\"" + "example": "production" }, - "good": { - "description": "the KQL query used to define the good events.", + "transactionType": { + "description": "The APM transaction type or \"*\"", "type": "string", - "example": "request.latency <= 150 and request.status_code : \"2xx\"" + "example": "request" }, - "total": { - "description": "the KQL query used to define all events.", + "transactionName": { + "description": "The APM transaction name or \"*\"", "type": "string", - "example": "" + "example": "GET /my/api" }, - "timestampField": { - "description": "The timestamp field used in the source indice.\n", + "filter": { + "description": "KQL query used for filtering the data", "type": "string", - "example": "timestamp" + "example": "service.foo : \"bar\"" + }, + "index": { + "description": "The index used by APM metrics", + "type": "string", + "example": "metrics-apm*,apm*" } } }, "type": { "description": "The type of indicator.", "type": "string", - "example": "sli.kql.custom" + "example": "sli.apm.transactionDuration" } } }, - "indicator_properties_apm_availability": { - "title": "APM availability", + "indicator_properties_custom_kql": { + "title": "Custom KQL", "required": [ "type", "params" ], - "description": "Defines properties for the APM availability indicator type", + "description": "Defines properties for a custom KQL indicator type", "type": "object", "properties": { "params": { @@ -1684,49 +800,41 @@ "type": "object", "nullable": false, "required": [ - "service", - "environment", - "transactionType", - "transactionName", - "index" + "index", + "timestampField" ], "properties": { - "service": { - "description": "The APM service name", - "type": "string", - "example": "o11y-app" - }, - "environment": { - "description": "The APM service environment or \"*\"", + "index": { + "description": "The index or index pattern to use", "type": "string", - "example": "production" + "example": "my-service-*" }, - "transactionType": { - "description": "The APM transaction type or \"*\"", + "filter": { + "description": "the KQL query to filter the documents with.", "type": "string", - "example": "request" + "example": "field.environment : \"production\" and service.name : \"my-service\"" }, - "transactionName": { - "description": "The APM transaction name or \"*\"", + "good": { + "description": "the KQL query used to define the good events.", "type": "string", - "example": "GET /my/api" + "example": "request.latency <= 150 and request.status_code : \"2xx\"" }, - "filter": { - "description": "KQL query used for filtering the data", + "total": { + "description": "the KQL query used to define all events.", "type": "string", - "example": "service.foo : \"bar\"" + "example": "" }, - "index": { - "description": "The index used by APM metrics", + "timestampField": { + "description": "The timestamp field used in the source indice.\n", "type": "string", - "example": "metrics-apm*,apm*" + "example": "timestamp" } } }, "type": { "description": "The type of indicator.", "type": "string", - "example": "sli.apm.transactionDuration" + "example": "sli.kql.custom" } } }, @@ -1868,6 +976,11 @@ "description": "The field of the metric.", "type": "string", "example": "processor.processed" + }, + "filter": { + "description": "The filter to apply to the metric.", + "type": "string", + "example": "processor.outcome: \"success\"" } } } @@ -1916,14 +1029,141 @@ "description": "The field of the metric.", "type": "string", "example": "processor.processed" + }, + "filter": { + "description": "The filter to apply to the metric.", + "type": "string", + "example": "processor.outcome: *" } } } }, - "equation": { - "description": "The equation to calculate the \"total\" metric.", + "equation": { + "description": "The equation to calculate the \"total\" metric.", + "type": "string", + "example": "A" + } + } + } + } + }, + "type": { + "description": "The type of indicator.", + "type": "string", + "example": "sli.metric.custom" + } + } + }, + "indicator_properties_histogram": { + "title": "Histogram indicator", + "required": [ + "type", + "params" + ], + "description": "Defines properties for a histogram indicator type", + "type": "object", + "properties": { + "params": { + "description": "An object containing the indicator parameters.", + "type": "object", + "nullable": false, + "required": [ + "index", + "timestampField", + "good", + "total" + ], + "properties": { + "index": { + "description": "The index or index pattern to use", + "type": "string", + "example": "my-service-*" + }, + "filter": { + "description": "the KQL query to filter the documents with.", + "type": "string", + "example": "field.environment : \"production\" and service.name : \"my-service\"" + }, + "timestampField": { + "description": "The timestamp field used in the source indice.\n", + "type": "string", + "example": "timestamp" + }, + "good": { + "description": "An object defining the \"good\" events\n", + "type": "object", + "required": [ + "aggregation", + "field" + ], + "properties": { + "field": { + "description": "The field use to aggregate the good events.", + "type": "string", + "example": "processor.latency" + }, + "aggregation": { + "description": "The type of aggregation to use.", "type": "string", - "example": "A" + "example": "value_count", + "enum": [ + "value_count", + "range" + ] + }, + "filter": { + "description": "The filter for good events.", + "type": "string", + "example": "processor.outcome: \"success\"" + }, + "from": { + "description": "The starting value of the range. Only required for \"range\" aggregations.", + "type": "number", + "example": 0 + }, + "to": { + "description": "The ending value of the range. Only required for \"range\" aggregations.", + "type": "number", + "example": 100 + } + } + }, + "total": { + "description": "An object defining the \"total\" events\n", + "type": "object", + "required": [ + "aggregation", + "field" + ], + "properties": { + "field": { + "description": "The field use to aggregate the good events.", + "type": "string", + "example": "processor.latency" + }, + "aggregation": { + "description": "The type of aggregation to use.", + "type": "string", + "example": "value_count", + "enum": [ + "value_count", + "range" + ] + }, + "filter": { + "description": "The filter for total events.", + "type": "string", + "example": "processor.outcome : *" + }, + "from": { + "description": "The starting value of the range. Only required for \"range\" aggregations.", + "type": "number", + "example": 0 + }, + "to": { + "description": "The ending value of the range. Only required for \"range\" aggregations.", + "type": "number", + "example": 100 } } } @@ -1932,28 +1172,67 @@ "type": { "description": "The type of indicator.", "type": "string", - "example": "sli.metric.custom" + "example": "sli.histogram.custom" } } }, - "time_window_calendar_aligned": { - "title": "Calendar aligned", + "time_window": { + "title": "Time window", "required": [ "duration", - "isCalendar" + "type" ], - "description": "Defines properties for calendar aligned time window", + "description": "Defines properties for the SLO time window", "type": "object", "properties": { "duration": { - "description": "the duration formatted as {duration}{unit}, accept '1w' (weekly calendar) or '1M' (monthly calendar) only", + "description": "the duration formatted as {duration}{unit}. Accepted values for rolling: 7d, 30d, 90d. Accepted values for calendar aligned: 1w (weekly) or 1M (monthly)", "type": "string", - "example": "1M" + "example": "30d" }, - "isCalendar": { - "description": "Indicates a calendar aligned time window", - "type": "boolean", - "example": true + "type": { + "description": "Indicates weither the time window is a rolling or a calendar aligned time window.", + "type": "string", + "example": "rolling", + "enum": [ + "rolling", + "calendarAligned" + ] + } + } + }, + "budgeting_method": { + "title": "Budgeting method", + "type": "string", + "description": "The budgeting method to use when computing the rollup data.", + "enum": [ + "occurrences", + "timeslices" + ], + "example": "occurrences" + }, + "objective": { + "title": "Objective", + "required": [ + "target" + ], + "description": "Defines properties for the SLO objective", + "type": "object", + "properties": { + "target": { + "description": "the target objective between 0 and 1 excluded", + "type": "number", + "example": 0.99 + }, + "timesliceTarget": { + "description": "the target objective for each slice when using a timeslices budgeting method", + "type": "number", + "example": 0.995 + }, + "timesliceWindow": { + "description": "the duration of each slice when using a timeslices budgeting method, as {duraton}{unit}", + "type": "string", + "example": "5m" } } }, @@ -1974,6 +1253,60 @@ } } }, + "summary_status": { + "title": "summary status", + "type": "string", + "enum": [ + "NO_DATA", + "HEALTHY", + "DEGRADING", + "VIOLATED" + ], + "example": "HEALTHY" + }, + "error_budget": { + "title": "Error budget", + "type": "object", + "properties": { + "initial": { + "type": "number", + "description": "The initial error budget, as 1 - objective", + "example": 0.02 + }, + "consumed": { + "type": "number", + "description": "The error budget consummed, as a percentage of the initial value.", + "example": 0.8 + }, + "remaining": { + "type": "number", + "description": "The error budget remaining, as a percentage of the initial value.", + "example": 0.2 + }, + "isEstimated": { + "type": "boolean", + "description": "Only for SLO defined with occurrences budgeting method and calendar aligned time window.", + "example": true + } + } + }, + "summary": { + "title": "Summary", + "type": "object", + "description": "The SLO computed data", + "properties": { + "status": { + "$ref": "#/components/schemas/summary_status" + }, + "sliValue": { + "type": "number", + "example": 0.9836 + }, + "errorBudget": { + "$ref": "#/components/schemas/error_budget" + } + } + }, "slo_response": { "title": "SLO response", "type": "object", @@ -1994,6 +1327,15 @@ "example": "My SLO description" }, "indicator": { + "discriminator": { + "propertyName": "type", + "mapping": { + "sli.apm.transactionErrorRate": "#/components/schemas/indicator_properties_apm_availability", + "sli.kql.custom": "#/components/schemas/indicator_properties_custom_kql", + "sli.apm.transactionDuration": "#/components/schemas/indicator_properties_apm_latency", + "sli.apm.sli.metric.custom": "#/components/schemas/indicator_properties_custom_metric" + } + }, "oneOf": [ { "$ref": "#/components/schemas/indicator_properties_custom_kql" @@ -2006,19 +1348,15 @@ }, { "$ref": "#/components/schemas/indicator_properties_custom_metric" - } - ] - }, - "timeWindow": { - "oneOf": [ - { - "$ref": "#/components/schemas/time_window_rolling" }, { - "$ref": "#/components/schemas/time_window_calendar_aligned" + "$ref": "#/components/schemas/indicator_properties_histogram" } ] }, + "timeWindow": { + "$ref": "#/components/schemas/time_window" + }, "budgetingMethod": { "$ref": "#/components/schemas/budgeting_method" }, @@ -2078,6 +1416,98 @@ } } }, + "400_response": { + "title": "Bad request", + "type": "object", + "required": [ + "statusCode", + "error", + "message" + ], + "properties": { + "statusCode": { + "type": "number", + "example": 400 + }, + "error": { + "type": "string", + "example": "Bad Request" + }, + "message": { + "type": "string", + "example": "Invalid value 'foo' supplied to: [...]" + } + } + }, + "401_response": { + "title": "Unauthorized", + "type": "object", + "required": [ + "statusCode", + "error", + "message" + ], + "properties": { + "statusCode": { + "type": "number", + "example": 401 + }, + "error": { + "type": "string", + "example": "Unauthorized" + }, + "message": { + "type": "string", + "example": "[security_exception\n\tRoot causes:\n\t\tsecurity_exception: unable to authenticate user [elastics] for REST request [/_security/_authenticate]]: unable to authenticate user [elastics] for REST request [/_security/_authenticate]" + } + } + }, + "403_response": { + "title": "Unauthorized", + "type": "object", + "required": [ + "statusCode", + "error", + "message" + ], + "properties": { + "statusCode": { + "type": "number", + "example": 403 + }, + "error": { + "type": "string", + "example": "Unauthorized" + }, + "message": { + "type": "string", + "example": "[security_exception\n\tRoot causes:\n\t\tsecurity_exception: unable to authenticate user [elastics] for REST request [/_security/_authenticate]]: unable to authenticate user [elastics] for REST request [/_security/_authenticate]" + } + } + }, + "404_response": { + "title": "Not found", + "type": "object", + "required": [ + "statusCode", + "error", + "message" + ], + "properties": { + "statusCode": { + "type": "number", + "example": 404 + }, + "error": { + "type": "string", + "example": "Not Found" + }, + "message": { + "type": "string", + "example": "SLO [3749f390-03a3-11ee-8139-c7ff60a1692d] not found" + } + } + }, "create_slo_request": { "title": "Create SLO request", "description": "The create SLO API request body varies depending on the type of indicator, time window and budgeting method.\n", @@ -2117,19 +1547,15 @@ }, { "$ref": "#/components/schemas/indicator_properties_custom_metric" - } - ] - }, - "timeWindow": { - "oneOf": [ - { - "$ref": "#/components/schemas/time_window_rolling" }, { - "$ref": "#/components/schemas/time_window_calendar_aligned" + "$ref": "#/components/schemas/indicator_properties_histogram" } ] }, + "timeWindow": { + "$ref": "#/components/schemas/time_window" + }, "budgetingMethod": { "$ref": "#/components/schemas/budgeting_method" }, @@ -2154,6 +1580,29 @@ } } }, + "409_response": { + "title": "Conflict", + "type": "object", + "required": [ + "statusCode", + "error", + "message" + ], + "properties": { + "statusCode": { + "type": "number", + "example": 409 + }, + "error": { + "type": "string", + "example": "Conflict" + }, + "message": { + "type": "string", + "example": "SLO [d077e940-1515-11ee-9c50-9d096392f520] already exists" + } + } + }, "update_slo_request": { "title": "Update SLO request", "description": "The update SLO API request body varies depending on the type of indicator, time window and budgeting method. Partial update is handled.\n", @@ -2180,19 +1629,15 @@ }, { "$ref": "#/components/schemas/indicator_properties_custom_metric" - } - ] - }, - "timeWindow": { - "oneOf": [ - { - "$ref": "#/components/schemas/time_window_rolling" }, { - "$ref": "#/components/schemas/time_window_calendar_aligned" + "$ref": "#/components/schemas/indicator_properties_histogram" } ] }, + "timeWindow": { + "$ref": "#/components/schemas/time_window" + }, "budgetingMethod": { "$ref": "#/components/schemas/budgeting_method" }, @@ -2234,14 +1679,7 @@ "example": "2022-01-01T00:00:00.000Z" }, "status": { - "type": "string", - "enum": [ - "NO_DATA", - "HEALTHY", - "DEGRADING", - "VIOLATED" - ], - "example": "HEALTHY" + "$ref": "#/components/schemas/summary_status" }, "sliValue": { "type": "number", diff --git a/x-pack/plugins/observability/docs/openapi/slo/bundled.yaml b/x-pack/plugins/observability/docs/openapi/slo/bundled.yaml index d1a2d233328c6..624c641aca5d3 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/bundled.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/bundled.yaml @@ -8,19 +8,22 @@ info: license: name: Elastic License 2.0 url: https://www.elastic.co/licensing/elastic-license +servers: + - url: http://localhost:5601 + description: local +security: + - basicAuth: [] + - apiKeyAuth: [] tags: - name: slo description: SLO APIs enable you to define, manage and track service-level objectives - name: composite slo description: Composite SLO APIs enable you to define, manage and track a group of SLOs. -servers: - - url: http://localhost:5601 - description: local paths: /s/{spaceId}/api/observability/slos: post: summary: Creates an SLO. - operationId: createSlo + operationId: createSloOp description: | You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. tags: @@ -69,7 +72,7 @@ paths: - url: https://localhost:5601 get: summary: Retrieves a paginated list of SLOs - operationId: findSlos + operationId: findSlosOp description: | You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. tags: @@ -160,7 +163,7 @@ paths: /s/{spaceId}/api/observability/slos/{sloId}: get: summary: Retrieves a SLO - operationId: getSlo + operationId: getSloOp description: | You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. tags: @@ -202,7 +205,7 @@ paths: $ref: '#/components/schemas/404_response' put: summary: Updates an SLO - operationId: updateSlo + operationId: updateSloOp description: | You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. tags: @@ -250,7 +253,7 @@ paths: $ref: '#/components/schemas/404_response' delete: summary: Deletes an SLO - operationId: deleteSlo + operationId: deleteSloOp description: | You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. tags: @@ -289,7 +292,7 @@ paths: /s/{spaceId}/api/observability/slos/{sloId}/enable: post: summary: Enables an SLO - operationId: enableSlo + operationId: enableSloOp description: | You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. tags: @@ -328,7 +331,7 @@ paths: /s/{spaceId}/api/observability/slos/{sloId}/disable: post: summary: Disables an SLO - operationId: disableSlo + operationId: disableSloOp description: | You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. tags: @@ -367,7 +370,7 @@ paths: /s/{spaceId}/internal/observability/slos/_historical_summary: post: summary: Retrieves the historical summary for a list of SLOs - operationId: historicalSummary + operationId: historicalSummaryOp description: | You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. tags: @@ -440,47 +443,6 @@ components: type: string example: 9c235211-6834-11ea-a78c-6feb38a34414 schemas: - indicator_properties_custom_kql: - title: Custom KQL - required: - - type - - params - description: Defines properties for a custom KQL indicator type - type: object - properties: - params: - description: An object containing the indicator parameters. - type: object - nullable: false - required: - - index - - timestampField - properties: - index: - description: The index or index pattern to use - type: string - example: my-service-* - filter: - description: the KQL query to filter the documents with. - type: string - example: 'field.environment : "production" and service.name : "my-service"' - good: - description: the KQL query used to define the good events. - type: string - example: 'request.latency <= 150 and request.status_code : "2xx"' - total: - description: the KQL query used to define all events. - type: string - example: '' - timestampField: - description: | - The timestamp field used in the source indice. - type: string - example: timestamp - type: - description: The type of indicator. - type: string - example: sli.kql.custom indicator_properties_apm_availability: title: APM availability required: @@ -528,6 +490,47 @@ components: description: The type of indicator. type: string example: sli.apm.transactionDuration + indicator_properties_custom_kql: + title: Custom KQL + required: + - type + - params + description: Defines properties for a custom KQL indicator type + type: object + properties: + params: + description: An object containing the indicator parameters. + type: object + nullable: false + required: + - index + - timestampField + properties: + index: + description: The index or index pattern to use + type: string + example: my-service-* + filter: + description: the KQL query to filter the documents with. + type: string + example: 'field.environment : "production" and service.name : "my-service"' + good: + description: the KQL query used to define the good events. + type: string + example: 'request.latency <= 150 and request.status_code : "2xx"' + total: + description: the KQL query used to define all events. + type: string + example: '' + timestampField: + description: | + The timestamp field used in the source indice. + type: string + example: timestamp + type: + description: The type of indicator. + type: string + example: sli.kql.custom indicator_properties_apm_latency: title: APM latency required: @@ -853,6 +856,15 @@ components: description: Configure how often the transform runs, default 1m type: string example: 5m + summary_status: + title: summary status + type: string + enum: + - NO_DATA + - HEALTHY + - DEGRADING + - VIOLATED + example: HEALTHY error_budget: title: Error budget type: object @@ -879,13 +891,7 @@ components: description: The SLO computed data properties: status: - type: string - enum: - - NO_DATA - - HEALTHY - - DEGRADING - - VIOLATED - example: HEALTHY + $ref: '#/components/schemas/summary_status' sliValue: type: number example: 0.9836 @@ -908,6 +914,13 @@ components: type: string example: My SLO description indicator: + discriminator: + propertyName: type + mapping: + sli.apm.transactionErrorRate: '#/components/schemas/indicator_properties_apm_availability' + sli.kql.custom: '#/components/schemas/indicator_properties_custom_kql' + sli.apm.transactionDuration: '#/components/schemas/indicator_properties_apm_latency' + sli.apm.sli.metric.custom: '#/components/schemas/indicator_properties_custom_metric' oneOf: - $ref: '#/components/schemas/indicator_properties_custom_kql' - $ref: '#/components/schemas/indicator_properties_apm_availability' @@ -1142,18 +1155,9 @@ components: type: string example: '2022-01-01T00:00:00.000Z' status: - type: string - enum: - - NO_DATA - - HEALTHY - - DEGRADING - - VIOLATED - example: HEALTHY + $ref: '#/components/schemas/summary_status' sliValue: type: number example: 0.9836 errorBudget: $ref: '#/components/schemas/error_budget' -security: - - basicAuth: [] - - apiKeyAuth: [] diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/base_composite_slo_response.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/base_composite_slo_response.yaml index 8fce7e38f46de..07dd47d1707fd 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/base_composite_slo_response.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/base_composite_slo_response.yaml @@ -18,8 +18,7 @@ properties: objective: $ref: "objective.yaml" sources: - oneOf: - - $ref: "weighted_composite_sources.yaml" + - $ref: "weighted_composite_sources.yaml" createdAt: description: The creation date type: string diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/composite_slo_response.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/composite_slo_response.yaml index e4c66379ef554..00a9c3426756e 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/composite_slo_response.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/composite_slo_response.yaml @@ -18,8 +18,7 @@ properties: objective: $ref: "objective.yaml" sources: - oneOf: - - $ref: "weighted_composite_sources.yaml" + - $ref: "weighted_composite_sources.yaml" summary: $ref: "summary.yaml" createdAt: diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/create_composite_slo_request.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/create_composite_slo_request.yaml index 46a801c75bba2..97536626c1287 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/create_composite_slo_request.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/create_composite_slo_request.yaml @@ -26,5 +26,4 @@ properties: objective: $ref: "objective.yaml" sources: - oneOf: - - $ref: "weighted_composite_sources.yaml" + - $ref: "weighted_composite_sources.yaml" diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/historical_summary_response.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/historical_summary_response.yaml index 923d6acbeaa93..9824b8cb9efe1 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/historical_summary_response.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/historical_summary_response.yaml @@ -9,13 +9,7 @@ additionalProperties: type: string example: "2022-01-01T00:00:00.000Z" status: - type: string - enum: - - NO_DATA - - HEALTHY - - DEGRADING - - VIOLATED - example: "HEALTHY" + $ref: './summary_status.yaml' sliValue: type: number example: 0.9836 diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/slo_response.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/slo_response.yaml index 112191e55654b..c8a4788c8a3de 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/slo_response.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/slo_response.yaml @@ -14,6 +14,14 @@ properties: type: string example: My SLO description indicator: + discriminator: + propertyName: type + mapping: + sli.apm.transactionErrorRate: './indicator_properties_apm_availability.yaml' + sli.kql.custom: './indicator_properties_custom_kql.yaml' + sli.apm.transactionDuration: './indicator_properties_apm_latency.yaml' + sli.metric.custom: 'indicator_properties_custom_metric.yaml' + sli.histogram.custom: 'indicator_properties_histogram.yaml' oneOf: - $ref: "indicator_properties_custom_kql.yaml" - $ref: "indicator_properties_apm_availability.yaml" diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/summary.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/summary.yaml index bc8c14e5e8bb1..a7b1be7d053b1 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/summary.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/summary.yaml @@ -3,13 +3,7 @@ type: object description: The SLO computed data properties: status: - type: string - enum: - - NO_DATA - - HEALTHY - - DEGRADING - - VIOLATED - example: "HEALTHY" + $ref: './summary_status.yaml' sliValue: type: number example: 0.9836 diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/summary_status.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/summary_status.yaml new file mode 100644 index 0000000000000..1dc19a83fe430 --- /dev/null +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/summary_status.yaml @@ -0,0 +1,8 @@ +title: summary status +type: string +enum: + - NO_DATA + - HEALTHY + - DEGRADING + - VIOLATED +example: HEALTHY \ No newline at end of file diff --git a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/update_composite_slo_request.yaml b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/update_composite_slo_request.yaml index 6368b62badf6e..c93578f4404c0 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/components/schemas/update_composite_slo_request.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/components/schemas/update_composite_slo_request.yaml @@ -19,5 +19,4 @@ properties: objective: $ref: "objective.yaml" sources: - oneOf: - - $ref: "weighted_composite_sources.yaml" + - $ref: "weighted_composite_sources.yaml" diff --git a/x-pack/plugins/observability/docs/openapi/slo/makefile b/x-pack/plugins/observability/docs/openapi/slo/makefile new file mode 100644 index 0000000000000..60599ba378c57 --- /dev/null +++ b/x-pack/plugins/observability/docs/openapi/slo/makefile @@ -0,0 +1,20 @@ +.DEFAULT_GOAL := help + +.PHONY: validate +validate: ## validate tree + @npx swagger-cli validate entrypoint.yaml + +.PHONY: bundle +bundle: validate ## generate bundled.yaml and bundled.json + @npx @redocly/cli bundle entrypoint.yaml --output bundled.yaml --ext yaml + @npx @redocly/cli bundle entrypoint.yaml --output bundled.json --ext json + @$(MAKE) lint + +.PHONY: lint +lint: ## lint bundled.json + @npx @redocly/cli lint bundled.json + +.PHONY: help +help: ## you're looking at it + @awk 'BEGIN {FS = ":.*##"; printf "Usage: make \033[36m\033[0m\n\nTargets:\n"} /^[a-zA-Z_-]+:.*?##/ { printf " \033[36m%-10s\033[0m\t%s\n", $$1, $$2 }' $(MAKEFILE_LIST) | column -s$$'\t' -t + diff --git a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@composite_slos.yaml b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@composite_slos.yaml index d77431452136a..94230cde86002 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@composite_slos.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@composite_slos.yaml @@ -1,6 +1,6 @@ post: summary: Creates a Composite SLO - operationId: createCompositeSlo + operationId: createCompositeSloOp description: > You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -49,7 +49,7 @@ post: get: summary: Retrieves a paginated list of composite SLOs with summary - operationId: findCompositeSlo + operationId: findCompositeSloOp description: > You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. diff --git a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@composite_slos@{compositesloid}.yaml b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@composite_slos@{compositesloid}.yaml index bca3976b80fcd..826ed87a27cd8 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@composite_slos@{compositesloid}.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@composite_slos@{compositesloid}.yaml @@ -1,6 +1,6 @@ get: summary: Retrieves a composite SLO - operationId: getCompositeSlo + operationId: getCompositeSloOp description: > You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -44,7 +44,7 @@ get: put: summary: Updates a composite SLO - operationId: updateCompositeSlo + operationId: updateCompositeSloOp description: > You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -94,7 +94,7 @@ put: delete: summary: Deletes a composite SLO - operationId: deleteCompositeSlo + operationId: deleteCompositeSloOp description: > You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. diff --git a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos.yaml b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos.yaml index 68c0c602448dc..36ac4cb27e3b7 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos.yaml @@ -1,6 +1,6 @@ post: summary: Creates an SLO. - operationId: createSlo + operationId: createSloOp description: > You must have `all` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -51,7 +51,7 @@ post: get: summary: Retrieves a paginated list of SLOs - operationId: findSlos + operationId: findSlosOp description: > You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. diff --git a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@_historical_summary.yaml b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@_historical_summary.yaml index 6ce99505894cf..a1394e1f28379 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@_historical_summary.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@_historical_summary.yaml @@ -1,6 +1,6 @@ post: summary: Retrieves the historical summary for a list of SLOs - operationId: historicalSummary + operationId: historicalSummaryOp description: > You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. diff --git a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}.yaml b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}.yaml index 66a5ddd7825a8..d081ba31b83f2 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}.yaml @@ -1,6 +1,6 @@ get: summary: Retrieves a SLO - operationId: getSlo + operationId: getSloOp description: > You must have the `read` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -44,7 +44,7 @@ get: put: summary: Updates an SLO - operationId: updateSlo + operationId: updateSloOp description: > You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. @@ -94,7 +94,7 @@ put: delete: summary: Deletes an SLO - operationId: deleteSlo + operationId: deleteSloOp description: > You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. diff --git a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@{disable}.yaml b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@{disable}.yaml index 4932e9cf78c36..2e756641b428c 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@{disable}.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@{disable}.yaml @@ -1,6 +1,6 @@ post: summary: Disables an SLO - operationId: disableSlo + operationId: disableSloOp description: > You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. diff --git a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@{enable}.yaml b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@{enable}.yaml index 4ddda2bc94b60..2ff3b9de58388 100644 --- a/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@{enable}.yaml +++ b/x-pack/plugins/observability/docs/openapi/slo/paths/s@{spaceid}@api@slos@{sloid}@{enable}.yaml @@ -1,6 +1,6 @@ post: summary: Enables an SLO - operationId: enableSlo + operationId: enableSloOp description: > You must have the `write` privileges for the **SLOs** feature in the **Observability** section of the Kibana feature privileges. diff --git a/x-pack/plugins/observability/public/pages/slo_edit/components/histogram/histogram_indicator.tsx b/x-pack/plugins/observability/public/pages/slo_edit/components/histogram/histogram_indicator.tsx index fd242dafde115..e966d0f3fb221 100644 --- a/x-pack/plugins/observability/public/pages/slo_edit/components/histogram/histogram_indicator.tsx +++ b/x-pack/plugins/observability/public/pages/slo_edit/components/histogram/histogram_indicator.tsx @@ -216,6 +216,7 @@ export function HistogramIndicator({ type, indexFields, isLoadingIndex }: Histog defaultValue={NaN} control={control} rules={{ required: true }} + shouldUnregister render={({ field: { ref, ...field }, fieldState }) => ( ( createOrUpdateIndex({ index, - mappings, client: esClient, logger, + mappings, }); function ensureGoldLicense any>(fn: T): T { diff --git a/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.test.ts b/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.test.ts index de2adc988a1ac..82d2e41b2c809 100644 --- a/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.test.ts +++ b/x-pack/plugins/observability/server/lib/rules/threshold/threshold_executor.test.ts @@ -1932,10 +1932,12 @@ services.alertFactory.create.mockImplementation((instanceID: string) => { alertInstance.state = newState; return alertInstance.instance; }); - alertInstance.instance.scheduleActions.mockImplementation((id: string, action: any) => { - alertInstance.actionQueue.push({ id, action }); - return alertInstance.instance; - }); + (alertInstance.instance.scheduleActions as jest.Mock).mockImplementation( + (id: string, action: any) => { + alertInstance.actionQueue.push({ id, action }); + return alertInstance.instance; + } + ); return alertInstance.instance; }); diff --git a/x-pack/plugins/observability/server/utils/create_or_update_index.ts b/x-pack/plugins/observability/server/utils/create_or_update_index.ts index eaea86c18b19f..1a158594a0ed2 100644 --- a/x-pack/plugins/observability/server/utils/create_or_update_index.ts +++ b/x-pack/plugins/observability/server/utils/create_or_update_index.ts @@ -7,18 +7,23 @@ import type * as estypes from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; import pRetry from 'p-retry'; import { Logger, ElasticsearchClient } from '@kbn/core/server'; +import { merge } from 'lodash'; export type Mappings = Required['body']['mappings'] & Required['body']; +type IndexSettings = Required['body']['settings']; + export async function createOrUpdateIndex({ index, mappings, + settings, client, logger, }: { index: string; mappings: Mappings; + settings?: IndexSettings; client: ElasticsearchClient; logger: Logger; }) { @@ -44,6 +49,7 @@ export async function createOrUpdateIndex({ index, client, mappings, + settings, }); if (!result.acknowledged) { @@ -64,26 +70,28 @@ export async function createOrUpdateIndex({ } } -function createNewIndex({ +async function createNewIndex({ index, client, mappings, + settings, }: { index: string; client: ElasticsearchClient; mappings: Required['body']['mappings']; + settings: Required['body']['settings']; }) { - return client.indices.create({ + return await client.indices.create({ index, body: { // auto_expand_replicas: Allows cluster to not have replicas for this index - settings: { index: { auto_expand_replicas: '0-1' } }, + settings: merge({ index: { auto_expand_replicas: '0-1' } }, settings), mappings, }, }); } -function updateExistingIndex({ +async function updateExistingIndex({ index, client, mappings, @@ -92,7 +100,7 @@ function updateExistingIndex({ client: ElasticsearchClient; mappings: estypes.IndicesPutMappingRequest['body']; }) { - return client.indices.putMapping({ + return await client.indices.putMapping({ index, body: mappings, }); diff --git a/x-pack/plugins/observability_onboarding/public/application/app.tsx b/x-pack/plugins/observability_onboarding/public/application/app.tsx index af96fa1a25a4b..d04408545b30a 100644 --- a/x-pack/plugins/observability_onboarding/public/application/app.tsx +++ b/x-pack/plugins/observability_onboarding/public/application/app.tsx @@ -25,12 +25,14 @@ import { euiDarkVars, euiLightVars } from '@kbn/ui-theme'; import React from 'react'; import ReactDOM from 'react-dom'; import { RouteComponentProps, RouteProps } from 'react-router-dom'; +import { customLogsRoutes } from '../components/app/custom_logs/wizard'; import { ObservabilityOnboardingHeaderActionMenu } from '../components/app/header_action_menu'; import { ObservabilityOnboardingPluginSetupDeps, ObservabilityOnboardingPluginStartDeps, } from '../plugin'; -import { routes } from '../routes'; +import { baseRoutes, routes } from '../routes'; +import { CustomLogs } from '../routes/templates/custom_logs'; export type BreadcrumbTitle< T extends { [K in keyof T]?: string | undefined } = {} @@ -55,19 +57,42 @@ export const breadcrumbsApp = { }; function App() { + const customLogRoutesPaths = Object.keys(customLogsRoutes); + return ( <> - {Object.keys(routes).map((key) => { + {Object.keys(baseRoutes).map((key) => { const path = key as keyof typeof routes; const { handler, exact } = routes[path]; const Wrapper = () => { return handler(); }; + return ( ); })} + + + {customLogRoutesPaths.map((key) => { + const path = key as keyof typeof routes; + const { handler, exact } = routes[path]; + const Wrapper = () => { + return handler(); + }; + + return ( + + ); + })} + + ); diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/back_button.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/back_button.tsx new file mode 100644 index 0000000000000..e4c7172d8475f --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/back_button.tsx @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiButton } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; +import { useHistory } from 'react-router-dom'; +import { useWizard } from '.'; + +export function BackButton({ onBack }: { onBack: () => void }) { + const { getPath } = useWizard(); + const history = useHistory(); + + return ( + + {i18n.translate('xpack.observability_onboarding.steps.back', { + defaultMessage: 'Back', + })} + + ); +} diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx index ea78c4cf4acb4..4d8158eb4a8c8 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/configure_logs.tsx @@ -33,6 +33,7 @@ import { StepPanelContent, StepPanelFooter, } from '../../../shared/step_panel'; +import { BackButton } from './back_button'; import { getFilename, replaceSpecialChars } from './get_filename'; export function ConfigureLogs() { @@ -51,10 +52,6 @@ export function ConfigureLogs() { const logFilePathNotConfigured = logFilePaths.every((filepath) => !filepath); - function onBack() { - goBack(); - } - function onContinue() { setState((state) => ({ ...state, @@ -100,11 +97,7 @@ export function ConfigureLogs() { panelFooter={ - {i18n.translate('xpack.observability_onboarding.steps.back', { - defaultMessage: 'Back', - })} - , + , > = { + selectLogs: SelectLogs, + configureLogs: ConfigureLogs, + installElasticAgent: InstallElasticAgent, + inspect: Inspect, +}; + +const { + Provider, + useWizard, + routes: customLogsRoutes, +} = createWizardContext({ initialState, initialStep: 'selectLogs', - steps: { - selectLogs: SelectLogs, - configureLogs: ConfigureLogs, - installElasticAgent: InstallElasticAgent, - inspect: Inspect, - }, + steps, + basePath: '/customLogs', }); -export { Provider, Step, useWizard }; +export { Provider, useWizard, customLogsRoutes }; diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/inspect.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/inspect.tsx index 72f05c65c7564..2a9074e6976e1 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/inspect.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/inspect.tsx @@ -6,28 +6,21 @@ */ import React from 'react'; -import { EuiButton, EuiTitle, EuiSpacer } from '@elastic/eui'; +import { EuiTitle, EuiSpacer } from '@elastic/eui'; import { StepPanel, StepPanelContent, StepPanelFooter, } from '../../../shared/step_panel'; import { useWizard } from '.'; +import { BackButton } from './back_button'; export function Inspect() { const { goBack, getState, getPath, getUsage } = useWizard(); return ( - Back - , - ]} - /> - } + panelFooter={]} />} > diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx index 8bfff0f57c4f4..5c4ba0cbf3049 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/wizard/install_elastic_agent.tsx @@ -35,11 +35,12 @@ import { StepPanelFooter, } from '../../../shared/step_panel'; import { ApiKeyBanner } from './api_key_banner'; +import { BackButton } from './back_button'; type ElasticAgentPlatform = 'linux-tar' | 'macos' | 'windows'; export function InstallElasticAgent() { const { navigateToKibanaUrl } = useKibanaNavigation(); - const { goBack, goToStep, getState, setState, CurrentStep } = useWizard(); + const { goBack, goToStep, getState, setState } = useWizard(); const wizardState = getState(); const [elasticAgentPlatform, setElasticAgentPlatform] = useState('linux-tar'); @@ -51,10 +52,6 @@ export function InstallElasticAgent() { navigateToKibanaUrl('/app/logs/stream'); } - function onBack() { - goBack(); - } - function onAutoDownloadConfig() { setState((state) => ({ ...state, @@ -64,10 +61,7 @@ export function InstallElasticAgent() { const { data: monitoringRole, status: monitoringRoleStatus } = useFetcher( (callApi) => { - if ( - CurrentStep === InstallElasticAgent && - !hasAlreadySavedFlow(getState()) - ) { + if (!hasAlreadySavedFlow(getState())) { return callApi( 'GET /internal/observability_onboarding/custom_logs/privileges' ); @@ -77,11 +71,9 @@ export function InstallElasticAgent() { ); const { data: setup } = useFetcher((callApi) => { - if (CurrentStep === InstallElasticAgent) { - return callApi( - 'GET /internal/observability_onboarding/custom_logs/install_shipper_setup' - ); - } + return callApi( + 'GET /internal/observability_onboarding/custom_logs/install_shipper_setup' + ); }, []); const { @@ -97,11 +89,7 @@ export function InstallElasticAgent() { customConfigurations, logFilePaths, } = getState(); - if ( - CurrentStep === InstallElasticAgent && - !hasAlreadySavedFlow(getState()) && - monitoringRole?.hasPrivileges - ) { + if (!hasAlreadySavedFlow(getState()) && monitoringRole?.hasPrivileges) { return callApi( 'POST /internal/observability_onboarding/custom_logs/save', { @@ -133,7 +121,7 @@ export function InstallElasticAgent() { customConfigurations, logFilePaths, } = getState(); - if (CurrentStep === InstallElasticAgent && onboardingId) { + if (onboardingId) { return callApi( 'PUT /internal/observability_onboarding/custom_logs/{onboardingId}/save', { @@ -158,11 +146,7 @@ export function InstallElasticAgent() { const { data: yamlConfig = '', status: yamlConfigStatus } = useFetcher( (callApi) => { - if ( - CurrentStep === InstallElasticAgent && - apiKeyEncoded && - onboardingId - ) { + if (apiKeyEncoded && onboardingId) { return callApi( 'GET /internal/observability_onboarding/elastic_agent/config', { @@ -190,7 +174,7 @@ export function InstallElasticAgent() { refetch: refetchProgress, } = useFetcher( (callApi) => { - if (CurrentStep === InstallElasticAgent && onboardingId) { + if (onboardingId) { return callApi( 'GET /internal/observability_onboarding/custom_logs/{onboardingId}/progress', { params: { path: { onboardingId } } } @@ -208,8 +192,7 @@ export function InstallElasticAgent() { refetchProgress(); }, 2000); } - // eslint-disable-next-line react-hooks/exhaustive-deps - }, [progressSucceded]); + }, [progressSucceded, refetchProgress]); const getStep = useCallback( ({ id, incompleteTitle, loadingTitle, completedTitle }) => { @@ -270,11 +253,7 @@ export function InstallElasticAgent() { panelFooter={ - {i18n.translate('xpack.observability_onboarding.steps.back', { - defaultMessage: 'Back', - })} - , + , diff --git a/x-pack/plugins/observability_onboarding/public/components/app/home/index.tsx b/x-pack/plugins/observability_onboarding/public/components/app/home/index.tsx index da2441a1d8b7a..0a577419f9883 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/home/index.tsx +++ b/x-pack/plugins/observability_onboarding/public/components/app/home/index.tsx @@ -6,24 +6,53 @@ */ import { + EuiBadge, + EuiButton, + EuiCard, EuiFlexGroup, EuiFlexItem, + EuiHorizontalRule, + EuiIcon, + EuiLink, EuiSpacer, - EuiTitle, EuiText, - EuiCard, - EuiHorizontalRule, - EuiButtonEmpty, - EuiBadge, + EuiTitle, + useEuiTheme, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { useBreadcrumbs } from '@kbn/observability-shared-plugin/public'; import React from 'react'; -import { useKibanaNavigation } from '../../../hooks/use_kibana_navigation'; +import styled from '@emotion/styled'; import { breadcrumbsApp } from '../../../application/app'; +import { useKibanaNavigation } from '../../../hooks/use_kibana_navigation'; +import apacheIcon from '../../../icons/apache.svg'; +import apmIcon from '../../../icons/apm.svg'; +import awsIcon from '../../../icons/aws.svg'; +import azureIcon from '../../../icons/azure.svg'; +import gcpIcon from '../../../icons/gcp.svg'; +import kinesisIcon from '../../../icons/kinesis.svg'; +import kubernetesIcon from '../../../icons/kubernetes.svg'; +import loggingIcon from '../../../icons/logging.svg'; +import nginxIcon from '../../../icons/nginx.svg'; +import opentelemetryIcon from '../../../icons/opentelemetry.svg'; +import systemIcon from '../../../icons/system.svg'; + +const StyledItem = styled(EuiFlexItem)` + flex-direction: row; + &:before { + content: '•'; + width: 5px; + height: 5px; + margin: 0 20px 0 16px; + } + > a { + min-width: 100%; + } +`; export function Home() { useBreadcrumbs([], breadcrumbsApp); + const { euiTheme } = useEuiTheme(); const { navigateToKibanaUrl } = useKibanaNavigation(); @@ -43,8 +72,8 @@ export function Home() { const handleClickSampleData = () => { navigateToKibanaUrl('/app/home#/tutorial_directory/sampleData'); }; - const handleClickSkip = () => { - navigateToKibanaUrl('/app/observability/overview'); + const handleClickUploadFile = () => { + navigateToKibanaUrl('/app/home#/tutorial_directory/fileDataViz'); }; return ( @@ -68,7 +97,7 @@ export function Home() {

{i18n.translate('xpack.observability_onboarding.home.description', { defaultMessage: - 'Monitor and gain insights across your cloud-native and distributed systems on a single platform.', + 'Select your method for collecting data into Observability.', })}

@@ -78,129 +107,85 @@ export function Home() { - {i18n.translate( - 'xpack.observability_onboarding.card.systemLogs.quickstartBadge', - { - defaultMessage: 'Quickstart', - } - )} - - } + icon={} + betaBadgeProps={{ + 'data-test-subj': 'obltOnboardingHomeQuickstartBadge', + color: 'accent', + label: i18n.translate( + 'xpack.observability_onboarding.card.systemLogs.quickstartBadge', + { defaultMessage: 'Quickstart' } + ), + }} title={i18n.translate( 'xpack.observability_onboarding.card.systemLogs.title', - { defaultMessage: 'Collect system logs' } + { defaultMessage: 'Stream host system logs' } )} - selectable={{ - onClick: handleClickSystemLogs, - color: 'primary', - fill: true, - fullWidth: false, - style: { margin: 'auto' }, + footer={ + + {getStartedLabel} + + } + style={{ + borderColor: euiTheme.colors.accent, + borderWidth: '2px', }} - paddingSize="xl" + paddingSize="l" + display="plain" + hasBorder > - + + {elasticAgentLabel} +

{i18n.translate( 'xpack.observability_onboarding.card.systemLogs.description1', { defaultMessage: - 'The quickest path to onboard log data and start analysing it straight away.', - } - )} -

-

- {i18n.translate( - 'xpack.observability_onboarding.card.systemLogs.description2', - { - defaultMessage: - 'Monitor servers, personal computers and more by collecting logs from your machine.', + 'The quickest path to onboard log data from your own machine or server.', } )}

+
- {i18n.translate( - 'xpack.observability_onboarding.card.customLogs.fewMinutesBadge', - { defaultMessage: 'In a few minutes' } - )} - - } + icon={} title={i18n.translate( 'xpack.observability_onboarding.card.customLogs.title', - { defaultMessage: 'Collect custom logs' } + { defaultMessage: 'Stream log files' } )} - selectable={{ - onClick: handleClickCustomLogs, - color: 'primary', - fill: true, - fullWidth: false, - style: { margin: 'auto' }, - }} - paddingSize="xl" + footer={ + + {getStartedLabel} + + } + paddingSize="l" + display="plain" + hasBorder > - + + {elasticAgentLabel} +

{i18n.translate( 'xpack.observability_onboarding.card.customLogs.description.text', { defaultMessage: - 'Choose what logs to collect, configure an ingest pipeline, and explore your data.', + 'Stream any logs into Elastic in a simple way and explore their data.', } )}

-
    -
  • - {i18n.translate( - 'xpack.observability_onboarding.card.customLogs.description.example.streamlogs', - { defaultMessage: 'Stream custom logs' } - )} -
  • -
  • - {i18n.translate( - 'xpack.observability_onboarding.card.customLogs.description.example.networkStream', - { - defaultMessage: 'Collect network streaming logs', - } - )} -
  • -
  • - {i18n.translate( - 'xpack.observability_onboarding.card.customLogs.description.example.uploadLogFile', - { defaultMessage: 'Upload log files' } - )} -
  • -
  • - {i18n.translate( - 'xpack.observability_onboarding.card.customLogs.description.example.andMore', - { defaultMessage: '... and more' } - )} -
  • -
+
@@ -209,98 +194,156 @@ export function Home() { + + + + } title={i18n.translate( 'xpack.observability_onboarding.card.apm.title', { - defaultMessage: - 'Monitor my application performance (APM / tracing)', + defaultMessage: 'Collect application performance data', } )} - titleSize="xs" - paddingSize="xl" - onClick={handleClickApmSetupGuide} - /> -
- - - -
-
- - - - - - - + {getStartedLabel} + + } + paddingSize="m" titleSize="xs" - paddingSize="xl" - onClick={handleClickIntegrations} + display="plain" + hasBorder + onClick={handleClickApmSetupGuide} /> } title={i18n.translate( - 'xpack.observability_onboarding.card.sampleData.title', + 'xpack.observability_onboarding.card.k8s.title', + { defaultMessage: 'Collect Kubernetes clusters data' } + )} + description={i18n.translate( + 'xpack.observability_onboarding.card.k8s.description', { defaultMessage: - 'Explore data, visualizations, and dashboards samples', + 'Collect logs and metrics from Kubernetes clusters with Elastic agent.', } )} + footer={ + + {getStartedLabel} + + } titleSize="xs" - paddingSize="xl" - onClick={handleClickSampleData} + paddingSize="m" + display="plain" + hasBorder /> - - - - - {i18n.translate('xpack.observability_onboarding.skipLinkLabel', { - defaultMessage: 'Skip for now', - })} - + + + + + + + +
+ } + title={i18n.translate( + 'xpack.observability_onboarding.card.integrations.title', + { + defaultMessage: + 'Explore 300+ ways of ingesting data with our integrations', + } + )} + footer={ + <> + + {i18n.translate( + 'xpack.observability_onboarding.card.integrations.start', + { defaultMessage: 'Start exploring' } + )} + + + + + {i18n.translate( + 'xpack.observability_onboarding.card.integrations.quickLinks', + { defaultMessage: 'Quick links:' } + )} + + + + + {i18n.translate( + 'xpack.observability_onboarding.card.integrations.sampleData', + { defaultMessage: 'Use sample data' } + )} + + + + {i18n.translate( + 'xpack.observability_onboarding.card.integrations.uploadFile', + { defaultMessage: 'Upload a file' } + )} + + + + + {i18n.translate( + 'xpack.observability_onboarding.card.integrations.awsFirehose', + { defaultMessage: 'AWS Firehose' } + )} + + + + + + + + } + titleSize="xs" + paddingSize="none" + display="plain" + hasBorder + />
); } -const setupGuideBadgeLabel = i18n.translate( - 'xpack.observability_onboarding.card.setupGuide', - { defaultMessage: 'Setup guide' } +const getStartedLabel = i18n.translate( + 'xpack.observability_onboarding.card.getStarted', + { defaultMessage: 'Get started' } +); + +const elasticAgentLabel = i18n.translate( + 'xpack.observability_onboarding.card.elasticAgent', + { defaultMessage: 'Elastic agent' } ); diff --git a/x-pack/plugins/observability_onboarding/public/context/create_wizard_context.tsx b/x-pack/plugins/observability_onboarding/public/context/create_wizard_context.tsx index f1bfebf65d309..9347f45846ffc 100644 --- a/x-pack/plugins/observability_onboarding/public/context/create_wizard_context.tsx +++ b/x-pack/plugins/observability_onboarding/public/context/create_wizard_context.tsx @@ -12,10 +12,16 @@ import React, { useContext, useState, useRef, + useEffect, } from 'react'; +import { useHistory } from 'react-router-dom'; +import { generateNavEvents, NavEvent } from './nav_events'; +import { generatePath } from './path'; + +type Entry = { [K in keyof T]: [K, T[K]] }[keyof T]; export interface WizardContext { - CurrentStep: ComponentType; + setCurrentStep: (step: StepKey) => void; goToStep: (step: StepKey) => void; goBack: () => void; getState: () => T; @@ -40,27 +46,66 @@ export function createWizardContext< initialState, initialStep, steps, + basePath, }: { initialState: T; initialStep: InitialStepKey; steps: Record; + basePath: string; }) { const context = createContext>({ - CurrentStep: () => null, + setCurrentStep: () => {}, goToStep: () => {}, goBack: () => {}, getState: () => initialState, setState: () => {}, getPath: () => [], - getUsage: () => ({ timeSinceStart: 0, navEvents: [] }), + getUsage: () => ({ + timeSinceStart: 0, + navEvents: new Array>(), + }), }); + const stepRoute = (stepKey: StepKey) => + stepKey === initialStep ? basePath : `${basePath}/${stepKey}`; + + const routes = Object.entries(steps).reduce((acc, pair) => { + const [key, value] = pair as Entry>; + return { + ...acc, + [stepRoute(key)]: { + exact: true, + handler: () => + Page({ + step: key, + Component: value, + }), + }, + }; + }, {}); + + function Page({ + step, + Component, + }: { + step: StepKey; + Component: ComponentType; + }) { + const { setCurrentStep } = useWizard(); + useEffect(() => { + setCurrentStep(step); + // eslint-disable-next-line react-hooks/exhaustive-deps + }, [step]); + + return ; + } + function Provider({ children, onChangeStep, transitionDuration, }: { - children?: ReactNode; + children: ReactNode; onChangeStep?: (stepChangeEvent: { direction: 'back' | 'next'; stepKey: StepKey; @@ -68,79 +113,69 @@ export function createWizardContext< }) => void; transitionDuration?: number; }) { - const [step, setStep] = useState(initialStep); - const pathRef = useRef([initialStep]); + const history = useHistory(); + const [step, setStep] = useState(); + const pathRef = useRef([]); const usageRef = useRef['getUsage']>>({ timeSinceStart: 0, - navEvents: [ - { type: 'initial', step, timestamp: Date.now(), duration: 0 }, - ], + navEvents: new Array>(), }); const [state, setState] = useState(initialState); + return ( key === stepKey); + + pathRef.current = generatePath({ + step: stepKey, + path: pathRef.current, + }); + + usageRef.current.navEvents = generateNavEvents({ + type: stepVisited ? 'back' : 'progress', step: stepKey, - timestamp, - duration: 0, + navEvents: usageRef.current.navEvents as Array>, }); + if (onChangeStep) { onChangeStep({ - direction: 'next', + direction: stepVisited ? 'back' : 'next', stepKey, StepComponent: steps[stepKey], }); } + }, + goToStep(stepKey: StepKey) { + if (stepKey === step) { + return; + } + const stepUrl = stepRoute(stepKey); + if (transitionDuration) { setTimeout(() => { - setStep(stepKey); + history.push(stepUrl); }, transitionDuration); } else { - setStep(stepKey); + history.push(stepUrl); } }, goBack() { - if (step === initialStep) { + if (history.length === 1 || pathRef.current.length === 1) { return; } - const path = pathRef.current; - path.pop(); - const lastStep = path[path.length - 1]; - const navEvents = usageRef.current.navEvents; - const currentNavEvent = navEvents[navEvents.length - 1]; - const timestamp = Date.now(); - currentNavEvent.duration = timestamp - currentNavEvent.timestamp; - usageRef.current.navEvents.push({ - type: 'back', - step: lastStep, - timestamp, - duration: 0, - }); - if (onChangeStep) { - onChangeStep({ - direction: 'back', - stepKey: lastStep, - StepComponent: steps[lastStep], - }); - } if (transitionDuration) { setTimeout(() => { - setStep(lastStep); + history.goBack(); }, transitionDuration); } else { - setStep(lastStep); + history.goBack(); } }, getState: () => state as T, @@ -166,16 +201,9 @@ export function createWizardContext< ); } - function Step() { - const { CurrentStep } = useContext(context); - return ; - } - function useWizard() { - // const { CurrentStep: _, ...rest } = useContext(context); - // return rest; return useContext(context); } - return { context, Provider, Step, useWizard }; + return { context, Provider, useWizard, routes }; } diff --git a/x-pack/plugins/observability_onboarding/public/context/nav_events.ts b/x-pack/plugins/observability_onboarding/public/context/nav_events.ts new file mode 100644 index 0000000000000..310a03fc7e49c --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/context/nav_events.ts @@ -0,0 +1,58 @@ +/* + * 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. + */ + +type NavEventType = 'inital' | 'back' | 'progress'; + +export interface NavEvent { + type: NavEventType; + step: StepKey; + timestamp: number; + duration: number; +} + +const createEvent = ({ + type, + step, + timestamp, +}: { + type: NavEventType; + step: StepKey; + timestamp?: number; +}) => ({ + type, + step, + timestamp: timestamp ?? Date.now(), + duration: 0, +}); + +export const generateNavEvents = ({ + type, + step, + navEvents, +}: { + type: NavEventType; + step: StepKey; + navEvents: Array>; +}) => { + if (navEvents.length === 0) { + return [createEvent({ type: 'inital', step })]; + } + + const mutableNavEvents = [...navEvents]; + const previousEvent = mutableNavEvents[navEvents.length - 1]; + const timestamp = Date.now(); + previousEvent.duration = timestamp - previousEvent.timestamp; + + return [ + ...mutableNavEvents, + createEvent({ + type, + step, + timestamp, + }), + ]; +}; diff --git a/x-pack/plugins/observability_onboarding/public/context/path.ts b/x-pack/plugins/observability_onboarding/public/context/path.ts new file mode 100644 index 0000000000000..2530ae17c886c --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/context/path.ts @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const generatePath = ({ + step, + path, +}: { + step: StepKey; + path: StepKey[]; +}) => { + const stepIndex = path.findIndex((key) => key === step); + + if (stepIndex !== -1) { + return path.slice(0, stepIndex + 1); + } + + return [...path, step]; +}; diff --git a/x-pack/plugins/observability_onboarding/public/icons/apache.svg b/x-pack/plugins/observability_onboarding/public/icons/apache.svg new file mode 100644 index 0000000000000..7a86ab4ce06fc --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/apache.svg @@ -0,0 +1,59 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/x-pack/plugins/observability_onboarding/public/icons/apm.svg b/x-pack/plugins/observability_onboarding/public/icons/apm.svg new file mode 100644 index 0000000000000..d663bbe1b5062 --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/apm.svg @@ -0,0 +1,14 @@ + + + + + + + + diff --git a/x-pack/plugins/observability_onboarding/public/icons/aws.svg b/x-pack/plugins/observability_onboarding/public/icons/aws.svg new file mode 100644 index 0000000000000..af17aa1ceb105 --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/aws.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/x-pack/plugins/observability_onboarding/public/icons/azure.svg b/x-pack/plugins/observability_onboarding/public/icons/azure.svg new file mode 100644 index 0000000000000..1f884406e3687 --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/azure.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/x-pack/plugins/observability_onboarding/public/icons/gcp.svg b/x-pack/plugins/observability_onboarding/public/icons/gcp.svg new file mode 100644 index 0000000000000..0b0ed5081ceaa --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/gcp.svg @@ -0,0 +1,26 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/x-pack/plugins/observability_onboarding/public/icons/kinesis.svg b/x-pack/plugins/observability_onboarding/public/icons/kinesis.svg new file mode 100644 index 0000000000000..8a909480f2ca6 --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/kinesis.svg @@ -0,0 +1,21 @@ + + + + + + + + + + + + + + + + + + + + + diff --git a/x-pack/plugins/observability_onboarding/public/icons/kubernetes.svg b/x-pack/plugins/observability_onboarding/public/icons/kubernetes.svg new file mode 100644 index 0000000000000..aedbb79c31aaf --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/kubernetes.svg @@ -0,0 +1,10 @@ + + + + + + + + + + diff --git a/x-pack/plugins/observability_onboarding/public/icons/logging.svg b/x-pack/plugins/observability_onboarding/public/icons/logging.svg new file mode 100644 index 0000000000000..41d5251b3ea19 --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/logging.svg @@ -0,0 +1,16 @@ + + + + + + + + + + + + + + + + diff --git a/x-pack/plugins/observability_onboarding/public/icons/nginx.svg b/x-pack/plugins/observability_onboarding/public/icons/nginx.svg new file mode 100644 index 0000000000000..c758f951a1ffa --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/nginx.svg @@ -0,0 +1,13 @@ + + + + + + + + + + + + + diff --git a/x-pack/plugins/observability_onboarding/public/icons/opentelemetry.svg b/x-pack/plugins/observability_onboarding/public/icons/opentelemetry.svg new file mode 100644 index 0000000000000..1ce99fcc497d0 --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/opentelemetry.svg @@ -0,0 +1 @@ + diff --git a/x-pack/plugins/observability_onboarding/public/icons/system.svg b/x-pack/plugins/observability_onboarding/public/icons/system.svg new file mode 100644 index 0000000000000..0aba96275e24e --- /dev/null +++ b/x-pack/plugins/observability_onboarding/public/icons/system.svg @@ -0,0 +1 @@ + \ No newline at end of file diff --git a/x-pack/plugins/observability_onboarding/public/routes/index.tsx b/x-pack/plugins/observability_onboarding/public/routes/index.tsx index d462844f91d51..0ad61cce116f1 100644 --- a/x-pack/plugins/observability_onboarding/public/routes/index.tsx +++ b/x-pack/plugins/observability_onboarding/public/routes/index.tsx @@ -8,8 +8,8 @@ import * as t from 'io-ts'; import React from 'react'; import { Redirect } from 'react-router-dom'; +import { customLogsRoutes } from '../components/app/custom_logs/wizard'; import { Home } from '../components/app/home'; -import { CustomLogs } from '../components/app/custom_logs'; export type RouteParams = DecodeParams< typeof routes[T]['params'] @@ -26,26 +26,20 @@ export interface Params { path?: t.HasProps; } -export const routes = { +export const baseRoutes = { '/': { - handler: () => { - return ; - }, + handler: () => , params: {}, exact: true, }, '/overview': { - handler: () => { - return ; - }, - params: {}, - exact: true, - }, - '/customLogs': { - handler: () => { - return ; - }, + handler: () => , params: {}, exact: true, }, }; + +export const routes = { + ...baseRoutes, + ...customLogsRoutes, +}; diff --git a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx b/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx similarity index 75% rename from x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx rename to x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx index d886a77bace8a..c8d40c0b22a04 100644 --- a/x-pack/plugins/observability_onboarding/public/components/app/custom_logs/index.tsx +++ b/x-pack/plugins/observability_onboarding/public/routes/templates/custom_logs.tsx @@ -9,33 +9,37 @@ import { EuiFlexGroup, EuiFlexItem, EuiSpacer, EuiTitle } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { useBreadcrumbs } from '@kbn/observability-shared-plugin/public'; import React, { ComponentType, useRef, useState } from 'react'; -import { breadcrumbsApp } from '../../../application/app'; +import { breadcrumbsApp } from '../../application/app'; +import { HorizontalSteps } from '../../components/app/custom_logs/wizard/horizontal_steps'; +import { Provider as WizardProvider } from '../../components/app/custom_logs/wizard'; import { FilmstripFrame, FilmstripTransition, TransitionState, -} from '../../shared/filmstrip_transition'; -import { Provider as WizardProvider, Step as WizardStep } from './wizard'; -import { HorizontalSteps } from './wizard/horizontal_steps'; +} from '../../components/shared/filmstrip_transition'; -export function CustomLogs() { +interface Props { + children: React.ReactNode; +} + +export function CustomLogs({ children }: Props) { useBreadcrumbs( [ { text: i18n.translate( - 'xpack.observability_onboarding.breadcrumbs.logs', - { defaultMessage: 'Logs' } + 'xpack.observability_onboarding.breadcrumbs.customLogs', + { defaultMessage: 'Custom Logs' } ), }, ], breadcrumbsApp ); - return ; + return {children}; } const TRANSITION_DURATION = 180; -function AnimatedTransitionsWizard() { +function AnimatedTransitionsWizard({ children }: Props) { const [transition, setTransition] = useState('ready'); const TransitionComponent = useRef(() => null); @@ -61,7 +65,10 @@ function AnimatedTransitionsWizard() { - +

{i18n.translate( 'xpack.observability_onboarding.title.collectCustomLogs', @@ -86,9 +93,7 @@ function AnimatedTransitionsWizard() { transition === 'back' ? : null } - - - + {children} { // eslint-disable-next-line react/jsx-pascal-case diff --git a/x-pack/plugins/profiling/common/functions.ts b/x-pack/plugins/profiling/common/functions.ts index 6e5f97a6cdbfe..a7da03fc53adc 100644 --- a/x-pack/plugins/profiling/common/functions.ts +++ b/x-pack/plugins/profiling/common/functions.ts @@ -161,16 +161,20 @@ export enum TopNFunctionSortField { Rank = 'rank', Frame = 'frame', Samples = 'samples', - ExclusiveCPU = 'exclusiveCPU', - InclusiveCPU = 'inclusiveCPU', + SelfCPU = 'selfCPU', + TotalCPU = 'totalCPU', Diff = 'diff', + AnnualizedCo2 = 'annualizedCo2', + AnnualizedDollarCost = 'annualizedDollarCost', } export const topNFunctionSortFieldRt = t.union([ t.literal(TopNFunctionSortField.Rank), t.literal(TopNFunctionSortField.Frame), t.literal(TopNFunctionSortField.Samples), - t.literal(TopNFunctionSortField.ExclusiveCPU), - t.literal(TopNFunctionSortField.InclusiveCPU), + t.literal(TopNFunctionSortField.SelfCPU), + t.literal(TopNFunctionSortField.TotalCPU), t.literal(TopNFunctionSortField.Diff), + t.literal(TopNFunctionSortField.AnnualizedCo2), + t.literal(TopNFunctionSortField.AnnualizedDollarCost), ]); diff --git a/x-pack/plugins/profiling/public/components/contexts/profiling_dependencies/mock_profiling_dependencies_storybook.tsx b/x-pack/plugins/profiling/public/components/contexts/profiling_dependencies/mock_profiling_dependencies_storybook.tsx index 67a28c6839979..9e4ebc0afeae8 100644 --- a/x-pack/plugins/profiling/public/components/contexts/profiling_dependencies/mock_profiling_dependencies_storybook.tsx +++ b/x-pack/plugins/profiling/public/components/contexts/profiling_dependencies/mock_profiling_dependencies_storybook.tsx @@ -9,9 +9,18 @@ import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; import { createKibanaReactContext } from '@kbn/kibana-react-plugin/public'; import { MlLocatorDefinition } from '@kbn/ml-plugin/public'; import { UrlService } from '@kbn/share-plugin/common/url_service'; +import { createMemoryHistory } from 'history'; +import { merge } from 'lodash'; import React, { ReactNode } from 'react'; import { Observable } from 'rxjs'; -import { ProfilingDependenciesContextProvider } from './profiling_dependencies_context'; +import { RouterProvider } from '@kbn/typed-react-router-config'; +import { + ProfilingDependencies, + ProfilingDependenciesContextProvider, +} from './profiling_dependencies_context'; +import { profilingRouter } from '../../../routing'; +import { TimeRangeContextProvider } from '../time_range_context'; +import { getServices } from '../../../services'; const urlService = new UrlService({ navigate: async () => {}, @@ -73,20 +82,46 @@ const mockProfilingDependenciesContext = { plugins: mockPlugin, } as any; -export function MockProfilingDependenciesStorybook({ children }: { children?: ReactNode }) { +export function MockProfilingDependenciesStorybook({ + children, + profilingContext, + routePath, + mockServices = {}, +}: { + children?: ReactNode; + profilingContext?: Partial; + mockServices?: Partial; + routePath?: string; +}) { + const contextMock = merge({}, mockProfilingDependenciesContext, profilingContext); + const KibanaReactContext = createKibanaReactContext( mockProfilingDependenciesContext.core as unknown as Partial ); + const history = createMemoryHistory({ + initialEntries: [routePath || '/stacktraces'], + }); + + const services = getServices(); + return ( - - {children} - + + + + {children} + + + ); diff --git a/x-pack/plugins/profiling/public/components/label_with_hint/index.tsx b/x-pack/plugins/profiling/public/components/label_with_hint/index.tsx new file mode 100644 index 0000000000000..1c3dd7d2c5be3 --- /dev/null +++ b/x-pack/plugins/profiling/public/components/label_with_hint/index.tsx @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { + EuiFlexGroup, + EuiFlexItem, + EuiIcon, + EuiIconProps, + EuiText, + EuiTextProps, + EuiToolTip, +} from '@elastic/eui'; + +interface Props { + label: string; + hint: string; + labelSize?: EuiTextProps['size']; + labelStyle?: EuiTextProps['style']; + iconSize?: EuiIconProps['size']; +} + +export function LabelWithHint({ label, hint, iconSize, labelSize, labelStyle }: Props) { + return ( + + + + {label} + + + + + + + + + ); +} diff --git a/x-pack/plugins/profiling/public/components/profiling_app_page_template/index.tsx b/x-pack/plugins/profiling/public/components/profiling_app_page_template/index.tsx index 2a353f3b4db61..2193cb6b0e334 100644 --- a/x-pack/plugins/profiling/public/components/profiling_app_page_template/index.tsx +++ b/x-pack/plugins/profiling/public/components/profiling_app_page_template/index.tsx @@ -94,7 +94,7 @@ export function ProfilingAppPageTemplate({ }, }} > - + {!hideSearchBar && ( diff --git a/x-pack/plugins/profiling/public/components/topn_functions/cpu_stat.tsx b/x-pack/plugins/profiling/public/components/topn_functions/cpu_stat.tsx new file mode 100644 index 0000000000000..ef8fcd9ba5d95 --- /dev/null +++ b/x-pack/plugins/profiling/public/components/topn_functions/cpu_stat.tsx @@ -0,0 +1,27 @@ +/* + * 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 { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import React from 'react'; +import { Label } from './label'; + +export function CPUStat({ cpu, diffCPU }: { cpu: number; diffCPU?: number; isSampled?: boolean }) { + const cpuLabel = `${cpu.toFixed(2)}%`; + + if (diffCPU === undefined || diffCPU === 0) { + return <>{cpuLabel}; + } + + return ( + + {cpuLabel} + + + + ); +} diff --git a/x-pack/plugins/profiling/public/components/topn_functions/function_row.tsx b/x-pack/plugins/profiling/public/components/topn_functions/function_row.tsx new file mode 100644 index 0000000000000..53f4a3701125e --- /dev/null +++ b/x-pack/plugins/profiling/public/components/topn_functions/function_row.tsx @@ -0,0 +1,118 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + EuiDataGridCellValueElementProps, + EuiFlexGroup, + EuiFlexItem, + EuiIcon, + EuiText, + useEuiBackgroundColor, + useEuiTheme, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; +import { TopNFunctionSortField } from '../../../common/functions'; +import { asCost } from '../../utils/formatters/as_cost'; +import { asWeight } from '../../utils/formatters/as_weight'; +import { StackFrameSummary } from '../stack_frame_summary'; +import { CPUStat } from './cpu_stat'; +import { SampleStat } from './sample_stat'; +import { IFunctionRow } from './utils'; + +interface Props { + functionRow: IFunctionRow; + columnId: string; + totalCount: number; + onFrameClick?: (functionName: string) => void; + setCellProps: EuiDataGridCellValueElementProps['setCellProps']; +} + +export function FunctionRow({ + functionRow, + columnId, + totalCount, + onFrameClick, + setCellProps, +}: Props) { + const theme = useEuiTheme(); + const successColor = useEuiBackgroundColor('success'); + const dangerColor = useEuiBackgroundColor('danger'); + + if (columnId === TopNFunctionSortField.Diff) { + if (!functionRow.diff) { + return ( + + {i18n.translate('xpack.profiling.functionsView.newLabel', { + defaultMessage: 'New', + })} + + ); + } + + if (functionRow.diff.rank === 0) { + return null; + } + + const color = functionRow.diff.rank > 0 ? 'success' : 'danger'; + setCellProps({ style: { backgroundColor: color === 'success' ? successColor : dangerColor } }); + + return ( + + + {functionRow.diff.rank} + + + 0 ? 'sortDown' : 'sortUp'} color={color} /> + + + ); + } + + if (columnId === TopNFunctionSortField.Rank) { + return
{functionRow.rank}
; + } + + if (columnId === TopNFunctionSortField.Frame) { + return ; + } + + if (columnId === TopNFunctionSortField.Samples) { + setCellProps({ css: { textAlign: 'right' } }); + return ( + + ); + } + + if (columnId === TopNFunctionSortField.SelfCPU) { + return ; + } + + if (columnId === TopNFunctionSortField.TotalCPU) { + return ; + } + + if ( + columnId === TopNFunctionSortField.AnnualizedCo2 && + functionRow.impactEstimates?.annualizedCo2 + ) { + return
{asWeight(functionRow.impactEstimates.annualizedCo2)}
; + } + + if ( + columnId === TopNFunctionSortField.AnnualizedDollarCost && + functionRow.impactEstimates?.annualizedDollarCost + ) { + return
{asCost(functionRow.impactEstimates.annualizedDollarCost)}
; + } + + return null; +} diff --git a/x-pack/plugins/profiling/public/components/topn_functions/index.tsx b/x-pack/plugins/profiling/public/components/topn_functions/index.tsx index 7320f11d24ec1..603c007e18950 100644 --- a/x-pack/plugins/profiling/public/components/topn_functions/index.tsx +++ b/x-pack/plugins/profiling/public/components/topn_functions/index.tsx @@ -6,154 +6,29 @@ */ import { - EuiBadge, - EuiBasicTable, - EuiBasicTableColumn, - EuiFlexGroup, - EuiFlexItem, - EuiHorizontalRule, + EuiButtonIcon, + EuiDataGrid, + EuiDataGridCellValueElementProps, + EuiDataGridColumn, + EuiDataGridControlColumn, + EuiDataGridRefProps, + EuiDataGridSorting, + EuiScreenReaderOnly, EuiSpacer, - EuiStat, - EuiText, - useEuiTheme, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { keyBy, orderBy } from 'lodash'; -import React, { useMemo, useState } from 'react'; +import { last } from 'lodash'; +import React, { forwardRef, Ref, useMemo, useState } from 'react'; +import { GridOnScrollProps } from 'react-window'; import { TopNFunctions, TopNFunctionSortField } from '../../../common/functions'; -import { getCalleeFunction, StackFrameMetadata } from '../../../common/profiling'; -import { calculateImpactEstimates } from '../../utils/calculate_impact_estimates'; -import { asCost } from '../../utils/formatters/as_cost'; -import { asWeight } from '../../utils/formatters/as_weight'; -import { FrameInformationTooltip } from '../frame_information_window/frame_information_tooltip'; import { CPULabelWithHint } from '../cpu_label_with_hint'; -import { StackFrameSummary } from '../stack_frame_summary'; -import { GetLabel } from './get_label'; - -interface Row { - rank: number; - frame: StackFrameMetadata; - samples: number; - exclusiveCPU: number; - inclusiveCPU: number; - impactEstimates?: ReturnType; - diff?: { - rank: number; - samples: number; - exclusiveCPU: number; - inclusiveCPU: number; - }; -} - -function TotalSamplesStat({ - baselineTotalSamples, - baselineScaleFactor, - comparisonTotalSamples, - comparisonScaleFactor, -}: { - baselineTotalSamples: number; - baselineScaleFactor?: number; - comparisonTotalSamples?: number; - comparisonScaleFactor?: number; -}) { - const scaledBaselineTotalSamples = scaleValue({ - value: baselineTotalSamples, - scaleFactor: baselineScaleFactor, - }); - - const value = scaledBaselineTotalSamples.toLocaleString(); - - const sampleHeader = i18n.translate('xpack.profiling.functionsView.totalSampleCountLabel', { - defaultMessage: ' Total sample estimate: ', - }); - - if (comparisonTotalSamples === undefined || comparisonTotalSamples === 0) { - return ( - {value}} - description={sampleHeader} - /> - ); - } - - const scaledComparisonTotalSamples = scaleValue({ - value: comparisonTotalSamples, - scaleFactor: comparisonScaleFactor, - }); - - const diffSamples = scaledBaselineTotalSamples - scaledComparisonTotalSamples; - const percentDelta = (diffSamples / (scaledBaselineTotalSamples - diffSamples)) * 100; - - return ( - - {value} - - - } - description={sampleHeader} - /> - ); -} - -function SampleStat({ - samples, - diffSamples, - totalSamples, - isSampled, -}: { - samples: number; - diffSamples?: number; - totalSamples: number; - isSampled: boolean; -}) { - const samplesLabel = `${isSampled ? '~ ' : ''}${samples.toLocaleString()}`; - - if (diffSamples === undefined || diffSamples === 0 || totalSamples === 0) { - return <>{samplesLabel}; - } - - const percentDelta = (diffSamples / (samples - diffSamples)) * 100; - const totalPercentDelta = (diffSamples / totalSamples) * 100; - - return ( - - {samplesLabel} - - - - - - - - ); -} - -function CPUStat({ cpu, diffCPU }: { cpu: number; diffCPU?: number; isSampled?: boolean }) { - const cpuLabel = `${cpu.toFixed(2)}%`; - - if (diffCPU === undefined || diffCPU === 0) { - return <>{cpuLabel}; - } - - return ( - - {cpuLabel} - - - - - ); -} +import { FrameInformationTooltip } from '../frame_information_window/frame_information_tooltip'; +import { LabelWithHint } from '../label_with_hint'; +import { FunctionRow } from './function_row'; +import { TotalSamplesStat } from './total_samples_stat'; +import { getFunctionsRows, IFunctionRow } from './utils'; interface Props { - sortDirection: 'asc' | 'desc'; - sortField: TopNFunctionSortField; - onSortChange: (options: { - sortDirection: 'asc' | 'desc'; - sortField: TopNFunctionSortField; - }) => void; topNFunctions?: TopNFunctions; comparisonTopNFunctions?: TopNFunctions; totalSeconds: number; @@ -161,313 +36,311 @@ interface Props { baselineScaleFactor?: number; comparisonScaleFactor?: number; onFrameClick?: (functionName: string) => void; + onScroll?: (scroll: GridOnScrollProps) => void; + showDiffColumn?: boolean; + pageIndex: number; + onChangePage: (nextPage: number) => void; + sortField: TopNFunctionSortField; + sortDirection: 'asc' | 'desc'; + onChangeSort: (sorting: EuiDataGridSorting['columns'][0]) => void; } -function scaleValue({ value, scaleFactor = 1 }: { value: number; scaleFactor?: number }) { - return value * scaleFactor; -} - -export function TopNFunctionsTable({ - sortDirection, - sortField, - onSortChange, - topNFunctions, - comparisonTopNFunctions, - totalSeconds, - isDifferentialView, - baselineScaleFactor, - comparisonScaleFactor, - onFrameClick, -}: Props) { - const [selectedRow, setSelectedRow] = useState(); - const isEstimatedA = (topNFunctions?.SamplingRate ?? 1.0) !== 1.0; - const totalCount: number = useMemo(() => { - if (!topNFunctions || !topNFunctions.TotalCount) { - return 0; - } - - return topNFunctions.TotalCount; - }, [topNFunctions]); - - const rows: Row[] = useMemo(() => { - if (!topNFunctions || !topNFunctions.TotalCount || topNFunctions.TotalCount === 0) { - return []; +export const TopNFunctionsGrid = forwardRef( + ( + { + topNFunctions, + comparisonTopNFunctions, + totalSeconds, + isDifferentialView, + baselineScaleFactor, + comparisonScaleFactor, + onFrameClick, + onScroll, + showDiffColumn = false, + pageIndex, + onChangePage, + sortField, + sortDirection, + onChangeSort, + }: Props, + ref: Ref | undefined + ) => { + const [selectedRow, setSelectedRow] = useState(); + + function onSort(newSortingColumns: EuiDataGridSorting['columns']) { + const lastItem = last(newSortingColumns); + if (lastItem) { + onChangeSort(lastItem); + } } - const comparisonDataById = comparisonTopNFunctions - ? keyBy(comparisonTopNFunctions.TopN, 'Id') - : {}; + const totalCount = useMemo(() => { + if (!topNFunctions || !topNFunctions.TotalCount) { + return 0; + } - return topNFunctions.TopN.filter((topN) => topN.CountExclusive > 0).map((topN, i) => { - const comparisonRow = comparisonDataById?.[topN.Id]; + return topNFunctions.TotalCount; + }, [topNFunctions]); - const topNCountExclusiveScaled = scaleValue({ - value: topN.CountExclusive, - scaleFactor: baselineScaleFactor, + const rows = useMemo(() => { + return getFunctionsRows({ + baselineScaleFactor, + comparisonScaleFactor, + comparisonTopNFunctions, + topNFunctions, + totalSeconds, }); - - const inclusiveCPU = (topN.CountInclusive / topNFunctions.TotalCount) * 100; - const exclusiveCPU = (topN.CountExclusive / topNFunctions.TotalCount) * 100; - const totalSamples = topN.CountExclusive; - - const impactEstimates = - totalSeconds > 0 - ? calculateImpactEstimates({ - countExclusive: exclusiveCPU, - countInclusive: inclusiveCPU, - totalSamples, - totalSeconds, - }) - : undefined; - - function calculateDiff() { - if (comparisonTopNFunctions && comparisonRow) { - const comparisonCountExclusiveScaled = scaleValue({ - value: comparisonRow.CountExclusive, - scaleFactor: comparisonScaleFactor, - }); - - return { - rank: topN.Rank - comparisonRow.Rank, - samples: topNCountExclusiveScaled - comparisonCountExclusiveScaled, - exclusiveCPU: - exclusiveCPU - - (comparisonRow.CountExclusive / comparisonTopNFunctions.TotalCount) * 100, - inclusiveCPU: - inclusiveCPU - - (comparisonRow.CountInclusive / comparisonTopNFunctions.TotalCount) * 100, - }; - } + }, [ + topNFunctions, + comparisonTopNFunctions, + totalSeconds, + comparisonScaleFactor, + baselineScaleFactor, + ]); + + const { columns, leadingControlColumns } = useMemo(() => { + const gridColumns: EuiDataGridColumn[] = [ + { + id: TopNFunctionSortField.Rank, + initialWidth: isDifferentialView ? 50 : 90, + displayAsText: i18n.translate('xpack.profiling.functionsView.rankColumnLabel', { + defaultMessage: 'Rank', + }), + }, + { + id: TopNFunctionSortField.Frame, + displayAsText: i18n.translate('xpack.profiling.functionsView.functionColumnLabel', { + defaultMessage: 'Function', + }), + }, + { + id: TopNFunctionSortField.Samples, + initialWidth: isDifferentialView ? 100 : 200, + schema: 'samples', + display: ( + + ), + }, + { + id: TopNFunctionSortField.SelfCPU, + initialWidth: isDifferentialView ? 100 : 200, + display: ( + + ), + }, + { + id: TopNFunctionSortField.TotalCPU, + initialWidth: isDifferentialView ? 100 : 200, + display: ( + + ), + }, + ]; + + const gridLeadingControlColumns: EuiDataGridControlColumn[] = []; + if (showDiffColumn) { + gridColumns.push({ + initialWidth: 60, + id: TopNFunctionSortField.Diff, + displayAsText: i18n.translate('xpack.profiling.functionsView.diffColumnLabel', { + defaultMessage: 'Diff', + }), + }); } - return { - rank: topN.Rank, - frame: topN.Frame, - samples: topNCountExclusiveScaled, - exclusiveCPU, - inclusiveCPU, - impactEstimates, - diff: calculateDiff(), - }; - }); - }, [ - topNFunctions, - comparisonTopNFunctions, - totalSeconds, - comparisonScaleFactor, - baselineScaleFactor, - ]); - - const theme = useEuiTheme(); - - const columns: Array> = [ - { - field: TopNFunctionSortField.Rank, - name: i18n.translate('xpack.profiling.functionsView.rankColumnLabel', { - defaultMessage: 'Rank', - }), - render: (_, { rank }) => { - return {rank}; - }, - align: 'right', - }, - { - field: TopNFunctionSortField.Frame, - name: i18n.translate('xpack.profiling.functionsView.functionColumnLabel', { - defaultMessage: 'Function', - }), - render: (_, { frame }) => { - return ; - }, - width: '50%', - }, - { - field: TopNFunctionSortField.Samples, - name: i18n.translate('xpack.profiling.functionsView.samplesColumnLabel', { - defaultMessage: 'Samples (estd.)', - }), - render: (_, { samples, diff }) => { - return ( - + if (!isDifferentialView) { + gridColumns.push( + { + id: TopNFunctionSortField.AnnualizedCo2, + initialWidth: isDifferentialView ? 100 : 200, + schema: 'numeric', + display: ( + + ), + }, + { + id: TopNFunctionSortField.AnnualizedDollarCost, + initialWidth: isDifferentialView ? 100 : 200, + display: ( + + ), + } ); - }, - align: 'right', - }, - { - field: TopNFunctionSortField.ExclusiveCPU, - name: ( - - ), - render: (_, { exclusiveCPU, diff }) => { - return ; - }, - align: 'right', - }, - { - field: TopNFunctionSortField.InclusiveCPU, - name: ( - - ), - render: (_, { inclusiveCPU, diff }) => { - return ; - }, - align: 'right', - }, - ]; - - if (comparisonTopNFunctions) { - columns.push({ - field: TopNFunctionSortField.Diff, - name: i18n.translate('xpack.profiling.functionsView.diffColumnLabel', { - defaultMessage: 'Diff', - }), - align: 'right', - render: (_, { diff }) => { - if (!diff) { - return ( - - {i18n.translate('xpack.profiling.functionsView.newLabel', { defaultMessage: 'New' })} - - ); - } - - if (diff.rank === 0) { - return null; - } - - const color = diff.rank > 0 ? 'success' : 'danger'; - const icon = diff.rank > 0 ? 'sortDown' : 'sortUp'; + gridLeadingControlColumns.push({ + id: 'actions', + width: 40, + headerCellRender() { + return ( + + Controls + + ); + }, + rowCellRender: function RowCellRender({ rowIndex }) { + function handleOnClick() { + setSelectedRow(rows[rowIndex]); + } + return ( + + ); + }, + }); + } + return { columns: gridColumns, leadingControlColumns: gridLeadingControlColumns }; + }, [isDifferentialView, rows, showDiffColumn]); + + const [visibleColumns, setVisibleColumns] = useState(columns.map(({ id }) => id)); + + function RenderCellValue({ + rowIndex, + columnId, + setCellProps, + }: EuiDataGridCellValueElementProps) { + const data = rows[rowIndex]; + if (data) { return ( - - {diff.rank} - + ); - }, - }); - } - if (!isDifferentialView) { - columns.push( - { - field: 'annualized_co2', - name: i18n.translate('xpack.profiling.functionsView.annualizedCo2', { - defaultMessage: 'Annualized CO2', - }), - render: (_, { impactEstimates }) => { - if (impactEstimates?.annualizedCo2) { - return
{asWeight(impactEstimates.annualizedCo2)}
; - } - }, - align: 'right', - }, - { - field: 'annualized_dollar_cost', - name: i18n.translate('xpack.profiling.functionsView.annualizedDollarCost', { - defaultMessage: `Annualized dollar cost`, - }), - render: (_, { impactEstimates }) => { - if (impactEstimates?.annualizedDollarCost) { - return
{asCost(impactEstimates.annualizedDollarCost)}
; - } - }, - align: 'right', - }, - { - name: 'Actions', - actions: [ - { - name: 'show_more_information', - description: i18n.translate('xpack.profiling.functionsView.showMoreButton', { - defaultMessage: `Show more information`, - }), - icon: 'inspect', - color: 'primary', - type: 'icon', - onClick: setSelectedRow, - }, - ], } - ); - } + return null; + } - const sortedRows = orderBy( - rows, - (row) => { - return sortField === TopNFunctionSortField.Frame - ? getCalleeFunction(row.frame).toLowerCase() - : row[sortField]; - }, - [sortDirection] - ).slice(0, 100); - return ( - <> - - - - { - onSortChange({ - sortDirection: criteria.sort!.direction, - sortField: criteria.sort!.field as TopNFunctionSortField, - }); - }} - sorting={{ - enableAllColumns: true, - sort: { - direction: sortDirection, - field: sortField, - }, - }} - /> - {selectedRow && ( - { - setSelectedRow(undefined); + return ( + <> + + + {}, + onChangePage, + }} + rowHeightsOptions={{ defaultHeight: 'auto' }} + toolbarVisibility={{ + showColumnSelector: false, + showKeyboardShortcuts: !isDifferentialView, + showDisplaySelector: !isDifferentialView, + showFullScreenSelector: !isDifferentialView, + showSortSelector: false, }} - frame={{ - addressOrLine: selectedRow.frame.AddressOrLine, - countExclusive: selectedRow.exclusiveCPU, - countInclusive: selectedRow.inclusiveCPU, - exeFileName: selectedRow.frame.ExeFileName, - fileID: selectedRow.frame.FileID, - frameType: selectedRow.frame.FrameType, - functionName: selectedRow.frame.FunctionName, - sourceFileName: selectedRow.frame.SourceFilename, - sourceLine: selectedRow.frame.SourceLine, + virtualizationOptions={{ + onScroll, }} - totalSeconds={totalSeconds ?? 0} - totalSamples={selectedRow.samples} - samplingRate={topNFunctions?.SamplingRate ?? 1.0} + schemaDetectors={[ + { + type: 'samples', + comparator: (a, b, direction) => { + const aNumber = parseFloat(a.replace(/,/g, '')); + const bNumber = parseFloat(b.replace(/,/g, '')); + + if (aNumber < bNumber) { + return direction === 'desc' ? 1 : -1; + } + if (aNumber > bNumber) { + return direction === 'desc' ? -1 : 1; + } + return 0; + }, + detector: (a) => { + return 1; + }, + icon: '', + sortTextAsc: 'Low-High', + sortTextDesc: 'High-Low', + }, + ]} /> - )} - - ); -} + {selectedRow && ( + { + setSelectedRow(undefined); + }} + frame={{ + addressOrLine: selectedRow.frame.AddressOrLine, + countExclusive: selectedRow.selfCPU, + countInclusive: selectedRow.totalCPU, + exeFileName: selectedRow.frame.ExeFileName, + fileID: selectedRow.frame.FileID, + frameType: selectedRow.frame.FrameType, + functionName: selectedRow.frame.FunctionName, + sourceFileName: selectedRow.frame.SourceFilename, + sourceLine: selectedRow.frame.SourceLine, + }} + totalSeconds={totalSeconds} + totalSamples={totalCount} + samplingRate={topNFunctions?.SamplingRate ?? 1.0} + /> + )} + + ); + } +); diff --git a/x-pack/plugins/profiling/public/components/topn_functions/get_label.tsx b/x-pack/plugins/profiling/public/components/topn_functions/label.tsx similarity index 91% rename from x-pack/plugins/profiling/public/components/topn_functions/get_label.tsx rename to x-pack/plugins/profiling/public/components/topn_functions/label.tsx index 8d04df9cfcd3a..98c340844b7c3 100644 --- a/x-pack/plugins/profiling/public/components/topn_functions/get_label.tsx +++ b/x-pack/plugins/profiling/public/components/topn_functions/label.tsx @@ -14,7 +14,7 @@ interface Props { prepend?: string; } -export function GetLabel({ value, prepend, append }: Props) { +export function Label({ value, prepend, append }: Props) { const { label, color, icon } = getColorLabel(value); return ( diff --git a/x-pack/plugins/profiling/public/components/topn_functions/mock/top_n_functions.ts b/x-pack/plugins/profiling/public/components/topn_functions/mock/top_n_functions.ts new file mode 100644 index 0000000000000..d9c8530ea2eef --- /dev/null +++ b/x-pack/plugins/profiling/public/components/topn_functions/mock/top_n_functions.ts @@ -0,0 +1,115 @@ +/* + * 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 { TopNFunctions } from '../../../../common/functions'; + +export const data = { + TotalCount: 4, + TopN: [ + { + Rank: 1, + Frame: { + FrameID: 'VZbhUAtQEfdUptXfb8HvNgAAAAAAsbAE', + FileID: 'VZbhUAtQEfdUptXfb8HvNg', + FrameType: 4, + Inline: false, + AddressOrLine: 11644932, + FunctionName: '_raw_spin_unlock_irq', + FunctionOffset: 0, + SourceID: '', + SourceLine: 0, + ExeFileName: 'vmlinux', + CommitHash: '', + SourceCodeURL: '', + SourceFilename: '', + SourcePackageHash: '', + SourcePackageURL: '', + SamplingRate: 1, + FunctionSourceLine: 0, + }, + CountExclusive: 1535, + CountInclusive: 1550, + Id: 'full;vmlinux;_raw_spin_unlock_irq;', + }, + { + Rank: 2, + Frame: { + FrameID: 'VZbhUAtQEfdUptXfb8HvNgAAAAAAsRk2', + FileID: 'VZbhUAtQEfdUptXfb8HvNg', + FrameType: 4, + Inline: false, + AddressOrLine: 11606326, + FunctionName: 'syscall_enter_from_user_mode', + FunctionOffset: 0, + SourceID: '', + SourceLine: 0, + ExeFileName: 'vmlinux', + CommitHash: '', + SourceCodeURL: '', + SourceFilename: '', + SourcePackageHash: '', + SourcePackageURL: '', + SamplingRate: 1, + FunctionSourceLine: 0, + }, + CountExclusive: 1320, + CountInclusive: 1610, + Id: 'full;vmlinux;syscall_enter_from_user_mode;', + }, + { + Rank: 3, + Frame: { + FrameID: 'VZbhUAtQEfdUptXfb8HvNgAAAAAAsa_W', + FileID: 'VZbhUAtQEfdUptXfb8HvNg', + FrameType: 4, + Inline: false, + AddressOrLine: 11644886, + FunctionName: '_raw_spin_unlock_irqrestore', + FunctionOffset: 0, + SourceID: '', + SourceLine: 0, + ExeFileName: 'vmlinux', + CommitHash: '', + SourceCodeURL: '', + SourceFilename: '', + SourcePackageHash: '', + SourcePackageURL: '', + SamplingRate: 1, + FunctionSourceLine: 0, + }, + CountExclusive: 1215, + CountInclusive: 1220, + Id: 'full;vmlinux;_raw_spin_unlock_irqrestore;', + }, + { + Rank: 4, + Frame: { + FrameID: 'VZbhUAtQEfdUptXfb8HvNgAAAAAAF_dD', + FileID: 'VZbhUAtQEfdUptXfb8HvNg', + FrameType: 4, + Inline: false, + AddressOrLine: 1570627, + FunctionName: 'audit_filter_syscall', + FunctionOffset: 0, + SourceID: '', + SourceLine: 0, + ExeFileName: 'vmlinux', + CommitHash: '', + SourceCodeURL: '', + SourceFilename: '', + SourcePackageHash: '', + SourcePackageURL: '', + SamplingRate: 1, + FunctionSourceLine: 0, + }, + CountExclusive: 920, + CountInclusive: 1560, + Id: 'full;vmlinux;audit_filter_syscall;', + }, + ], + SamplingRate: 0.2, +} as TopNFunctions; diff --git a/x-pack/plugins/profiling/public/components/topn_functions/sample_stat.tsx b/x-pack/plugins/profiling/public/components/topn_functions/sample_stat.tsx new file mode 100644 index 0000000000000..4bcc8131c3c9e --- /dev/null +++ b/x-pack/plugins/profiling/public/components/topn_functions/sample_stat.tsx @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import React from 'react'; +import { Label } from './label'; + +export function SampleStat({ + samples, + diffSamples, + totalSamples, +}: { + samples: number; + diffSamples?: number; + totalSamples: number; +}) { + const samplesLabel = samples.toLocaleString(); + + if (diffSamples === undefined || diffSamples === 0 || totalSamples === 0) { + return <>{samplesLabel}; + } + + const percentDelta = (diffSamples / (samples - diffSamples)) * 100; + const totalPercentDelta = (diffSamples / totalSamples) * 100; + + return ( + + {samplesLabel} + + + + + + ); +} diff --git a/x-pack/plugins/profiling/public/components/topn_functions/topn_functions.stories.tsx b/x-pack/plugins/profiling/public/components/topn_functions/topn_functions.stories.tsx new file mode 100644 index 0000000000000..2ece778600a63 --- /dev/null +++ b/x-pack/plugins/profiling/public/components/topn_functions/topn_functions.stories.tsx @@ -0,0 +1,37 @@ +/* + * 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 { Meta } from '@storybook/react'; +import React from 'react'; +import { TopNFunctionsView } from '../../views/functions/topn'; +import { MockProfilingDependenciesStorybook } from '../contexts/profiling_dependencies/mock_profiling_dependencies_storybook'; +import { data } from './mock/top_n_functions'; + +const stories: Meta<{}> = { + title: 'Views/TopN functions', + component: TopNFunctionsView, + decorators: [ + (StoryComponent, { globals }) => { + return ( + data, + }} + > + + + ); + }, + ], +}; + +export default stories; + +export function Examples() { + return ; +} diff --git a/x-pack/plugins/profiling/public/components/topn_functions/total_samples_stat.tsx b/x-pack/plugins/profiling/public/components/topn_functions/total_samples_stat.tsx new file mode 100644 index 0000000000000..b4d79c3385560 --- /dev/null +++ b/x-pack/plugins/profiling/public/components/topn_functions/total_samples_stat.tsx @@ -0,0 +1,66 @@ +/* + * 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 { EuiStat, EuiText } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; +import { Label } from './label'; +import { scaleValue } from './utils'; + +interface Props { + baselineTotalSamples: number; + baselineScaleFactor?: number; + comparisonTotalSamples?: number; + comparisonScaleFactor?: number; +} + +export function TotalSamplesStat({ + baselineTotalSamples, + baselineScaleFactor, + comparisonTotalSamples, + comparisonScaleFactor, +}: Props) { + const scaledBaselineTotalSamples = scaleValue({ + value: baselineTotalSamples, + scaleFactor: baselineScaleFactor, + }); + + const value = scaledBaselineTotalSamples.toLocaleString(); + + const sampleHeader = i18n.translate('xpack.profiling.functionsView.totalSampleCountLabel', { + defaultMessage: ' Total sample estimate: ', + }); + + if (comparisonTotalSamples === undefined || comparisonTotalSamples === 0) { + return ( + {value}} + description={sampleHeader} + /> + ); + } + + const scaledComparisonTotalSamples = scaleValue({ + value: comparisonTotalSamples, + scaleFactor: comparisonScaleFactor, + }); + + const diffSamples = scaledBaselineTotalSamples - scaledComparisonTotalSamples; + const percentDelta = (diffSamples / (scaledBaselineTotalSamples - diffSamples)) * 100; + + return ( + + {value} +