From 953706a7d7d3e6c5b6977cbd0520b8e1f47d78b2 Mon Sep 17 00:00:00 2001
From: Alexey Antonov
Date: Mon, 20 May 2024 14:49:29 +0300
Subject: [PATCH 01/82] fix: Rules > Detection (SEIM) Rules][SCREEN READER]:
Snooze notifications modal is not trapping VoiceOver + Safari properly
(#182670)
Closes: https://github.com/elastic/security-team/issues/8716
## Description
The Detection Rules table has a Snooze notifications modal that is not
trapping focus consistently in Safari + VoiceOver. The focus is being
"bounced" to the `` container when I traverse using `Ctrl + Opt +
RIGHT_ARROW` or quick arrow navigation methods. These are the default VO
navigation methods. This is not affecting Chrome + JAWS or Firefox +
NVDA. Screenshot and MOV attached below.
### Steps to recreate
1. Open [Detection Rules
(SIEM)](https://kibana.siem.estc.dev/app/security/rules/management)
2. Enable VoiceOver (only use Safari for this test)
3. Tab to the first Snooze Notification bell icon and press `Ctrl + Opt
+ Enter` to open it
4. Navigate through the modal by pressing `Ctrl + Opt + Right_Arrow`
5. Verify when your focus should be on the "days" dropdown, it pops out
to the main container, escaping the modal
### What was done?
1. Focus trap logic has been implemented to ensure that focus returns to
the correct location after executing onRuleChanged.
### Screen:
https://github.com/elastic/kibana/assets/20072247/1c8951df-828d-4c7d-8b2c-2ea5a4d5e400
---
.../components/notify_badge/notify_badge.tsx | 14 +++++++++++---
1 file changed, 11 insertions(+), 3 deletions(-)
diff --git a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/notify_badge/notify_badge.tsx b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/notify_badge/notify_badge.tsx
index e09892471419b..72344122d90f2 100644
--- a/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/notify_badge/notify_badge.tsx
+++ b/x-pack/plugins/triggers_actions_ui/public/application/sections/rules_list/components/notify_badge/notify_badge.tsx
@@ -5,7 +5,7 @@
* 2.0.
*/
-import React, { useCallback, useMemo, useState } from 'react';
+import React, { useCallback, useMemo, useState, useRef } from 'react';
import moment from 'moment';
import {
EuiButton,
@@ -91,6 +91,8 @@ export const RulesListNotifyBadge: React.FunctionComponent(null);
+
const {
notifications: { toasts },
} = useKibana().services;
@@ -192,6 +194,7 @@ export const RulesListNotifyBadge: React.FunctionComponent
{formattedSnoozeText}
@@ -210,6 +213,7 @@ export const RulesListNotifyBadge: React.FunctionComponent
{formattedSnoozeText}
@@ -232,6 +236,7 @@ export const RulesListNotifyBadge: React.FunctionComponent
);
}, [isPopoverOpen, isLoading, isDisabled, showOnHover, openPopover]);
@@ -248,6 +253,7 @@ export const RulesListNotifyBadge: React.FunctionComponent
);
}, [isLoading, isDisabled, openPopover]);
@@ -311,9 +317,10 @@ export const RulesListNotifyBadge: React.FunctionComponent focusTrapButtonRef.current?.focus());
}
},
- [setRequestInFlightLoading, snoozeRule, onRuleChanged, toasts, closePopover]
+ [closePopover, snoozeRule, onRuleChanged, toasts]
);
const onApplyUnsnooze = useCallback(
@@ -328,9 +335,10 @@ export const RulesListNotifyBadge: React.FunctionComponent focusTrapButtonRef.current?.focus());
}
},
- [setRequestInFlightLoading, unsnoozeRule, onRuleChanged, toasts, closePopover]
+ [closePopover, unsnoozeRule, onRuleChanged, toasts]
);
const popover = (
From 79b8babe9166ab6c64505b16a752c332a5a7fe44 Mon Sep 17 00:00:00 2001
From: Peter Pisljar
Date: Mon, 20 May 2024 14:41:10 +0200
Subject: [PATCH 02/82] [expressions] caching (#180440)
---
.../data/common/search/expressions/eql.ts | 1 +
.../search/expressions/esaggs/esaggs_fn.ts | 1 +
.../data/common/search/expressions/esdsl.ts | 1 +
.../data/common/search/expressions/esql.ts | 1 +
.../data/common/search/expressions/essql.ts | 1 +
.../expressions/common/execution/execution.ts | 115 ++++++++++++------
.../expressions/common/execution/types.ts | 5 +
.../executor/executor.execution.test.ts | 6 +-
.../common/executor/executor.test.ts | 90 +++++++++++++-
.../expressions/common/executor/executor.ts | 23 +++-
.../expression_function.ts | 7 ++
.../common/expression_functions/types.ts | 5 +
src/plugins/expressions/common/mocks.ts | 1 +
.../common/service/expressions_services.ts | 2 +
src/plugins/expressions/public/loader.ts | 2 +
src/plugins/expressions/public/types/index.ts | 3 +-
.../lens/public/app_plugin/app.test.tsx | 16 +--
.../lens_configuration_flyout.tsx | 10 +-
.../formula/editor/formula_editor.tsx | 7 +-
.../formula/editor/math_completion.test.ts | 12 +-
.../formula/editor/math_completion.ts | 9 +-
.../datasources/form_based/to_expression.ts | 9 +-
.../config_panel/config_panel.test.tsx | 1 +
.../editor_frame/editor_frame.tsx | 5 +
.../workspace_panel/workspace_panel.tsx | 1 +
.../lens/public/embeddable/embeddable.tsx | 4 +
.../public/embeddable/expression_wrapper.tsx | 1 +
x-pack/plugins/lens/public/mocks/index.ts | 4 +
.../plugins/lens/public/mocks/store_mocks.tsx | 2 +-
.../__snapshots__/load_initial.test.tsx.snap | 4 +-
.../context_middleware/index.test.ts | 4 +-
.../lens/public/state_management/selectors.ts | 1 +
x-pack/plugins/lens/public/types.ts | 1 +
x-pack/plugins/lens/public/utils.ts | 22 ++++
.../xy/annotations/helpers.test.ts | 30 ++++-
.../visualizations/xy/annotations/helpers.tsx | 6 +-
.../visualizations/xy/visualization.test.tsx | 1 +
.../annotations_panel.tsx | 4 +-
38 files changed, 339 insertions(+), 79 deletions(-)
diff --git a/src/plugins/data/common/search/expressions/eql.ts b/src/plugins/data/common/search/expressions/eql.ts
index d60bb6f72480a..d050461ae6b40 100644
--- a/src/plugins/data/common/search/expressions/eql.ts
+++ b/src/plugins/data/common/search/expressions/eql.ts
@@ -58,6 +58,7 @@ export const getEqlFn = ({
name,
type: 'eql_raw_response',
inputTypes: ['kibana_context', 'null'],
+ allowCache: true,
help: i18n.translate('data.search.eql.help', {
defaultMessage: 'Run Elasticsearch request',
}),
diff --git a/src/plugins/data/common/search/expressions/esaggs/esaggs_fn.ts b/src/plugins/data/common/search/expressions/esaggs/esaggs_fn.ts
index 7b5b2700f72c7..818e4ab72d59f 100644
--- a/src/plugins/data/common/search/expressions/esaggs/esaggs_fn.ts
+++ b/src/plugins/data/common/search/expressions/esaggs/esaggs_fn.ts
@@ -57,6 +57,7 @@ export const getEsaggsMeta: () => Omit
name,
type: 'datatable',
inputTypes: ['kibana_context', 'null'],
+ allowCache: true,
help: i18n.translate('data.functions.esaggs.help', {
defaultMessage: 'Run AggConfig aggregation',
}),
diff --git a/src/plugins/data/common/search/expressions/esdsl.ts b/src/plugins/data/common/search/expressions/esdsl.ts
index 84d301498f2f9..1173ae83ec47a 100644
--- a/src/plugins/data/common/search/expressions/esdsl.ts
+++ b/src/plugins/data/common/search/expressions/esdsl.ts
@@ -51,6 +51,7 @@ export const getEsdslFn = ({
name,
type: 'es_raw_response',
inputTypes: ['kibana_context', 'null'],
+ allowCache: true,
help: i18n.translate('data.search.esdsl.help', {
defaultMessage: 'Run Elasticsearch request',
}),
diff --git a/src/plugins/data/common/search/expressions/esql.ts b/src/plugins/data/common/search/expressions/esql.ts
index 2303dabb7e59c..6c3929f201458 100644
--- a/src/plugins/data/common/search/expressions/esql.ts
+++ b/src/plugins/data/common/search/expressions/esql.ts
@@ -75,6 +75,7 @@ export const getEsqlFn = ({ getStartDependencies }: EsqlFnArguments) => {
name: 'esql',
type: 'datatable',
inputTypes: ['kibana_context', 'null'],
+ allowCache: true,
help: i18n.translate('data.search.esql.help', {
defaultMessage: 'Queries Elasticsearch using ES|QL.',
}),
diff --git a/src/plugins/data/common/search/expressions/essql.ts b/src/plugins/data/common/search/expressions/essql.ts
index 69d0e7ed9f727..e459aa4fae170 100644
--- a/src/plugins/data/common/search/expressions/essql.ts
+++ b/src/plugins/data/common/search/expressions/essql.ts
@@ -66,6 +66,7 @@ export const getEssqlFn = ({ getStartDependencies }: EssqlFnArguments) => {
name: 'essql',
type: 'datatable',
inputTypes: ['kibana_context', 'null'],
+ allowCache: true,
help: i18n.translate('data.search.essql.help', {
defaultMessage: 'Queries Elasticsearch using Elasticsearch SQL.',
}),
diff --git a/src/plugins/expressions/common/execution/execution.ts b/src/plugins/expressions/common/execution/execution.ts
index 13162b3a9d825..9dea349940ccb 100644
--- a/src/plugins/expressions/common/execution/execution.ts
+++ b/src/plugins/expressions/common/execution/execution.ts
@@ -27,7 +27,7 @@ import {
Subscription,
} from 'rxjs';
import { catchError, finalize, map, pluck, shareReplay, switchMap, tap } from 'rxjs';
-import { now, AbortError } from '@kbn/kibana-utils-plugin/common';
+import { now, AbortError, calculateObjectHash } from '@kbn/kibana-utils-plugin/common';
import { Adapters } from '@kbn/inspector-plugin/common';
import { Executor } from '../executor';
import { createExecutionContainer, ExecutionContainer } from './container';
@@ -55,6 +55,10 @@ type UnwrapReturnType unknown> =
? UnwrapObservable>
: Awaited>;
+export interface FunctionCacheItem {
+ value: unknown;
+ time: number;
+}
/**
* The result returned after an expression function execution.
*/
@@ -70,6 +74,8 @@ export interface ExecutionResult
note
diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json
index 017acbe370416..04b9e05b48957 100644
--- a/x-pack/plugins/translations/translations/fr-FR.json
+++ b/x-pack/plugins/translations/translations/fr-FR.json
@@ -686,7 +686,6 @@
"core.deprecations.elasticsearchUsername.manualSteps2": "Ajoutez le paramètre \"elasticsearch.serviceAccountToken\" à kibana.yml.",
"core.deprecations.elasticsearchUsername.manualSteps3": "Supprimez \"elasticsearch.username\" et \"elasticsearch.password\" de kibana.yml.",
"core.deprecations.noCorrectiveAction": "Ce déclassement ne peut pas être résolu automatiquement.",
- "core.euiAbsoluteTab.dateFormatHint": "Appuyez sur la touche Entrée pour analyser l'élément en tant que date.",
"core.euiAccordionChildrenLoading.message": "Chargement",
"core.euiAutoRefresh.autoRefreshLabel": "Actualisation automatique",
"core.euiAutoRefresh.buttonLabelOff": "L'actualisation automatique est désactivée",
diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json
index f03111faf3bd1..c6198a0e10efe 100644
--- a/x-pack/plugins/translations/translations/ja-JP.json
+++ b/x-pack/plugins/translations/translations/ja-JP.json
@@ -686,7 +686,6 @@
"core.deprecations.elasticsearchUsername.manualSteps2": "「elasticsearch.serviceAccountToken」設定をkibana.ymlに追加します。",
"core.deprecations.elasticsearchUsername.manualSteps3": "kibana.ymlから「elasticsearch.username」と「elasticsearch.password」を削除します。",
"core.deprecations.noCorrectiveAction": "この廃止予定は自動的に解決できません。",
- "core.euiAbsoluteTab.dateFormatHint": "日付として解析するには、Enterキーを押してください。",
"core.euiAccordionChildrenLoading.message": "読み込み中",
"core.euiAutoRefresh.autoRefreshLabel": "自動更新",
"core.euiAutoRefresh.buttonLabelOff": "自動更新はオフです",
diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json
index 968e567a714bd..3d5c64342c7a8 100644
--- a/x-pack/plugins/translations/translations/zh-CN.json
+++ b/x-pack/plugins/translations/translations/zh-CN.json
@@ -688,7 +688,6 @@
"core.deprecations.elasticsearchUsername.manualSteps2": "将“elasticsearch.serviceAccountToken”设置添加到 kibana.yml。",
"core.deprecations.elasticsearchUsername.manualSteps3": "从 kibana.yml 中移除“elasticsearch.username”和“elasticsearch.password”。",
"core.deprecations.noCorrectiveAction": "无法自动解决此弃用。",
- "core.euiAbsoluteTab.dateFormatHint": "按 Enter 键解析为日期。",
"core.euiAccordionChildrenLoading.message": "正在加载",
"core.euiAutoRefresh.autoRefreshLabel": "自动刷新",
"core.euiAutoRefresh.buttonLabelOff": "自动刷新已关闭",
diff --git a/yarn.lock b/yarn.lock
index 63f50a8f16e93..b32d917f64ce6 100644
--- a/yarn.lock
+++ b/yarn.lock
@@ -1735,10 +1735,10 @@
resolved "https://registry.yarnpkg.com/@elastic/eslint-plugin-eui/-/eslint-plugin-eui-0.0.2.tgz#56b9ef03984a05cc213772ae3713ea8ef47b0314"
integrity sha512-IoxURM5zraoQ7C8f+mJb9HYSENiZGgRVcG4tLQxE61yHNNRDXtGDWTZh8N1KIHcsqN1CEPETjuzBXkJYF/fDiQ==
-"@elastic/eui@94.3.0":
- version "94.3.0"
- resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-94.3.0.tgz#77c07701128b6443e2ea55e2462ef0ccadd64582"
- integrity sha512-qJTLrQYe11MPTX+8AqifJVYLDyO8VqdFWqPVJRYel11l/FvJOqyQi50x+xQK8I7h73TF50xywtUHCfhfkqpbYg==
+"@elastic/eui@94.5.0-backport.1":
+ version "94.5.0-backport.1"
+ resolved "https://registry.yarnpkg.com/@elastic/eui/-/eui-94.5.0-backport.1.tgz#b26b06c9d4823b80b6c2a4457edfd6cd0cb8ebad"
+ integrity sha512-K6xVQYZjhdZyHNANw4H45ONw2pbZEJtaKr3Aul+dIQmYSRs0NgZbZyjt5fiLMaHJz2EFIpDEZMFccW6l0Aiukg==
dependencies:
"@hello-pangea/dnd" "^16.6.0"
"@types/lodash" "^4.14.202"
From 88baf9a96eb2c1989296eb55503ad31a8e0e27c8 Mon Sep 17 00:00:00 2001
From: James Gowdy
Date: Mon, 20 May 2024 15:04:07 +0100
Subject: [PATCH 05/82] [ML] Re-enabling trained models test (#183820)
This failure was caused by an API test which downloads ELSER but doesn't
delete afterwards.
That test has been
[skipped](https://github.com/elastic/kibana/pull/183705).
---
.../functional/test_suites/security/ml/trained_models_list.ts | 3 ---
1 file changed, 3 deletions(-)
diff --git a/x-pack/test_serverless/functional/test_suites/security/ml/trained_models_list.ts b/x-pack/test_serverless/functional/test_suites/security/ml/trained_models_list.ts
index 8e6928b9817a2..745f2b8d4a65f 100644
--- a/x-pack/test_serverless/functional/test_suites/security/ml/trained_models_list.ts
+++ b/x-pack/test_serverless/functional/test_suites/security/ml/trained_models_list.ts
@@ -11,10 +11,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const svlMl = getService('svlMl');
const PageObjects = getPageObjects(['svlCommonPage']);
- // failsOnMKI, see https://github.com/elastic/kibana/issues/180481
describe('Trained models list', function () {
- this.tags(['failsOnMKI']);
-
before(async () => {
await PageObjects.svlCommonPage.login();
await ml.api.syncSavedObjects();
From e450763e1240d87fad1ca96308081932a3ee624f Mon Sep 17 00:00:00 2001
From: Yan Savitski
Date: Mon, 20 May 2024 16:06:38 +0200
Subject: [PATCH 06/82] [Search] [Playground] Fix bedrock action client
(#183828)
Fix ActionsClientLLM to make it works with Bedrock connector in
Playground.
---
.../server/lib/get_chat_params.test.ts | 11 ++++++++++-
.../search_playground/server/lib/get_chat_params.ts | 5 +++++
2 files changed, 15 insertions(+), 1 deletion(-)
diff --git a/x-pack/plugins/search_playground/server/lib/get_chat_params.test.ts b/x-pack/plugins/search_playground/server/lib/get_chat_params.test.ts
index cb409461d0a48..624f6e0aa637f 100644
--- a/x-pack/plugins/search_playground/server/lib/get_chat_params.test.ts
+++ b/x-pack/plugins/search_playground/server/lib/get_chat_params.test.ts
@@ -84,7 +84,16 @@ describe('getChatParams', () => {
context: true,
type: 'anthropic',
});
- expect(ActionsClientLlm).toHaveBeenCalledWith(expect.anything());
+ expect(ActionsClientLlm).toHaveBeenCalledWith({
+ temperature: 0,
+ llmType: 'bedrock',
+ traceId: 'test-uuid',
+ request: expect.anything(),
+ logger: expect.anything(),
+ model: 'custom-model',
+ connectorId: '2',
+ actions: expect.anything(),
+ });
expect(result.chatPrompt).toContain('How does it work?');
});
diff --git a/x-pack/plugins/search_playground/server/lib/get_chat_params.ts b/x-pack/plugins/search_playground/server/lib/get_chat_params.ts
index 2dba42c668c77..8a5aeb68c7e76 100644
--- a/x-pack/plugins/search_playground/server/lib/get_chat_params.ts
+++ b/x-pack/plugins/search_playground/server/lib/get_chat_params.ts
@@ -16,6 +16,7 @@ import type { PluginStartContract as ActionsPluginStartContract } from '@kbn/act
import type { KibanaRequest, Logger } from '@kbn/core/server';
import { BaseLanguageModel } from '@langchain/core/language_models/base';
import type { Connector } from '@kbn/actions-plugin/server/application/connector/types';
+import { getDefaultArguments } from '@kbn/elastic-assistant-common/impl/language_models/constants';
import { Prompt } from '../../common/prompt';
export const getChatParams = async (
@@ -52,6 +53,7 @@ export const getChatParams = async (
model,
traceId: uuidv4(),
signal: abortSignal,
+ temperature: getDefaultArguments().temperature,
// prevents the agent from retrying on failure
// failure could be due to bad connector, we should deliver that result to the client asap
maxRetries: 0,
@@ -63,6 +65,7 @@ export const getChatParams = async (
});
break;
case BEDROCK_CONNECTOR_ID:
+ const llmType = 'bedrock';
chatModel = new ActionsClientLlm({
actions,
logger,
@@ -70,6 +73,8 @@ export const getChatParams = async (
connectorId,
model,
traceId: uuidv4(),
+ llmType,
+ temperature: getDefaultArguments(llmType).temperature,
});
chatPrompt = Prompt(prompt, {
citations,
From a9cb7d2423f135214b2c6df945b667296cb75176 Mon Sep 17 00:00:00 2001
From: Yan Savitski
Date: Mon, 20 May 2024 16:18:11 +0200
Subject: [PATCH 07/82] [Search] [Playground] FTR tests (#183329)
Approach with different configs for kibana ui and serverless was peek
out from security_solution test. 48 serverless config files are defined
in the test folder.
Test: no index
check no index message
Test: no connector
Add Index of example data (can be 10 docs into elasticsearch, BM25)
Add a connector (showing the modal)
verify the modal is shown
Test: with connector
seed ES with a connector in the test
Ask a question
Validate the connector has been called and respond back
validate the response is returned
validate the view query can be opened and content (query + fields) is as
expected
validate the edit context is can be opened and the fields is as expected
---
.buildkite/ftr_configs.yml | 1 +
.../public/chat_playground_overview.tsx | 20 ++-
.../public/components/chat.tsx | 2 +
.../edit_context/edit_context_action.tsx | 6 +-
.../edit_context/edit_context_flyout.tsx | 3 +-
.../components/message_list/user_message.tsx | 1 +
.../public/components/question_input.tsx | 1 +
.../sources_panel/add_indices_field.tsx | 1 +
.../public/components/start_new_chat.tsx | 5 +-
.../components/view_code/view_code_action.tsx | 1 +
.../components/view_code/view_code_flyout.tsx | 2 +-
.../view_query/view_query_action.tsx | 6 +-
.../view_query/view_query_flyout.tsx | 3 +-
.../apps/search_playground/config.ts | 17 +++
.../apps/search_playground/index.ts | 13 ++
.../playground_overview.ess.ts | 94 ++++++++++++
.../utils/create_openai_connector.ts | 50 +++++++
x-pack/test/functional/page_objects/index.ts | 2 +
.../page_objects/search_playground_page.ts | 114 +++++++++++++++
.../functional/page_objects/index.ts | 2 -
.../page_objects/svl_playground_page.ts | 26 ----
.../test_suites/search/playground_overview.ts | 136 ++++++++++++++++--
22 files changed, 456 insertions(+), 50 deletions(-)
create mode 100644 x-pack/test/functional/apps/search_playground/config.ts
create mode 100644 x-pack/test/functional/apps/search_playground/index.ts
create mode 100644 x-pack/test/functional/apps/search_playground/playground_overview.ess.ts
create mode 100644 x-pack/test/functional/apps/search_playground/utils/create_openai_connector.ts
create mode 100644 x-pack/test/functional/page_objects/search_playground_page.ts
delete mode 100644 x-pack/test_serverless/functional/page_objects/svl_playground_page.ts
diff --git a/.buildkite/ftr_configs.yml b/.buildkite/ftr_configs.yml
index 9a73a5a00e8d6..052f6623dc1a6 100644
--- a/.buildkite/ftr_configs.yml
+++ b/.buildkite/ftr_configs.yml
@@ -322,6 +322,7 @@ enabled:
- x-pack/test/functional/apps/saved_query_management/config.ts
- x-pack/test/functional/apps/security/config.ts
- x-pack/test/functional/apps/slo/embeddables/config.ts
+ - x-pack/test/functional/apps/search_playground/config.ts
- x-pack/test/functional/apps/snapshot_restore/config.ts
- x-pack/test/functional/apps/spaces/config.ts
- x-pack/test/functional/apps/spaces/in_solution_navigation/config.ts
diff --git a/x-pack/plugins/search_playground/public/chat_playground_overview.tsx b/x-pack/plugins/search_playground/public/chat_playground_overview.tsx
index d40996ba91455..c6443c912bda0 100644
--- a/x-pack/plugins/search_playground/public/chat_playground_overview.tsx
+++ b/x-pack/plugins/search_playground/public/chat_playground_overview.tsx
@@ -7,7 +7,7 @@
import { i18n } from '@kbn/i18n';
import React, { useMemo } from 'react';
-import { EuiBetaBadge, EuiFlexGroup, EuiFlexItem, EuiPageTemplate } from '@elastic/eui';
+import { EuiBetaBadge, EuiFlexGroup, EuiFlexItem, EuiPageTemplate, EuiTitle } from '@elastic/eui';
import { FormattedMessage } from '@kbn/i18n-react';
import { PlaygroundProvider } from './providers/playground_provider';
@@ -39,15 +39,21 @@ export const ChatPlaygroundOverview: React.FC = () => {
grow={false}
>
.euiFlexGroup': { flexWrap: 'wrap' } }}
pageTitle={
-
-
-
+
+
+
+
+
{
component="form"
css={{ display: 'flex', flexGrow: 1 }}
onSubmit={handleSubmit(onSubmit)}
+ data-test-subj="chatPage"
>
{
isLoading={isSubmitting}
isDisabled={!isValid}
iconType={TelegramIcon}
+ data-test-subj="sendQuestionButton"
/>
)
}
diff --git a/x-pack/plugins/search_playground/public/components/edit_context/edit_context_action.tsx b/x-pack/plugins/search_playground/public/components/edit_context/edit_context_action.tsx
index 45e956472bf9a..6e9a638248660 100644
--- a/x-pack/plugins/search_playground/public/components/edit_context/edit_context_action.tsx
+++ b/x-pack/plugins/search_playground/public/components/edit_context/edit_context_action.tsx
@@ -22,7 +22,11 @@ export const EditContextAction: React.FC = () => {
return (
<>
{showFlyout && }
- setShowFlyout(true)} disabled={selectedIndices?.length === 0}>
+ setShowFlyout(true)}
+ disabled={selectedIndices?.length === 0}
+ data-test-subj="editContextActionButton"
+ >
= ({ onClose })
}, [usageTracker]);
return (
-
+
@@ -172,6 +172,7 @@ export const EditContextFlyout: React.FC = ({ onClose })
options={group.source_fields.map((field) => ({
value: field,
inputDisplay: field,
+ 'data-test-subj': 'contextField',
}))}
valueOfSelected={tempSourceFields[index]?.[0]}
onChange={(value) => updateSourceField(index, value)}
diff --git a/x-pack/plugins/search_playground/public/components/message_list/user_message.tsx b/x-pack/plugins/search_playground/public/components/message_list/user_message.tsx
index b2ad7d6e1b647..12c1d86283404 100644
--- a/x-pack/plugins/search_playground/public/components/message_list/user_message.tsx
+++ b/x-pack/plugins/search_playground/public/components/message_list/user_message.tsx
@@ -57,6 +57,7 @@ export const UserMessage: React.FC = ({ content, createdAt })
})}
/>
}
+ data-test-subj="userMessage"
>
{content}
diff --git a/x-pack/plugins/search_playground/public/components/question_input.tsx b/x-pack/plugins/search_playground/public/components/question_input.tsx
index 0077e2ac7bf73..cdc9d347e4ff8 100644
--- a/x-pack/plugins/search_playground/public/components/question_input.tsx
+++ b/x-pack/plugins/search_playground/public/components/question_input.tsx
@@ -66,6 +66,7 @@ export const QuestionInput: React.FC = ({
onChange={handleChange}
disabled={isDisabled}
resize="none"
+ data-test-subj="questionInput"
/>
= ({
disabled: selectedIndices.includes(index),
}))}
isClearable={false}
+ data-test-subj="selectIndicesComboBox"
/>
);
diff --git a/x-pack/plugins/search_playground/public/components/start_new_chat.tsx b/x-pack/plugins/search_playground/public/components/start_new_chat.tsx
index 0db891438cb3d..46d3896e9e953 100644
--- a/x-pack/plugins/search_playground/public/components/start_new_chat.tsx
+++ b/x-pack/plugins/search_playground/public/components/start_new_chat.tsx
@@ -41,7 +41,7 @@ export const StartNewChat: React.FC
= ({ onStartClick }) => {
}, [usageTracker]);
return (
-
+
= ({ onStartClick }) => {
-
+
= ({ onStartClick }) => {
!watch(ChatFormFields.elasticsearchQuery, '')
}
onClick={onStartClick}
+ data-test-subj="startChatButton"
>
{
fill
onClick={() => setShowFlyout(true)}
disabled={!selectedIndices || selectedIndices?.length === 0}
+ data-test-subj="viewCodeActionButton"
>
= ({ onClose }) => {
}, [usageTracker, selectedLanguage]);
return (
-
+
diff --git a/x-pack/plugins/search_playground/public/components/view_query/view_query_action.tsx b/x-pack/plugins/search_playground/public/components/view_query/view_query_action.tsx
index 9b691283bab90..53d01dc81d614 100644
--- a/x-pack/plugins/search_playground/public/components/view_query/view_query_action.tsx
+++ b/x-pack/plugins/search_playground/public/components/view_query/view_query_action.tsx
@@ -20,7 +20,11 @@ export const ViewQueryAction: React.FC = () => {
return (
<>
{showFlyout && setShowFlyout(false)} />}
- setShowFlyout(true)} disabled={selectedIndices?.length === 0}>
+ setShowFlyout(true)}
+ disabled={selectedIndices?.length === 0}
+ data-test-subj="viewQueryActionButton"
+ >
= ({ onClose }) =>
}, [usageTracker]);
return (
-
+
@@ -216,6 +216,7 @@ export const ViewQueryFlyout: React.FC = ({ onClose }) =>
/>
),
checked: checked ? 'on' : undefined,
+ 'data-test-subj': 'queryField',
};
})}
listProps={{
diff --git a/x-pack/test/functional/apps/search_playground/config.ts b/x-pack/test/functional/apps/search_playground/config.ts
new file mode 100644
index 0000000000000..d0d07ff200281
--- /dev/null
+++ b/x-pack/test/functional/apps/search_playground/config.ts
@@ -0,0 +1,17 @@
+/*
+ * 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 { FtrConfigProviderContext } from '@kbn/test';
+
+export default async function ({ readConfigFile }: FtrConfigProviderContext) {
+ const functionalConfig = await readConfigFile(require.resolve('../../config.base.js'));
+
+ return {
+ ...functionalConfig.getAll(),
+ testFiles: [require.resolve('.')],
+ };
+}
diff --git a/x-pack/test/functional/apps/search_playground/index.ts b/x-pack/test/functional/apps/search_playground/index.ts
new file mode 100644
index 0000000000000..f15cbe9179868
--- /dev/null
+++ b/x-pack/test/functional/apps/search_playground/index.ts
@@ -0,0 +1,13 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+import { FtrProviderContext } from '../../ftr_provider_context';
+
+export default function ({ loadTestFile }: FtrProviderContext) {
+ describe('playground', async () => {
+ loadTestFile(require.resolve('./playground_overview.ess.ts'));
+ });
+}
diff --git a/x-pack/test/functional/apps/search_playground/playground_overview.ess.ts b/x-pack/test/functional/apps/search_playground/playground_overview.ess.ts
new file mode 100644
index 0000000000000..48f6d5e13cf88
--- /dev/null
+++ b/x-pack/test/functional/apps/search_playground/playground_overview.ess.ts
@@ -0,0 +1,94 @@
+/*
+ * 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 { FtrProviderContext } from '../../ftr_provider_context';
+import { createOpenAIConnector } from './utils/create_openai_connector';
+import { MachineLearningCommonAPIProvider } from '../../services/ml/common_api';
+
+const indexName = 'basic_index';
+const esArchiveIndex = 'test/api_integration/fixtures/es_archiver/index_patterns/basic_index';
+
+export default function (ftrContext: FtrProviderContext) {
+ const { getService, getPageObjects } = ftrContext;
+ const pageObjects = getPageObjects(['common', 'searchPlayground']);
+ const commonAPI = MachineLearningCommonAPIProvider(ftrContext);
+ const supertest = getService('supertest');
+ const esArchiver = getService('esArchiver');
+ const createIndex = async () => await esArchiver.load(esArchiveIndex);
+ let removeOpenAIConnector: () => Promise;
+ const createConnector = async () => {
+ removeOpenAIConnector = await createOpenAIConnector({
+ supertest,
+ requestHeader: commonAPI.getCommonRequestHeader(),
+ });
+ };
+
+ describe('Playground Overview', () => {
+ before(async () => {
+ await pageObjects.common.navigateToApp('enterpriseSearchApplications/playground');
+ });
+
+ after(async () => {
+ await esArchiver.unload(esArchiveIndex);
+ await removeOpenAIConnector?.();
+ });
+
+ describe('start chat page', () => {
+ it('playground app is loaded', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectPlaygroundStartChatPageComponentsToExist();
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectPlaygroundHeaderComponentsToExist();
+ });
+
+ it('show no index callout', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectNoIndexCalloutExists();
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectCreateIndexButtonToExists();
+ });
+
+ it('hide no index callout when index added', async () => {
+ await createIndex();
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectSelectIndex(indexName);
+ });
+
+ it('show add connector button', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectAddConnectorButtonExists();
+ });
+
+ it('click add connector button opens connector flyout', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectOpenConnectorPagePlayground();
+ });
+
+ it('hide gen ai panel when connector exists', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectHideGenAIPanelConnector(
+ createConnector
+ );
+ });
+
+ it('show chat page', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectSelectIndex(indexName);
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectToStartChatPage();
+ });
+ });
+
+ describe('chat page', () => {
+ it('chat works', async () => {
+ await pageObjects.searchPlayground.PlaygroundChatPage.expectChatWorks();
+ });
+
+ it('open view code', async () => {
+ await pageObjects.searchPlayground.PlaygroundChatPage.expectOpenViewCode();
+ });
+
+ it('show fields and code in view query', async () => {
+ await pageObjects.searchPlayground.PlaygroundChatPage.expectViewQueryHasFields();
+ });
+
+ it('show edit context', async () => {
+ await pageObjects.searchPlayground.PlaygroundChatPage.expectEditContextOpens();
+ });
+ });
+ });
+}
diff --git a/x-pack/test/functional/apps/search_playground/utils/create_openai_connector.ts b/x-pack/test/functional/apps/search_playground/utils/create_openai_connector.ts
new file mode 100644
index 0000000000000..864e424664785
--- /dev/null
+++ b/x-pack/test/functional/apps/search_playground/utils/create_openai_connector.ts
@@ -0,0 +1,50 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import type SuperTest from 'supertest';
+
+export async function createOpenAIConnector({
+ supertest,
+ requestHeader = {},
+ apiKeyHeader = {},
+}: {
+ supertest: SuperTest.Agent;
+ requestHeader?: Record;
+ apiKeyHeader?: Record;
+}): Promise<() => Promise> {
+ const config = {
+ apiProvider: 'OpenAI',
+ defaultModel: 'gpt-4',
+ apiUrl: 'http://localhost:3002',
+ };
+
+ const connector: { id: string } | undefined = (
+ await supertest
+ .post('/api/actions/connector')
+ .set(requestHeader)
+ .set(apiKeyHeader)
+ .send({
+ name: 'test Open AI',
+ connector_type_id: '.gen-ai',
+ config,
+ secrets: {
+ apiKey: 'genAiApiKey',
+ },
+ })
+ .expect(200)
+ ).body;
+
+ return async () => {
+ if (connector) {
+ await supertest
+ .delete(`/api/actions/connector/${connector.id}`)
+ .set(requestHeader)
+ .set(apiKeyHeader)
+ .expect(204);
+ }
+ };
+}
diff --git a/x-pack/test/functional/page_objects/index.ts b/x-pack/test/functional/page_objects/index.ts
index 7a459ad74f980..155bc0901ae4d 100644
--- a/x-pack/test/functional/page_objects/index.ts
+++ b/x-pack/test/functional/page_objects/index.ts
@@ -53,6 +53,7 @@ import { UptimePageObject } from './uptime_page';
import { UserProfilePageProvider } from './user_profile_page';
import { WatcherPageObject } from './watcher_page';
import { SearchProfilerPageProvider } from './search_profiler_page';
+import { SearchPlaygroundPageProvider } from './search_playground_page';
// just like services, PageObjects are defined as a map of
// names to Providers. Merge in Kibana's or pick specific ones
@@ -93,6 +94,7 @@ export const pageObjects = {
roleMappings: RoleMappingsPageProvider,
rollup: RollupPageObject,
searchProfiler: SearchProfilerPageProvider,
+ searchPlayground: SearchPlaygroundPageProvider,
searchSessionsManagement: SearchSessionsPageProvider,
security: SecurityPageObject,
shareSavedObjectsToSpace: ShareSavedObjectsToSpacePageProvider,
diff --git a/x-pack/test/functional/page_objects/search_playground_page.ts b/x-pack/test/functional/page_objects/search_playground_page.ts
new file mode 100644
index 0000000000000..35e0a8cc253d3
--- /dev/null
+++ b/x-pack/test/functional/page_objects/search_playground_page.ts
@@ -0,0 +1,114 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import expect from '@kbn/expect';
+import { FtrProviderContext } from '../ftr_provider_context';
+
+export function SearchPlaygroundPageProvider({ getService }: FtrProviderContext) {
+ const testSubjects = getService('testSubjects');
+ const comboBox = getService('comboBox');
+ const browser = getService('browser');
+
+ return {
+ PlaygroundStartChatPage: {
+ async expectPlaygroundStartChatPageComponentsToExist() {
+ await testSubjects.existOrFail('startChatPage');
+ await testSubjects.existOrFail('selectIndicesChatPanel');
+ await testSubjects.existOrFail('startChatButton');
+ },
+
+ async expectPlaygroundHeaderComponentsToExist() {
+ await testSubjects.existOrFail('playground-header-actions');
+ await testSubjects.existOrFail('playground-documentation-link');
+ },
+
+ async expectCreateIndexButtonToMissed() {
+ await testSubjects.missingOrFail('createIndexButton');
+ },
+
+ async expectCreateIndexButtonToExists() {
+ await testSubjects.existOrFail('createIndexButton');
+ },
+
+ async expectNoIndexCalloutExists() {
+ await testSubjects.existOrFail('createIndexCallout');
+ },
+
+ async expectSelectIndex(indexName: string) {
+ await browser.refresh();
+ await testSubjects.missingOrFail('createIndexCallout');
+ await testSubjects.existOrFail('selectIndicesComboBox');
+ await comboBox.setCustom('selectIndicesComboBox', indexName);
+ },
+
+ async expectNoIndicesFieldsWarningExists() {
+ await testSubjects.existOrFail('NoIndicesFieldsMessage');
+ },
+
+ async expectAddConnectorButtonExists() {
+ await testSubjects.existOrFail('setupGenAIConnectorButton');
+ },
+
+ async expectOpenConnectorPagePlayground() {
+ await testSubjects.click('setupGenAIConnectorButton');
+ await testSubjects.existOrFail('create-connector-flyout');
+ },
+
+ async expectHideGenAIPanelConnector(createConnector: () => Promise) {
+ await createConnector();
+ await browser.refresh();
+ await testSubjects.missingOrFail('connectToLLMChatPanel');
+ },
+
+ async expectToStartChatPage() {
+ expect(await testSubjects.isEnabled('startChatButton')).to.be(true);
+ await testSubjects.click('startChatButton');
+ await testSubjects.existOrFail('chatPage');
+ },
+ },
+ PlaygroundChatPage: {
+ async expectChatWorks() {
+ await testSubjects.existOrFail('questionInput');
+ await testSubjects.setValue('questionInput', 'test question');
+ await testSubjects.click('sendQuestionButton');
+ await testSubjects.existOrFail('userMessage');
+ },
+
+ async expectOpenViewCode() {
+ await testSubjects.click('viewCodeActionButton');
+ await testSubjects.existOrFail('viewCodeFlyout');
+ await testSubjects.click('euiFlyoutCloseButton');
+ },
+
+ async expectViewQueryHasFields() {
+ await testSubjects.click('viewQueryActionButton');
+ await testSubjects.existOrFail('viewQueryFlyout');
+ const fields = await testSubjects.findAll('queryField');
+
+ expect(fields.length).to.be(1);
+
+ const codeBlock = await testSubjects.find('ViewElasticsearchQueryResult');
+ const code = await codeBlock.getVisibleText();
+ expect(code.replace(/ /g, '')).to.be(
+ '{\n"retriever":{\n"standard":{\n"query":{\n"multi_match":{\n"query":"{query}",\n"fields":[\n"baz"\n]\n}\n}\n}\n}\n}'
+ );
+ await testSubjects.click('euiFlyoutCloseButton');
+ },
+
+ async expectEditContextOpens() {
+ await testSubjects.click('editContextActionButton');
+ await testSubjects.existOrFail('editContextFlyout');
+ await testSubjects.click('contextFieldsSelectable_basic_index');
+ await testSubjects.existOrFail('contextField');
+ const fields = await testSubjects.findAll('contextField');
+
+ expect(fields.length).to.be(1);
+ await testSubjects.click('euiFlyoutCloseButton');
+ },
+ },
+ };
+}
diff --git a/x-pack/test_serverless/functional/page_objects/index.ts b/x-pack/test_serverless/functional/page_objects/index.ts
index ebc85de7d332c..f1604d48508e2 100644
--- a/x-pack/test_serverless/functional/page_objects/index.ts
+++ b/x-pack/test_serverless/functional/page_objects/index.ts
@@ -21,7 +21,6 @@ import { SvlRuleDetailsPageProvider } from './svl_rule_details_ui_page';
import { SvlSearchConnectorsPageProvider } from './svl_search_connectors_page';
import { SvlManagementPageProvider } from './svl_management_page';
import { SvlIngestPipelines } from './svl_ingest_pipelines';
-import { SvlPlaygroundPageProvider } from './svl_playground_page';
export const pageObjects = {
...xpackFunctionalPageObjects,
@@ -39,5 +38,4 @@ export const pageObjects = {
svlRuleDetailsUI: SvlRuleDetailsPageProvider,
svlManagementPage: SvlManagementPageProvider,
svlIngestPipelines: SvlIngestPipelines,
- svlPlaygroundUI: SvlPlaygroundPageProvider,
};
diff --git a/x-pack/test_serverless/functional/page_objects/svl_playground_page.ts b/x-pack/test_serverless/functional/page_objects/svl_playground_page.ts
deleted file mode 100644
index e0c26c031eb50..0000000000000
--- a/x-pack/test_serverless/functional/page_objects/svl_playground_page.ts
+++ /dev/null
@@ -1,26 +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 { FtrProviderContext } from '../ftr_provider_context';
-
-export function SvlPlaygroundPageProvider({ getService }: FtrProviderContext) {
- const testSubjects = getService('testSubjects');
- return {
- PlaygrounStartChatPage: {
- async expectPlaygroundStartChatPageComponentsToExist() {
- await testSubjects.existOrFail('chat-playground-home-page-title');
- await testSubjects.existOrFail('selectIndicesChatPanel');
- await testSubjects.existOrFail('startChatButton');
- },
-
- async expectPlaygroundHeaderComponentsToExist() {
- await testSubjects.existOrFail('playground-header-actions');
- await testSubjects.existOrFail('playground-documentation-link');
- },
- },
- };
-}
diff --git a/x-pack/test_serverless/functional/test_suites/search/playground_overview.ts b/x-pack/test_serverless/functional/test_suites/search/playground_overview.ts
index f726287de0fb7..0a75db1545440 100644
--- a/x-pack/test_serverless/functional/test_suites/search/playground_overview.ts
+++ b/x-pack/test_serverless/functional/test_suites/search/playground_overview.ts
@@ -5,24 +5,144 @@
* 2.0.
*/
-import { FtrProviderContext } from '../../ftr_provider_context';
+import type SuperTest from 'supertest';
import { testHasEmbeddedConsole } from './embedded_console';
+import { FtrProviderContext } from '../../ftr_provider_context';
+import { RoleCredentials } from '../../../shared/services';
+
+const indexName = 'basic_index';
+const esArchiveIndex = 'test/api_integration/fixtures/es_archiver/index_patterns/basic_index';
+async function createOpenAIConnector({
+ supertest,
+ requestHeader = {},
+ apiKeyHeader = {},
+}: {
+ supertest: SuperTest.Agent;
+ requestHeader?: Record;
+ apiKeyHeader?: Record;
+}): Promise<() => Promise> {
+ const config = {
+ apiProvider: 'OpenAI',
+ defaultModel: 'gpt-4',
+ apiUrl: 'http://localhost:3002',
+ };
+
+ const connector: { id: string } | undefined = (
+ await supertest
+ .post('/api/actions/connector')
+ .set(requestHeader)
+ .set(apiKeyHeader)
+ .send({
+ name: 'test Open AI',
+ connector_type_id: '.gen-ai',
+ config,
+ secrets: {
+ apiKey: 'genAiApiKey',
+ },
+ })
+ .expect(200)
+ ).body;
+
+ return async () => {
+ if (connector) {
+ await supertest
+ .delete(`/api/actions/connector/${connector.id}`)
+ .set(requestHeader)
+ .set(apiKeyHeader)
+ .expect(204);
+ }
+ };
+}
+
+export default function ({ getPageObjects, getService }: FtrProviderContext) {
+ const pageObjects = getPageObjects(['svlCommonPage', 'svlCommonNavigation', 'searchPlayground']);
+ const svlCommonApi = getService('svlCommonApi');
+ const svlUserManager = getService('svlUserManager');
+ const supertestWithoutAuth = getService('supertestWithoutAuth');
+ const esArchiver = getService('esArchiver');
+ const createIndex = async () => await esArchiver.load(esArchiveIndex);
+ let roleAuthc: RoleCredentials;
+
+ describe('Serverless Playground Overview', () => {
+ let removeOpenAIConnector: () => Promise;
+ let createConnector: () => Promise;
-export default function ({ getPageObjects }: FtrProviderContext) {
- const pageObjects = getPageObjects(['svlCommonPage', 'svlCommonNavigation', 'svlPlaygroundUI']);
- describe('Playground', function () {
before(async () => {
await pageObjects.svlCommonPage.login();
- await pageObjects.svlCommonNavigation.sidenav.clickLink({ deepLinkId: 'searchPlayground' });
+ await pageObjects.svlCommonNavigation.sidenav.clickLink({
+ deepLinkId: 'searchPlayground',
+ });
+
+ const requestHeader = svlCommonApi.getInternalRequestHeader();
+ roleAuthc = await svlUserManager.createApiKeyForRole('admin');
+ createConnector = async () => {
+ removeOpenAIConnector = await createOpenAIConnector({
+ supertest: supertestWithoutAuth,
+ requestHeader,
+ apiKeyHeader: roleAuthc.apiKeyHeader,
+ });
+ };
});
after(async () => {
+ await removeOpenAIConnector?.();
+ await esArchiver.unload(esArchiveIndex);
+ await svlUserManager.invalidateApiKeyForRole(roleAuthc);
await pageObjects.svlCommonPage.forceLogout();
});
- it('playground app is loaded', async () => {
- await pageObjects.svlPlaygroundUI.PlaygrounStartChatPage.expectPlaygroundStartChatPageComponentsToExist();
- await pageObjects.svlPlaygroundUI.PlaygrounStartChatPage.expectPlaygroundHeaderComponentsToExist();
+ describe('start chat page', () => {
+ it('playground app is loaded', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectPlaygroundStartChatPageComponentsToExist();
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectPlaygroundHeaderComponentsToExist();
+ });
+
+ it('show no index callout', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectNoIndexCalloutExists();
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectCreateIndexButtonToMissed();
+ });
+
+ it('hide no index callout when index added', async () => {
+ await createIndex();
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectSelectIndex(indexName);
+ });
+
+ it('show add connector button', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectAddConnectorButtonExists();
+ });
+
+ it('click add connector button opens connector flyout', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectOpenConnectorPagePlayground();
+ });
+
+ it('hide gen ai panel when connector exists', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectHideGenAIPanelConnector(
+ createConnector
+ );
+ });
+
+ it('show chat page', async () => {
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectSelectIndex(indexName);
+ await pageObjects.searchPlayground.PlaygroundStartChatPage.expectToStartChatPage();
+ });
+ });
+
+ describe('chat page', () => {
+ it('chat works', async () => {
+ await pageObjects.searchPlayground.PlaygroundChatPage.expectChatWorks();
+ });
+
+ it('open view code', async () => {
+ await pageObjects.searchPlayground.PlaygroundChatPage.expectOpenViewCode();
+ });
+
+ it('show fields and code in view query', async () => {
+ await pageObjects.searchPlayground.PlaygroundChatPage.expectViewQueryHasFields();
+ });
+
+ it('show edit context', async () => {
+ await pageObjects.searchPlayground.PlaygroundChatPage.expectEditContextOpens();
+ });
});
it('has embedded console', async () => {
From 23637b142b3f05f4cd97e8b82077639f869140de Mon Sep 17 00:00:00 2001
From: Tiago Costa
Date: Mon, 20 May 2024 16:08:13 +0100
Subject: [PATCH 08/82] skip flaky suite (#183196)
---
.../accessibility/apps/group3/ml_embeddables_in_dashboard.ts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/x-pack/test/accessibility/apps/group3/ml_embeddables_in_dashboard.ts b/x-pack/test/accessibility/apps/group3/ml_embeddables_in_dashboard.ts
index c3278b39096c7..39a10547c57b9 100644
--- a/x-pack/test/accessibility/apps/group3/ml_embeddables_in_dashboard.ts
+++ b/x-pack/test/accessibility/apps/group3/ml_embeddables_in_dashboard.ts
@@ -81,7 +81,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
});
for (const testData of testDataList) {
- describe(testData.suiteSuffix, function () {
+ // FLAKY: https://github.com/elastic/kibana/issues/183196
+ describe.skip(testData.suiteSuffix, function () {
before(async () => {
await ml.api.createAndRunAnomalyDetectionLookbackJob(
testData.jobConfig,
From a5d1b8c2d819a31e687052029f060f76dc486797 Mon Sep 17 00:00:00 2001
From: Alexey Antonov
Date: Mon, 20 May 2024 18:12:18 +0300
Subject: [PATCH 09/82] fix: [Obs AI Ops > Anomaly Detection][KEYBOARD]: Single
time series analysis popover must be scrollable using arrow keys (#183730)
Closes: https://github.com/elastic/observability-dev/issues/3395
## Description
The Obs Anomaly Detection Single Metric Viewer and Anomaly Explorer have
a help popouts with a long block of text. This popout can be accessed by
keyboard, but the text inside cannot be scrolled using arrow keys. This
means the information is not available to keyboard users and must be
remediated. Screenshot attached below.
### Steps to recreate
1. Open the [Obs Anomaly
Detection](https://issue-serverless-alpbx-pr180406-c06b1b.kb.eu-west-1.aws.qa.elastic.cloud/app/ml/jobs)
view
2. Create a new anomaly detection job
3. From the Anomaly Detection Jobs table, click the Single Metric Viewer
icon
4. On the Single Metric Viewer view, tab to the life preserver icon, and
press `Enter`
5. Press the `Down_Arrow` key when the popover is visible
6. Confirm the text cannot be scrolled by keyboard, but can be scrolled
by mouse wheel/scroll event
### What was changed?:
1. Added the "eui-scrollBar" class and set tabIndex={0} to the text
container. See
https://eui.elastic.co/#/utilities/scroll#scroll-bar-style
### Screen:
Changes were applied to the `HelpPopover` and fix all places where that
wrapper is utilized.
https://github.com/elastic/kibana/assets/20072247/977e9a35-a345-45a8-9a33-9683420aef63
---
.../public/application/components/help_popover/help_popover.tsx | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/x-pack/plugins/ml/public/application/components/help_popover/help_popover.tsx b/x-pack/plugins/ml/public/application/components/help_popover/help_popover.tsx
index aa7bf496b1051..eccfe901d3c3b 100644
--- a/x-pack/plugins/ml/public/application/components/help_popover/help_popover.tsx
+++ b/x-pack/plugins/ml/public/application/components/help_popover/help_popover.tsx
@@ -51,7 +51,7 @@ export const HelpPopover: FC> = ({
>
{title && {title}}
-
+
{children}
From 0f159b7488d1e1a823f1c49ae155586cbef345f1 Mon Sep 17 00:00:00 2001
From: Alexi Doak <109488926+doakalexi@users.noreply.github.com>
Date: Mon, 20 May 2024 08:35:51 -0700
Subject: [PATCH 10/82] [ResponseOps] rules runs recovered actions without ever
running active actions (#183646)
Resolves https://github.com/elastic/kibana/issues/182888
## Summary
This PR resolves a bug where rules will run the recovery actions for a
delayed active alert.
### Checklist
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
### To verify
- Create a rule and set the `alert after x consecutive matches` to be
greater than 1. It may be helpful for testing to include recovered and
active actions.
- Make sure the delayed active alert recovers before hitting the
consecutive matches threshold.
- Verify that the rule does not send a recovery action and does not show
a recovered alert in the rule run table.
---
.../lib/get_alerts_for_notification.test.ts | 30 ++++
.../server/lib/get_alerts_for_notification.ts | 6 +
.../utils/get_alerts_for_notification.test.ts | 7 +
.../utils/get_alerts_for_notification.ts | 4 +
.../tests/alerting/group4/alert_delay.ts | 2 +-
.../alerts_as_data_alert_delay.ts | 141 +++++++++++++++++-
6 files changed, 185 insertions(+), 5 deletions(-)
diff --git a/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.test.ts b/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.test.ts
index 2528a27f19f9e..b50025b415178 100644
--- a/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.test.ts
+++ b/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.test.ts
@@ -674,6 +674,36 @@ describe('getAlertsForNotification', () => {
expect(delayedAlertsCount).toBe(2);
});
+ test('should remove the alert from recoveredAlerts and should not return the alert in currentRecoveredAlerts if the activeCount is less than the rule alertDelay', () => {
+ const alert1 = new Alert('1', {
+ meta: { activeCount: 1, uuid: 'uuid-1' },
+ });
+ const alert2 = new Alert('2', { meta: { uuid: 'uuid-2' } });
+
+ const { recoveredAlerts, currentRecoveredAlerts, delayedAlertsCount } =
+ getAlertsForNotification(
+ DEFAULT_FLAPPING_SETTINGS,
+ true,
+ 'default',
+ 5,
+ {},
+ {},
+ {
+ // recovered alerts
+ '1': alert1,
+ '2': alert2,
+ },
+ {
+ // current recovered alerts
+ '1': alert1,
+ '2': alert2,
+ }
+ );
+ expect(recoveredAlerts).toMatchInlineSnapshot(`Object {}`);
+ expect(currentRecoveredAlerts).toMatchInlineSnapshot(`Object {}`);
+ expect(delayedAlertsCount).toBe(0);
+ });
+
test('should update active alert to look like a new alert if the activeCount is equal to the rule alertDelay', () => {
const alert2 = new Alert('2', { meta: { uuid: 'uuid-2' } });
diff --git a/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.ts b/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.ts
index c5c7ac017b2c1..c1974810b46d0 100644
--- a/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.ts
+++ b/x-pack/plugins/alerting/server/lib/get_alerts_for_notification.ts
@@ -54,6 +54,12 @@ export function getAlertsForNotification<
for (const id of keys(currentRecoveredAlerts)) {
const alert = recoveredAlerts[id];
+ // if alert has not reached the alertDelay threshold don't recover the alert
+ if (alert.getActiveCount() < alertDelay) {
+ // remove from recovered alerts
+ delete recoveredAlerts[id];
+ delete currentRecoveredAlerts[id];
+ }
alert.resetActiveCount();
if (flappingSettings.enabled) {
const flapping = alert.getFlapping();
diff --git a/x-pack/plugins/rule_registry/server/utils/get_alerts_for_notification.test.ts b/x-pack/plugins/rule_registry/server/utils/get_alerts_for_notification.test.ts
index a6f428d598262..f6ce39f34d0a1 100644
--- a/x-pack/plugins/rule_registry/server/utils/get_alerts_for_notification.test.ts
+++ b/x-pack/plugins/rule_registry/server/utils/get_alerts_for_notification.test.ts
@@ -245,6 +245,13 @@ describe('getAlertsForNotification', () => {
).toMatchInlineSnapshot(`Array []`);
});
+ test('should not return recovered alerts if the activeCount is less than the rule alertDelay', () => {
+ const trackedEvents = cloneDeep([alert1]);
+ expect(
+ getAlertsForNotification(DEFAULT_FLAPPING_SETTINGS, 5, trackedEvents, [], newEventParams)
+ ).toMatchInlineSnapshot(`Array []`);
+ });
+
test('should update active alert to look like a new alert if the activeCount is equal to the rule alertDelay', () => {
const trackedEvents = cloneDeep([alert5]);
expect(
diff --git a/x-pack/plugins/rule_registry/server/utils/get_alerts_for_notification.ts b/x-pack/plugins/rule_registry/server/utils/get_alerts_for_notification.ts
index 15dcedeaf88ca..73cbac1b2c90a 100644
--- a/x-pack/plugins/rule_registry/server/utils/get_alerts_for_notification.ts
+++ b/x-pack/plugins/rule_registry/server/utils/get_alerts_for_notification.ts
@@ -56,6 +56,10 @@ export function getAlertsForNotification(
}
}
} else if (trackedEvent.event[ALERT_STATUS] === ALERT_STATUS_RECOVERED) {
+ // if alert has not reached the alertDelay threshold don't recover the alert
+ if (trackedEvent.activeCount < alertDelay) {
+ continue;
+ }
trackedEvent.activeCount = 0;
if (flappingSettings.enabled) {
if (trackedEvent.flapping) {
diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alert_delay.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alert_delay.ts
index 7062c1c65fd9c..e3f30d252495a 100644
--- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alert_delay.ts
+++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alert_delay.ts
@@ -43,7 +43,7 @@ export default function createAlertDelayTests({ getService }: FtrProviderContext
instance: [true, true, true, false, true],
};
- const ruleId = await createRule(actionId, pattern, 20);
+ const ruleId = await createRule(actionId, pattern, 1);
objectRemover.add(space.id, ruleId, 'rule', 'alerting');
let state = await getAlertState(start, ruleId);
diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data_alert_delay.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data_alert_delay.ts
index 991ed513ee984..2bb97a60bf0c2 100644
--- a/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data_alert_delay.ts
+++ b/x-pack/test/alerting_api_integration/spaces_only/tests/alerting/group4/alerts_as_data/alerts_as_data_alert_delay.ts
@@ -80,16 +80,17 @@ export default function createAlertsAsDataAlertDelayInstallResourcesTest({
conflicts: 'proceed',
});
});
- afterEach(() => objectRemover.removeAll());
- after(async () => {
- await objectRemover.removeAll();
- await esTestIndexTool.destroy();
+ afterEach(async () => {
+ objectRemover.removeAll();
await es.deleteByQuery({
index: [alertsAsDataIndex, alwaysFiringAlertsAsDataIndex],
query: { match_all: {} },
conflicts: 'proceed',
});
});
+ after(async () => {
+ await esTestIndexTool.destroy();
+ });
it('should generate expected events with a alertDelay with AAD', async () => {
const { body: createdAction } = await supertestWithoutAuth
@@ -620,6 +621,138 @@ export default function createAlertsAsDataAlertDelayInstallResourcesTest({
// alert consecutive matches should match the active count
expect(source[ALERT_CONSECUTIVE_MATCHES]).to.equal(4);
});
+
+ it('should not recover alert if the activeCount did not reach the alertDelay threshold with AAD', async () => {
+ const { body: createdAction } = await supertestWithoutAuth
+ .post(`${getUrlPrefix(Spaces.space1.id)}/api/actions/connector`)
+ .set('kbn-xsrf', 'foo')
+ .send({
+ name: 'MY action',
+ connector_type_id: 'test.noop',
+ config: {},
+ secrets: {},
+ })
+ .expect(200);
+
+ // pattern of when the alert should fire
+ const pattern = {
+ instance: [true, false, true],
+ };
+
+ const response = await supertestWithoutAuth
+ .post(`${getUrlPrefix(Spaces.space1.id)}/api/alerting/rule`)
+ .set('kbn-xsrf', 'foo')
+ .send(
+ getTestRuleData({
+ rule_type_id: 'test.patternFiringAad',
+ schedule: { interval: '1d' },
+ throttle: null,
+ notify_when: null,
+ params: {
+ pattern,
+ },
+ actions: [
+ {
+ id: createdAction.id,
+ group: 'default',
+ params: {},
+ frequency: {
+ summary: false,
+ throttle: null,
+ notify_when: RuleNotifyWhen.CHANGE,
+ },
+ },
+ ],
+ alert_delay: {
+ active: 3,
+ },
+ })
+ );
+
+ expect(response.status).to.eql(200);
+ const ruleId = response.body.id;
+ objectRemover.add(Spaces.space1.id, ruleId, 'rule', 'alerting');
+
+ // --------------------------
+ // RUN 1 - 0 new alerts
+ // --------------------------
+ let events: IValidatedEvent[] = await waitForEventLogDocs(
+ ruleId,
+ new Map([['execute', { equal: 1 }]])
+ );
+ let executeEvent = events[0];
+ expect(get(executeEvent, ACTIVE_PATH)).to.be(0);
+ expect(get(executeEvent, NEW_PATH)).to.be(0);
+ expect(get(executeEvent, RECOVERED_PATH)).to.be(0);
+ expect(get(executeEvent, ACTION_PATH)).to.be(0);
+ expect(get(executeEvent, DELAYED_PATH)).to.be(1);
+
+ // Query for alerts
+ const alertDocsRun1 = await queryForAlertDocs();
+
+ // Get alert state from task document
+ let state: any = await getTaskState(ruleId);
+ expect(state.alertInstances.instance.meta.activeCount).to.equal(1);
+ expect(state.alertInstances.instance.state.patternIndex).to.equal(0);
+
+ // After the first run, we should have 0 alert docs for the 0 active alerts
+ expect(alertDocsRun1.length).to.equal(0);
+
+ // --------------------------
+ // RUN 2 - 0 new alerts
+ // --------------------------
+ let runSoon = await supertestWithoutAuth
+ .post(`${getUrlPrefix(Spaces.space1.id)}/internal/alerting/rule/${ruleId}/_run_soon`)
+ .set('kbn-xsrf', 'foo');
+ expect(runSoon.status).to.eql(204);
+
+ events = await waitForEventLogDocs(ruleId, new Map([['execute', { equal: 2 }]]));
+ executeEvent = events[1];
+ expect(get(executeEvent, ACTIVE_PATH)).to.be(0);
+ expect(get(executeEvent, NEW_PATH)).to.be(0);
+ expect(get(executeEvent, RECOVERED_PATH)).to.be(0);
+ expect(get(executeEvent, ACTION_PATH)).to.be(0);
+ expect(get(executeEvent, DELAYED_PATH)).to.be(0);
+
+ // Query for alerts
+ const alertDocsRun2 = await queryForAlertDocs();
+
+ // Get alert state from task document
+ state = await getTaskState(ruleId);
+ expect(state.alertInstances).to.eql({});
+ expect(state.alertRecoveredInstances).to.eql({});
+ expect(state.alertTypeState.patternIndex).to.equal(2);
+
+ // After the second run, we should have 0 alert docs for the 0 recovered alerts
+ expect(alertDocsRun2.length).to.equal(0);
+
+ // --------------------------
+ // RUN 3 - 0 new alerts
+ // --------------------------
+ runSoon = await supertestWithoutAuth
+ .post(`${getUrlPrefix(Spaces.space1.id)}/internal/alerting/rule/${ruleId}/_run_soon`)
+ .set('kbn-xsrf', 'foo');
+ expect(runSoon.status).to.eql(204);
+
+ events = await waitForEventLogDocs(ruleId, new Map([['execute', { equal: 3 }]]));
+ executeEvent = events[2];
+ expect(get(executeEvent, ACTIVE_PATH)).to.be(0);
+ expect(get(executeEvent, NEW_PATH)).to.be(0);
+ expect(get(executeEvent, RECOVERED_PATH)).to.be(0);
+ expect(get(executeEvent, ACTION_PATH)).to.be(0);
+ expect(get(executeEvent, DELAYED_PATH)).to.be(1);
+
+ // Query for alerts
+ const alertDocsRun3 = await queryForAlertDocs();
+
+ // Get alert state from task document
+ state = await getTaskState(ruleId);
+ expect(state.alertInstances.instance.meta.activeCount).to.equal(1);
+ expect(state.alertInstances.instance.state.patternIndex).to.equal(2);
+
+ // After the third run, we should have 0 alert docs for the 0 active alerts
+ expect(alertDocsRun3.length).to.equal(0);
+ });
});
function testExpectRuleData(
From 6ecccf3def7be190d8203b978644e2cfe352d085 Mon Sep 17 00:00:00 2001
From: Paul Tavares <56442535+paul-tavares@users.noreply.github.com>
Date: Mon, 20 May 2024 11:39:23 -0400
Subject: [PATCH 11/82] [Security Solution][Endpoint] Improve Axios error
output for dev scripts + change default for creation of Kbn/ES clients to NOT
include self-signed certs (#183531)
## Summary
Refactors included in this PR include:
- Adds `.catch()` to calls made with Axios and wraps errors with more
information about the failed request
- Adds retry of API calls to external URLs (ex. artifacts)
- Refactors the `noCertForSsl` options of kibana scripting services to:
- Renames it to `useCertForSsl`
- Defaults the value to `false`: by default the factory functions will
NOT inject the serf-signed cert into the clients
- Background: the initial work to make our tests work with Serverless
added this cert automatically if the URL started with `https`. That
intern cause all of our CLI scripts to not be usable against cloud
instances (for testing). This change reverts that but still enables one
to include it by setting the (renamed) option `useCertForSsl` when
creating a ES or KBN client.
---
.../data_loaders/setup_fleet_for_endpoint.ts | 6 +-
.../common/endpoint/format_axios_error.ts | 9 ++-
.../endpoint/agent_policy_generator/index.ts | 1 -
.../scripts/endpoint/api_emulator/index.ts | 1 -
.../fleet_server/fleet_server_services.ts | 44 ++++++++-----
.../scripts/endpoint/common/fleet_services.ts | 65 ++++++++++---------
.../scripts/endpoint/common/stack_services.ts | 24 +++----
.../scripts/endpoint/env_data_loader/index.ts | 1 -
.../endpoint/sentinelone_host/common.ts | 20 ++++--
.../endpoint/sentinelone_host/index.ts | 1 -
10 files changed, 94 insertions(+), 78 deletions(-)
diff --git a/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts b/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts
index 12505dc87a2b0..e9da1b9a4df8c 100644
--- a/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts
+++ b/x-pack/plugins/security_solution/common/endpoint/data_loaders/setup_fleet_for_endpoint.ts
@@ -29,10 +29,6 @@ import {
wrapErrorAndRejectPromise,
} from './utils';
-export interface SetupFleetForEndpointResponse {
- endpointPackage: BulkInstallPackageInfo;
-}
-
/**
* Calls the fleet setup APIs and then installs the latest Endpoint package
* @param kbnClient
@@ -43,7 +39,7 @@ export const setupFleetForEndpoint = usageTracker.track(
async (kbnClient: KbnClient, logger?: ToolingLog): Promise => {
const log = logger ?? createToolingLogger();
- log.info(`setupFleetForEndpoint(): Setting up fleet for endpoint`);
+ log.debug(`setupFleetForEndpoint(): Setting up fleet for endpoint`);
// Setup Fleet
try {
diff --git a/x-pack/plugins/security_solution/common/endpoint/format_axios_error.ts b/x-pack/plugins/security_solution/common/endpoint/format_axios_error.ts
index 1f0c7da3bbad6..fa46f7940c17e 100644
--- a/x-pack/plugins/security_solution/common/endpoint/format_axios_error.ts
+++ b/x-pack/plugins/security_solution/common/endpoint/format_axios_error.ts
@@ -22,15 +22,18 @@ export class FormattedAxiosError extends Error {
};
constructor(axiosError: AxiosError) {
+ const method = axiosError.config?.method ?? '';
+ const url = axiosError.config?.url ?? '';
+
super(
`${axiosError.message}${
axiosError?.response?.data ? `: ${JSON.stringify(axiosError?.response?.data)}` : ''
- }`
+ }${url ? `\n(Request: ${method} ${url})` : ''}`
);
this.request = {
- method: axiosError.config?.method ?? '?',
- url: axiosError.config?.url ?? '?',
+ method,
+ url,
data: axiosError.config?.data ?? '',
};
diff --git a/x-pack/plugins/security_solution/scripts/endpoint/agent_policy_generator/index.ts b/x-pack/plugins/security_solution/scripts/endpoint/agent_policy_generator/index.ts
index 104bf337be5d3..afe370e1bda72 100644
--- a/x-pack/plugins/security_solution/scripts/endpoint/agent_policy_generator/index.ts
+++ b/x-pack/plugins/security_solution/scripts/endpoint/agent_policy_generator/index.ts
@@ -59,7 +59,6 @@ const agentPolicyGenerator: RunFn = async ({ flags, log }) => {
username: flags.username as string,
password: flags.password as string,
apiKey: flags.apikey as string,
- noCertForSsl: true,
log,
});
diff --git a/x-pack/plugins/security_solution/scripts/endpoint/api_emulator/index.ts b/x-pack/plugins/security_solution/scripts/endpoint/api_emulator/index.ts
index 15a48654f2963..8c4d0eae4e5e7 100644
--- a/x-pack/plugins/security_solution/scripts/endpoint/api_emulator/index.ts
+++ b/x-pack/plugins/security_solution/scripts/endpoint/api_emulator/index.ts
@@ -79,7 +79,6 @@ const cliRunner: RunFn = async (cliContext) => {
elasticsearchUrl,
asSuperuser,
log,
- noCertForSsl: true,
});
const coreServices: ExternalEdrServerEmulatorCoreServices = {
diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_server/fleet_server_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_server/fleet_server_services.ts
index 73cf96b5b6864..1eefe220c0d39 100644
--- a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_server/fleet_server_services.ts
+++ b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_server/fleet_server_services.ts
@@ -683,24 +683,32 @@ export const isFleetServerRunning = async (
const url = new URL(fleetServerUrl);
url.pathname = '/api/status';
- return axios
- .request({
- method: 'GET',
- url: url.toString(),
- responseType: 'json',
- // Custom agent to ensure we don't get cert errors
- httpsAgent: new https.Agent({ rejectUnauthorized: false }),
- })
- .then((response) => {
- log.debug(`Fleet server is up and running at [${fleetServerUrl}]. Status: `, response.data);
- return true;
- })
- .catch(catchAxiosErrorFormatAndThrow)
- .catch((e) => {
- log.debug(`Fleet server not up at [${fleetServerUrl}]`);
- log.verbose(`Call to [${url.toString()}] failed with:`, e);
- return false;
- });
+ return pRetry(
+ async () => {
+ return axios
+ .request({
+ method: 'GET',
+ url: url.toString(),
+ responseType: 'json',
+ // Custom agent to ensure we don't get cert errors
+ httpsAgent: new https.Agent({ rejectUnauthorized: false }),
+ })
+ .then((response) => {
+ log.debug(
+ `Fleet server is up and running at [${fleetServerUrl}]. Status: `,
+ response.data
+ );
+ return true;
+ })
+ .catch(catchAxiosErrorFormatAndThrow)
+ .catch((e) => {
+ log.debug(`Fleet server not up at [${fleetServerUrl}]`);
+ log.verbose(`Call to [${url.toString()}] failed with:`, e);
+ return false;
+ });
+ },
+ { maxTimeout: 10000 }
+ );
};
/**
diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts
index 8d1d2f5e61f49..317cae2882e57 100644
--- a/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts
+++ b/x-pack/plugins/security_solution/scripts/endpoint/common/fleet_services.ts
@@ -58,10 +58,10 @@ import type {
PostAgentUnenrollResponse,
CopyAgentPolicyRequest,
} from '@kbn/fleet-plugin/common/types';
-import nodeFetch from 'node-fetch';
import semver from 'semver';
import axios from 'axios';
import { userInfo } from 'os';
+import pRetry from 'p-retry';
import { isFleetServerRunning } from './fleet_server/fleet_server_services';
import { getEndpointPackageInfo } from '../../../common/endpoint/utils/package';
import type { DownloadAndStoreAgentResponse } from './agent_downloads_service';
@@ -79,6 +79,7 @@ import { FleetAgentGenerator } from '../../../common/endpoint/data_generators/fl
const fleetGenerator = new FleetAgentGenerator();
const CURRENT_USERNAME = userInfo().username.toLowerCase();
const DEFAULT_AGENT_POLICY_NAME = `${CURRENT_USERNAME} test policy`;
+
/** A Fleet agent policy that includes integrations that don't actually require an agent to run on a host. Example: SenttinelOne */
export const DEFAULT_AGENTLESS_INTEGRATIONS_AGENT_POLICY_NAME = `${CURRENT_USERNAME} - agentless integrations`;
@@ -411,14 +412,20 @@ export const getAgentVersionMatchingCurrentStack = async (
);
}
- const agentVersions = await axios
- .get('https://artifacts-api.elastic.co/v1/versions')
- .then((response) =>
- map(
- response.data.versions.filter(isValidArtifactVersion),
- (version) => version.split('-SNAPSHOT')[0]
- )
- );
+ const agentVersions = await pRetry(
+ async () => {
+ return axios
+ .get('https://artifacts-api.elastic.co/v1/versions')
+ .catch(catchAxiosErrorFormatAndThrow)
+ .then((response) =>
+ map(
+ response.data.versions.filter(isValidArtifactVersion),
+ (version) => version.split('-SNAPSHOT')[0]
+ )
+ );
+ },
+ { maxTimeout: 10000 }
+ );
let version =
semver.maxSatisfying(agentVersions, `<=${kbnStatus.version.number}`) ??
@@ -492,16 +499,16 @@ export const getAgentDownloadUrl = async (
log?.verbose(`Retrieving elastic agent download URL from:\n ${artifactSearchUrl}`);
- const searchResult: ElasticArtifactSearchResponse = await nodeFetch(artifactSearchUrl).then(
- (response) => {
- if (!response.ok) {
- throw new Error(
- `Failed to search elastic's artifact repository: ${response.statusText} (HTTP ${response.status}) {URL: ${artifactSearchUrl})`
- );
- }
-
- return response.json();
- }
+ const searchResult: ElasticArtifactSearchResponse = await pRetry(
+ async () => {
+ return axios
+ .get(artifactSearchUrl)
+ .catch(catchAxiosErrorFormatAndThrow)
+ .then((response) => {
+ return response.data;
+ });
+ },
+ { maxTimeout: 10000 }
);
log?.verbose(searchResult);
@@ -547,16 +554,16 @@ export const getLatestAgentDownloadVersion = async (
): Promise => {
const artifactsUrl = 'https://artifacts-api.elastic.co/v1/versions';
const semverMatch = `<=${version.replace(`-SNAPSHOT`, '')}`;
- const artifactVersionsResponse: { versions: string[] } = await nodeFetch(artifactsUrl).then(
- (response) => {
- if (!response.ok) {
- throw new Error(
- `Failed to retrieve list of versions from elastic's artifact repository: ${response.statusText} (HTTP ${response.status}) {URL: ${artifactsUrl})`
- );
- }
-
- return response.json();
- }
+ const artifactVersionsResponse: { versions: string[] } = await pRetry(
+ async () => {
+ return axios
+ .get<{ versions: string[] }>(artifactsUrl)
+ .catch(catchAxiosErrorFormatAndThrow)
+ .then((response) => {
+ return response.data;
+ });
+ },
+ { maxTimeout: 10000 }
);
const stackVersionToArtifactVersion: Record = artifactVersionsResponse.versions
diff --git a/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts b/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts
index a7dc1b7ecfe39..5d321ec09cc48 100644
--- a/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts
+++ b/x-pack/plugins/security_solution/scripts/endpoint/common/stack_services.ts
@@ -70,7 +70,7 @@ interface CreateRuntimeServicesOptions {
log?: ToolingLog;
asSuperuser?: boolean;
/** If true, then a certificate will not be used when creating the Kbn/Es clients when url is `https` */
- noCertForSsl?: boolean;
+ useCertForSsl?: boolean;
}
class KbnClientExtended extends KbnClient {
@@ -112,7 +112,7 @@ export const createRuntimeServices = async ({
esPassword: _esPassword,
log = createToolingLogger(),
asSuperuser = false,
- noCertForSsl,
+ useCertForSsl = false,
}: CreateRuntimeServicesOptions): Promise => {
let username = _username;
let password = _password;
@@ -124,7 +124,7 @@ export const createRuntimeServices = async ({
url: kibanaUrl,
username,
password,
- noCertForSsl,
+ useCertForSsl,
log,
});
@@ -149,7 +149,7 @@ export const createRuntimeServices = async ({
username: esUsername ?? username,
password: esPassword ?? password,
log,
- noCertForSsl,
+ useCertForSsl,
})
);
@@ -166,14 +166,14 @@ export const createRuntimeServices = async ({
const fleetURL = new URL(fleetServerUrl);
return {
- kbnClient: createKbnClient({ log, url: kibanaUrl, username, password, apiKey, noCertForSsl }),
+ kbnClient: createKbnClient({ log, url: kibanaUrl, username, password, apiKey, useCertForSsl }),
esClient: createEsClient({
log,
url: elasticsearchUrl,
username: esUsername ?? username,
password: esPassword ?? password,
apiKey,
- noCertForSsl,
+ useCertForSsl,
}),
log,
localhostRealIp: getLocalhostRealIp(),
@@ -222,7 +222,7 @@ export const createEsClient = ({
password,
apiKey,
log,
- noCertForSsl,
+ useCertForSsl = false,
}: {
url: string;
username: string;
@@ -230,14 +230,14 @@ export const createEsClient = ({
/** If defined, both `username` and `password` will be ignored */
apiKey?: string;
log?: ToolingLog;
- noCertForSsl?: boolean;
+ useCertForSsl?: boolean;
}): Client => {
const isHttps = new URL(url).protocol.startsWith('https');
const clientOptions: ClientOptions = {
node: buildUrlWithCredentials(url, apiKey ? '' : username, apiKey ? '' : password),
};
- if (isHttps && !noCertForSsl) {
+ if (isHttps && useCertForSsl) {
clientOptions.tls = {
ca: [CA_CERTIFICATE],
};
@@ -265,7 +265,7 @@ export const createKbnClient = ({
password,
apiKey,
log = createToolingLogger(),
- noCertForSsl,
+ useCertForSsl = false,
}: {
url: string;
username: string;
@@ -273,7 +273,7 @@ export const createKbnClient = ({
/** If defined, both `username` and `password` will be ignored */
apiKey?: string;
log?: ToolingLog;
- noCertForSsl?: boolean;
+ useCertForSsl?: boolean;
}): KbnClient => {
const isHttps = new URL(url).protocol.startsWith('https');
const clientOptions: ConstructorParameters[0] = {
@@ -282,7 +282,7 @@ export const createKbnClient = ({
url: buildUrlWithCredentials(url, username, password),
};
- if (isHttps && !noCertForSsl) {
+ if (isHttps && useCertForSsl) {
clientOptions.certificateAuthorities = [CA_CERTIFICATE];
}
diff --git a/x-pack/plugins/security_solution/scripts/endpoint/env_data_loader/index.ts b/x-pack/plugins/security_solution/scripts/endpoint/env_data_loader/index.ts
index 4de4929b8c4c2..031541e8f5403 100644
--- a/x-pack/plugins/security_solution/scripts/endpoint/env_data_loader/index.ts
+++ b/x-pack/plugins/security_solution/scripts/endpoint/env_data_loader/index.ts
@@ -22,7 +22,6 @@ export const cli = () => {
url: cliContext.flags.kibana as string,
username: cliContext.flags.username as string,
password: cliContext.flags.password as string,
- noCertForSsl: true,
});
const options = {
diff --git a/x-pack/plugins/security_solution/scripts/endpoint/sentinelone_host/common.ts b/x-pack/plugins/security_solution/scripts/endpoint/sentinelone_host/common.ts
index 3bce0126fbf29..d508f9bc605bf 100644
--- a/x-pack/plugins/security_solution/scripts/endpoint/sentinelone_host/common.ts
+++ b/x-pack/plugins/security_solution/scripts/endpoint/sentinelone_host/common.ts
@@ -10,6 +10,7 @@ import type { AxiosRequestConfig } from 'axios';
import axios from 'axios';
import type { KbnClient } from '@kbn/test';
import { SENTINELONE_CONNECTOR_ID } from '@kbn/stack-connectors-plugin/common/sentinelone/constants';
+import pRetry from 'p-retry';
import { dump } from '../common/utils';
import { type RuleResponse } from '../../../common/api/detection_engine';
import { createToolingLogger } from '../../../common/endpoint/data_loaders/utils';
@@ -86,13 +87,18 @@ export class S1Client {
this.log.debug(`Request: `, requestOptions);
- return axios
- .request(requestOptions)
- .then((response) => {
- this.log.verbose(`Response: `, response);
- return response.data;
- })
- .catch(catchAxiosErrorFormatAndThrow);
+ return pRetry(
+ async () => {
+ return axios
+ .request(requestOptions)
+ .then((response) => {
+ this.log.verbose(`Response: `, response);
+ return response.data;
+ })
+ .catch(catchAxiosErrorFormatAndThrow);
+ },
+ { maxTimeout: 10000 }
+ );
}
public buildUrl(path: string): string {
diff --git a/x-pack/plugins/security_solution/scripts/endpoint/sentinelone_host/index.ts b/x-pack/plugins/security_solution/scripts/endpoint/sentinelone_host/index.ts
index 2c179f6e853ab..d2f4190821413 100644
--- a/x-pack/plugins/security_solution/scripts/endpoint/sentinelone_host/index.ts
+++ b/x-pack/plugins/security_solution/scripts/endpoint/sentinelone_host/index.ts
@@ -111,7 +111,6 @@ const runCli: RunFn = async ({ log, flags }) => {
url: kibanaUrl,
username,
password,
- noCertForSsl: true,
});
const runningS1VMs = (
From 79a967e2c3cdd6a5cc6a411753b4827daf088cbc Mon Sep 17 00:00:00 2001
From: Tiago Costa
Date: Mon, 20 May 2024 16:46:01 +0100
Subject: [PATCH 12/82] skip failing es serverless promotion suites(#169787)
---
x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts b/x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts
index 6638567a92625..40ae3e308a3b6 100644
--- a/x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts
+++ b/x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts
@@ -76,7 +76,8 @@ describe('ALL - Saved queries', { tags: ['@ess', '@serverless'] }, () => {
});
});
- describe('prebuilt', () => {
+ // FAILING ES SERVERLESS PROMOTION: https://github.com/elastic/kibana/issues/169787
+ describe.skip('prebuilt', () => {
let packName: string;
let packId: string;
let savedQueryId: string;
From c6e1000aaebbb529b0e5e29e56e6a52961dd81be Mon Sep 17 00:00:00 2001
From: Tiago Costa
Date: Mon, 20 May 2024 16:55:41 +0100
Subject: [PATCH 13/82] fix(NA): eslint errors
---
x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts | 2 +-
1 file changed, 1 insertion(+), 1 deletion(-)
diff --git a/x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts b/x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts
index 40ae3e308a3b6..27fe443eed062 100644
--- a/x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts
+++ b/x-pack/plugins/osquery/cypress/e2e/all/saved_queries.cy.ts
@@ -76,7 +76,7 @@ describe('ALL - Saved queries', { tags: ['@ess', '@serverless'] }, () => {
});
});
- // FAILING ES SERVERLESS PROMOTION: https://github.com/elastic/kibana/issues/169787
+ // FAILING ES SERVERLESS PROMOTION: https://github.com/elastic/kibana/issues/169787
describe.skip('prebuilt', () => {
let packName: string;
let packId: string;
From 25c7571fc3f682a05258f856345a292c3484b943 Mon Sep 17 00:00:00 2001
From: Tiago Costa
Date: Mon, 20 May 2024 17:30:07 +0100
Subject: [PATCH 14/82] skip flaky suite (#183771)
---
.../observability/dataset_quality/dataset_quality_flyout.ts | 3 ++-
1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/x-pack/test_serverless/functional/test_suites/observability/dataset_quality/dataset_quality_flyout.ts b/x-pack/test_serverless/functional/test_suites/observability/dataset_quality/dataset_quality_flyout.ts
index 9688c177c2e73..2f2c40932ceaf 100644
--- a/x-pack/test_serverless/functional/test_suites/observability/dataset_quality/dataset_quality_flyout.ts
+++ b/x-pack/test_serverless/functional/test_suites/observability/dataset_quality/dataset_quality_flyout.ts
@@ -31,7 +31,8 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) {
const to = '2024-01-01T12:00:00.000Z';
const excludeKeysFromServerless = ['size']; // https://github.com/elastic/kibana/issues/178954
- describe('Dataset quality flyout', function () {
+ // FLAKY: https://github.com/elastic/kibana/issues/183771
+ describe.skip('Dataset quality flyout', function () {
this.tags(['failsOnMKI']); // Failing https://github.com/elastic/kibana/issues/183495
before(async () => {
From 27250993b2ee8117a6ae4c102556a3dbb23e3c47 Mon Sep 17 00:00:00 2001
From: =?UTF-8?q?Sebasti=C3=A1n=20Zaffarano?=
Date: Mon, 20 May 2024 13:37:28 -0300
Subject: [PATCH 15/82] [Security Solution][Telemetry] Optimize
endpoint-metrics query (#183763)
## Summary
Updates `receiver::fetchEndpointMetricsAbstract` query by disabling the
`_source` instead of excluding everything.
### Checklist
Delete any items that are not applicable to this PR.
- [ ] Any text added follows [EUI's writing
guidelines](https://elastic.github.io/eui/#/guidelines/writing), uses
sentence case text and includes [i18n
support](https://github.com/elastic/kibana/blob/main/packages/kbn-i18n/README.md)
- [ ]
[Documentation](https://www.elastic.co/guide/en/kibana/master/development-documentation.html)
was added for features that require explanation or tutorials
- [ ] [Unit or functional
tests](https://www.elastic.co/guide/en/kibana/master/development-tests.html)
were updated or added to match the most common scenarios
- [ ] [Flaky Test
Runner](https://ci-stats.kibana.dev/trigger_flaky_test_runner/1) was
used on any tests changed
- [ ] Any UI touched in this PR is usable by keyboard only (learn more
about [keyboard accessibility](https://webaim.org/techniques/keyboard/))
- [ ] Any UI touched in this PR does not create any new axe failures
(run axe in browser:
[FF](https://addons.mozilla.org/en-US/firefox/addon/axe-devtools/),
[Chrome](https://chrome.google.com/webstore/detail/axe-web-accessibility-tes/lhdoppojpmngadmnindnejefpokejbdd?hl=en-US))
- [ ] If a plugin configuration key changed, check if it needs to be
allowlisted in the cloud and added to the [docker
list](https://github.com/elastic/kibana/blob/main/src/dev/build/tasks/os_packages/docker_generator/resources/base/bin/kibana-docker)
- [ ] This renders correctly on smaller devices using a responsive
layout. (You can test this [in your
browser](https://www.browserstack.com/guide/responsive-testing-on-local-server))
- [ ] This was checked for [cross-browser
compatibility](https://www.elastic.co/support/matrix#matrix_browsers)
---
.../security_solution/server/lib/telemetry/receiver.ts | 5 ++---
1 file changed, 2 insertions(+), 3 deletions(-)
diff --git a/x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts b/x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts
index 5b59282a320ea..f4cf62a4381b6 100644
--- a/x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts
+++ b/x-pack/plugins/security_solution/server/lib/telemetry/receiver.ts
@@ -417,9 +417,7 @@ export class TelemetryReceiver implements ITelemetryReceiver {
latest_metrics: {
top_hits: {
size: 1,
- _source: {
- excludes: ['*'],
- },
+ _source: false,
sort: [
{
'@timestamp': {
@@ -521,6 +519,7 @@ export class TelemetryReceiver implements ITelemetryReceiver {
const buckets = endpointMetadataResponse?.aggregations?.endpoint_metadata?.buckets ?? [];
return buckets.reduce((cache, endpointAgentId) => {
+ // const id = endpointAgentId.latest_metadata.hits.hits[0]._id;
const doc = endpointAgentId.latest_metadata.hits.hits[0]._source;
cache.set(endpointAgentId.key, doc);
return cache;
From 1830300c30e3aa13841d65666a18d6173a4dea9d Mon Sep 17 00:00:00 2001
From: Mark Hopkin
Date: Mon, 20 May 2024 18:17:20 +0100
Subject: [PATCH 16/82] [Entity Analytics] Move risk scoring painless to static
files... again (with sorting fix after test failure) (#183844)
MIME-Version: 1.0
Content-Type: text/plain; charset=UTF-8
Content-Transfer-Encoding: 8bit
## Summary
This code was originally approved and merged in
https://github.com/elastic/kibana/pull/182038
It was then reverted in https://github.com/elastic/kibana/pull/183759
after a [test failure](https://github.com/elastic/kibana/issues/183758).
The previous code had introduced flakiness, occasionally the inputs
would be supplied to risk scoring in the wrong order causing the score
to decrease. Re-adding the sorting in the reduce script has fixed this.
Here is the only new code:
https://github.com/elastic/kibana/commit/a8cbb1c47ab9114ebec082dfe9450e3984f1df59
[Flaky test
run](https://buildkite.com/elastic/kibana-flaky-test-suite-runner/builds/6045)
🟢
---------
Co-authored-by: oatkiller
Co-authored-by: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
---
.../api/entity_analytics/common/common.gen.ts | 32 +----
.../common/common.schema.yaml | 55 +-------
.../common/risk_weights.schema.test.ts | 81 +-----------
.../risk_score/calculate_risk_scores.ts | 106 +++------------
.../entity_analytics/risk_score/constants.ts | 5 -
.../risk_score/painless/index.test.ts | 24 ++++
.../risk_score/painless/index.ts | 40 ++++++
.../painless/risk_scoring_combine.painless | 1 +
.../painless/risk_scoring_init.painless | 1 +
.../painless/risk_scoring_map.painless | 8 ++
.../painless/risk_scoring_reduce.painless | 41 ++++++
.../risk_score/risk_weights.test.ts | 123 ------------------
.../risk_score/risk_weights.ts | 103 ---------------
.../risk_score/routes/preview.test.ts | 15 +--
.../risk_score_preview.ts | 50 -------
15 files changed, 143 insertions(+), 542 deletions(-)
create mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/painless/index.test.ts
create mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/painless/index.ts
create mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/painless/risk_scoring_combine.painless
create mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/painless/risk_scoring_init.painless
create mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/painless/risk_scoring_map.painless
create mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/painless/risk_scoring_reduce.painless
delete mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/risk_weights.test.ts
delete mode 100644 x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/risk_weights.ts
diff --git a/x-pack/plugins/security_solution/common/api/entity_analytics/common/common.gen.ts b/x-pack/plugins/security_solution/common/api/entity_analytics/common/common.gen.ts
index b037534248042..f17cb2a5ee0fb 100644
--- a/x-pack/plugins/security_solution/common/api/entity_analytics/common/common.gen.ts
+++ b/x-pack/plugins/security_solution/common/api/entity_analytics/common/common.gen.ts
@@ -155,8 +155,8 @@ export const RiskScoreWeightGlobalShared = z.object({
type: z.literal('global_identifier'),
});
-export type RiskScoreWeightGlobal = z.infer;
-export const RiskScoreWeightGlobal = z.union([
+export type RiskScoreWeight = z.infer;
+export const RiskScoreWeight = z.union([
RiskScoreWeightGlobalShared.merge(
z.object({
host: RiskScoreEntityIdentifierWeights,
@@ -171,34 +171,6 @@ export const RiskScoreWeightGlobal = z.union([
),
]);
-export type RiskScoreWeightCategoryShared = z.infer;
-export const RiskScoreWeightCategoryShared = z.object({
- type: z.literal('risk_category'),
- value: RiskScoreCategories,
-});
-
-export type RiskScoreWeightCategory = z.infer;
-export const RiskScoreWeightCategory = z.union([
- RiskScoreWeightCategoryShared.merge(
- z.object({
- host: RiskScoreEntityIdentifierWeights,
- user: RiskScoreEntityIdentifierWeights.optional(),
- })
- ),
- RiskScoreWeightCategoryShared.merge(
- z.object({
- host: RiskScoreEntityIdentifierWeights.optional(),
- user: RiskScoreEntityIdentifierWeights,
- })
- ),
-]);
-
-/**
- * Configuration used to tune risk scoring. Weights can be used to change the score contribution of risk inputs for hosts and users at both a global level and also for Risk Input categories (e.g. 'category_1').
- */
-export type RiskScoreWeight = z.infer;
-export const RiskScoreWeight = z.union([RiskScoreWeightGlobal, RiskScoreWeightCategory]);
-
/**
* A list of weights to be applied to the scoring calculation.
*/
diff --git a/x-pack/plugins/security_solution/common/api/entity_analytics/common/common.schema.yaml b/x-pack/plugins/security_solution/common/api/entity_analytics/common/common.schema.yaml
index 7b6634876d8a6..63aa739d2133d 100644
--- a/x-pack/plugins/security_solution/common/api/entity_analytics/common/common.schema.yaml
+++ b/x-pack/plugins/security_solution/common/api/entity_analytics/common/common.schema.yaml
@@ -201,7 +201,7 @@ components:
enum:
- global_identifier
- RiskScoreWeightGlobal:
+ RiskScoreWeight:
oneOf:
- allOf:
- $ref: '#/components/schemas/RiskScoreWeightGlobalShared'
@@ -225,65 +225,12 @@ components:
user:
$ref: '#/components/schemas/RiskScoreEntityIdentifierWeights'
- RiskScoreWeightCategoryShared:
- x-inline: true
- type: object
- required:
- - type
- - value
- properties:
- type:
- type: string
- enum:
- - risk_category
- value:
- $ref: '#/components/schemas/RiskScoreCategories'
-
- RiskScoreWeightCategory:
- oneOf:
- - allOf:
- - $ref: '#/components/schemas/RiskScoreWeightCategoryShared'
- - type: object
- required:
- - host
- properties:
- host:
- $ref: '#/components/schemas/RiskScoreEntityIdentifierWeights'
- user:
- $ref: '#/components/schemas/RiskScoreEntityIdentifierWeights'
-
- - allOf:
- - $ref: '#/components/schemas/RiskScoreWeightCategoryShared'
- - type: object
- required:
- - user
- properties:
- host:
- $ref: '#/components/schemas/RiskScoreEntityIdentifierWeights'
- user:
- $ref: '#/components/schemas/RiskScoreEntityIdentifierWeights'
-
- RiskScoreWeight:
- description: "Configuration used to tune risk scoring. Weights can be used to change the score contribution of risk inputs for hosts and users at both a global level and also for Risk Input categories (e.g. 'category_1')."
- oneOf:
- - $ref: '#/components/schemas/RiskScoreWeightGlobal'
- - $ref: '#/components/schemas/RiskScoreWeightCategory'
- example:
- type: 'risk_category'
- value: 'category_1'
- host: 0.8
- user: 0.4
-
RiskScoreWeights:
description: 'A list of weights to be applied to the scoring calculation.'
type: array
items:
$ref: '#/components/schemas/RiskScoreWeight'
example:
- - type: 'risk_category'
- value: 'category_1'
- host: 0.8
- user: 0.4
- type: 'global_identifier'
host: 0.5
user: 0.1
diff --git a/x-pack/plugins/security_solution/common/api/entity_analytics/common/risk_weights.schema.test.ts b/x-pack/plugins/security_solution/common/api/entity_analytics/common/risk_weights.schema.test.ts
index 59b0859300f88..e4afc38badd24 100644
--- a/x-pack/plugins/security_solution/common/api/entity_analytics/common/risk_weights.schema.test.ts
+++ b/x-pack/plugins/security_solution/common/api/entity_analytics/common/risk_weights.schema.test.ts
@@ -59,9 +59,7 @@ describe('risk weight schema', () => {
const decoded = RiskScoreWeight.safeParse(payload) as SafeParseError
diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.test.tsx
index 4f745f51a11b7..8278cb1559535 100644
--- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.test.tsx
+++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.test.tsx
@@ -38,7 +38,7 @@ const mockContext = {
basePromptContexts: MOCK_QUICK_PROMPTS,
setSelectedSettingsTab,
http: {},
- modelEvaluatorEnabled: true,
+ assistantFeatures: { assistantModelEvaluation: true },
selectedSettingsTab: 'CONVERSATIONS_TAB',
assistantAvailability: {
isAssistantEnabled: true,
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 b6bd193aa8534..f83e6c0d72ee6 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
@@ -86,7 +86,7 @@ export const AssistantSettings: React.FC = React.memo(
}) => {
const {
actionTypeRegistry,
- modelEvaluatorEnabled,
+ assistantFeatures: { assistantModelEvaluation: modelEvaluatorEnabled },
http,
toasts,
selectedSettingsTab,
diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_management.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_management.tsx
index 26cd4340a1435..79a050b11bb27 100644
--- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_management.tsx
+++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_management.tsx
@@ -66,7 +66,7 @@ export const AssistantSettingsManagement: React.FC = React.memo(
}) => {
const {
actionTypeRegistry,
- modelEvaluatorEnabled,
+ assistantFeatures: { assistantModelEvaluation: modelEvaluatorEnabled },
http,
selectedSettingsTab,
setSelectedSettingsTab,
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 7d9cc86941f34..6a74dab81ac47 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
@@ -13,7 +13,7 @@ import type { IToasts } from '@kbn/core-notifications-browser';
import { ActionTypeRegistryContract } from '@kbn/triggers-actions-ui-plugin/public';
import { useLocalStorage, useSessionStorage } from 'react-use';
import type { DocLinksStart } from '@kbn/core-doc-links-browser';
-import { defaultAssistantFeatures } from '@kbn/elastic-assistant-common';
+import { AssistantFeatures, defaultAssistantFeatures } from '@kbn/elastic-assistant-common';
import { updatePromptContexts } from './helpers';
import type {
PromptContext,
@@ -97,6 +97,7 @@ export interface UseAssistantContext {
actionTypeRegistry: ActionTypeRegistryContract;
alertsIndexPattern: string | undefined;
assistantAvailability: AssistantAvailability;
+ assistantFeatures: AssistantFeatures;
assistantStreamingEnabled: boolean;
assistantTelemetry?: AssistantTelemetry;
augmentMessageCodeBlocks: (
@@ -127,7 +128,6 @@ export interface UseAssistantContext {
knowledgeBase: KnowledgeBaseConfig;
getLastConversationId: (conversationTitle?: string) => string;
promptContexts: Record;
- modelEvaluatorEnabled: boolean;
nameSpace: string;
registerPromptContext: RegisterPromptContext;
selectedSettingsTab: SettingsTabs;
@@ -276,15 +276,14 @@ export const AssistantProvider: React.FC = ({
);
// Fetch assistant capabilities
- const { data: capabilities } = useCapabilities({ http, toasts });
- const { assistantModelEvaluation: modelEvaluatorEnabled } =
- capabilities ?? defaultAssistantFeatures;
+ const { data: assistantFeatures } = useCapabilities({ http, toasts });
const value = useMemo(
() => ({
actionTypeRegistry,
alertsIndexPattern,
assistantAvailability,
+ assistantFeatures: assistantFeatures ?? defaultAssistantFeatures,
assistantTelemetry,
augmentMessageCodeBlocks,
allQuickPrompts: localStorageQuickPrompts ?? [],
@@ -297,7 +296,6 @@ export const AssistantProvider: React.FC = ({
getComments,
http,
knowledgeBase: { ...DEFAULT_KNOWLEDGE_BASE_SETTINGS, ...localStorageKnowledgeBase },
- modelEvaluatorEnabled,
promptContexts,
nameSpace,
registerPromptContext,
@@ -324,6 +322,7 @@ export const AssistantProvider: React.FC = ({
actionTypeRegistry,
alertsIndexPattern,
assistantAvailability,
+ assistantFeatures,
assistantTelemetry,
augmentMessageCodeBlocks,
localStorageQuickPrompts,
@@ -336,7 +335,6 @@ export const AssistantProvider: React.FC = ({
getComments,
http,
localStorageKnowledgeBase,
- modelEvaluatorEnabled,
promptContexts,
nameSpace,
registerPromptContext,
diff --git a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/install_knowledge_base_button.tsx b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/install_knowledge_base_button.tsx
new file mode 100644
index 0000000000000..f5a82fd02c55d
--- /dev/null
+++ b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/install_knowledge_base_button.tsx
@@ -0,0 +1,64 @@
+/*
+ * 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 } from 'react';
+import { EuiButton } from '@elastic/eui';
+import { i18n } from '@kbn/i18n';
+
+import { useAssistantContext } from '../..';
+import { useSetupKnowledgeBase } from './use_setup_knowledge_base';
+import { useKnowledgeBaseStatus } from './use_knowledge_base_status';
+
+const ESQL_RESOURCE = 'esql';
+
+/**
+ * Self-contained component that renders a button to install the knowledge base.
+ *
+ * Only renders if `assistantKnowledgeBaseByDefault` feature flag is enabled.
+ */
+export const InstallKnowledgeBaseButton: React.FC = React.memo(() => {
+ const {
+ assistantFeatures: { assistantKnowledgeBaseByDefault: enableKnowledgeBaseByDefault },
+ http,
+ toasts,
+ } = useAssistantContext();
+
+ const { data: kbStatus } = useKnowledgeBaseStatus({ http, resource: ESQL_RESOURCE });
+ const { mutate: setupKB, isLoading: isSettingUpKB } = useSetupKnowledgeBase({ http, toasts });
+
+ const isSetupInProgress = kbStatus?.is_setup_in_progress || isSettingUpKB;
+ const isSetupComplete =
+ kbStatus?.elser_exists &&
+ kbStatus?.index_exists &&
+ kbStatus?.pipeline_exists &&
+ kbStatus?.esql_exists;
+
+ const onInstallKnowledgeBase = useCallback(() => {
+ setupKB(ESQL_RESOURCE);
+ }, [setupKB]);
+
+ if (!enableKnowledgeBaseByDefault || isSetupComplete) {
+ return null;
+ }
+
+ return (
+
+ {i18n.translate('xpack.elasticAssistant.knowledgeBase.installKnowledgeBaseButton', {
+ defaultMessage: 'Install Knowledge Base',
+ })}
+
+ );
+});
+
+InstallKnowledgeBaseButton.displayName = 'InstallKnowledgeBaseButton';
diff --git a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings.test.tsx
index 20ab3aab4a26f..56f6796ac16fa 100644
--- a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings.test.tsx
+++ b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings.test.tsx
@@ -13,9 +13,11 @@ import { KnowledgeBaseSettings } from './knowledge_base_settings';
import { TestProviders } from '../mock/test_providers/test_providers';
import { useKnowledgeBaseStatus } from './use_knowledge_base_status';
import { mockSystemPrompts } from '../mock/system_prompt';
+import { defaultAssistantFeatures } from '@kbn/elastic-assistant-common';
const mockUseAssistantContext = {
allSystemPrompts: mockSystemPrompts,
+ assistantFeatures: jest.fn(() => defaultAssistantFeatures),
conversations: {},
http: {
basePath: {
diff --git a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings.tsx b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings.tsx
index 95bf754874966..8c83d1f3403e8 100644
--- a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings.tsx
+++ b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/knowledge_base_settings.tsx
@@ -35,7 +35,8 @@ import { useKnowledgeBaseStatus } from './use_knowledge_base_status';
import { useSetupKnowledgeBase } from './use_setup_knowledge_base';
const ESQL_RESOURCE = 'esql';
-const KNOWLEDGE_BASE_INDEX_PATTERN = '.kibana-elastic-ai-assistant-kb';
+const KNOWLEDGE_BASE_INDEX_PATTERN_OLD = '.kibana-elastic-ai-assistant-kb';
+const KNOWLEDGE_BASE_INDEX_PATTERN = '.kibana-elastic-ai-assistant-knowledge-base-(SPACE)';
interface Props {
knowledgeBase: KnowledgeBaseConfig;
@@ -47,7 +48,10 @@ interface Props {
*/
export const KnowledgeBaseSettings: React.FC = React.memo(
({ knowledgeBase, setUpdatedKnowledgeBaseSettings }) => {
- const { http } = useAssistantContext();
+ const {
+ assistantFeatures: { assistantKnowledgeBaseByDefault: enableKnowledgeBaseByDefault },
+ http,
+ } = useAssistantContext();
const {
data: kbStatus,
isLoading,
@@ -60,14 +64,18 @@ export const KnowledgeBaseSettings: React.FC = React.memo(
const isElserEnabled = kbStatus?.elser_exists ?? false;
const isKnowledgeBaseEnabled = (kbStatus?.index_exists && kbStatus?.pipeline_exists) ?? false;
const isESQLEnabled = kbStatus?.esql_exists ?? false;
+ const isSetupInProgress = kbStatus?.is_setup_in_progress ?? false;
// Resource availability state
- const isLoadingKb = isLoading || isFetching || isSettingUpKB || isDeletingUpKB;
+ const isLoadingKb =
+ isLoading || isFetching || isSettingUpKB || isDeletingUpKB || isSetupInProgress;
const isKnowledgeBaseAvailable = knowledgeBase.isEnabledKnowledgeBase && kbStatus?.elser_exists;
const isESQLAvailable =
knowledgeBase.isEnabledKnowledgeBase && isKnowledgeBaseAvailable && isKnowledgeBaseEnabled;
// Prevent enabling if elser doesn't exist, but always allow to disable
- const isSwitchDisabled = !kbStatus?.elser_exists && !knowledgeBase.isEnabledKnowledgeBase;
+ const isSwitchDisabled = enableKnowledgeBaseByDefault
+ ? false
+ : !kbStatus?.elser_exists && !knowledgeBase.isEnabledKnowledgeBase;
// Calculated health state for EuiHealth component
const elserHealth = isElserEnabled ? 'success' : 'subdued';
@@ -84,12 +92,18 @@ export const KnowledgeBaseSettings: React.FC = React.memo(
isEnabledKnowledgeBase: event.target.checked,
});
- // If enabling and ELSER exists, try to set up automatically
- if (event.target.checked && kbStatus?.elser_exists) {
+ // If enabling and ELSER exists or automatic KB setup FF is enabled, try to set up automatically
+ if (event.target.checked && (enableKnowledgeBaseByDefault || kbStatus?.elser_exists)) {
setupKB(ESQL_RESOURCE);
}
},
- [kbStatus?.elser_exists, knowledgeBase, setUpdatedKnowledgeBaseSettings, setupKB]
+ [
+ enableKnowledgeBaseByDefault,
+ kbStatus?.elser_exists,
+ knowledgeBase,
+ setUpdatedKnowledgeBaseSettings,
+ setupKB,
+ ]
);
const isEnabledKnowledgeBaseSwitch = useMemo(() => {
@@ -149,7 +163,11 @@ export const KnowledgeBaseSettings: React.FC = React.memo(
const knowledgeBaseDescription = useMemo(() => {
return isKnowledgeBaseEnabled ? (
- {i18n.KNOWLEDGE_BASE_DESCRIPTION_INSTALLED(KNOWLEDGE_BASE_INDEX_PATTERN)}{' '}
+ {i18n.KNOWLEDGE_BASE_DESCRIPTION_INSTALLED(
+ enableKnowledgeBaseByDefault
+ ? KNOWLEDGE_BASE_INDEX_PATTERN
+ : KNOWLEDGE_BASE_INDEX_PATTERN_OLD
+ )}{' '}
{knowledgeBaseActionButton}
) : (
@@ -157,7 +175,7 @@ export const KnowledgeBaseSettings: React.FC = React.memo(
{i18n.KNOWLEDGE_BASE_DESCRIPTION} {knowledgeBaseActionButton}
);
- }, [isKnowledgeBaseEnabled, knowledgeBaseActionButton]);
+ }, [enableKnowledgeBaseByDefault, isKnowledgeBaseEnabled, knowledgeBaseActionButton]);
//////////////////////////////////////////////////////////////////////////////////////////
// ESQL Resource
diff --git a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/use_knowledge_base_status.tsx b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/use_knowledge_base_status.tsx
index 7ec7d227f9ef8..c03eb31581e42 100644
--- a/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/use_knowledge_base_status.tsx
+++ b/x-pack/packages/kbn-elastic-assistant/impl/knowledge_base/use_knowledge_base_status.tsx
@@ -11,6 +11,7 @@ import type { HttpSetup, IHttpFetchError, ResponseErrorBody } from '@kbn/core-ht
import type { IToasts } from '@kbn/core-notifications-browser';
import { i18n } from '@kbn/i18n';
import { useCallback } from 'react';
+import { ReadKnowledgeBaseResponse } from '@kbn/elastic-assistant-common';
import { getKnowledgeBaseStatus } from '../assistant/api';
const KNOWLEDGE_BASE_STATUS_QUERY_KEY = ['elastic-assistant', 'knowledge-base-status'];
@@ -21,13 +22,6 @@ export interface UseKnowledgeBaseStatusParams {
toasts?: IToasts;
}
-export interface GetKnowledgeBaseStatusResponse {
- elser_exists: boolean;
- esql_exists?: boolean;
- index_exists: boolean;
- pipeline_exists: boolean;
-}
-
/**
* Hook for getting the status of the Knowledge Base. Provide a resource name to include
* the status for that specific resource within the KB.
@@ -42,10 +36,7 @@ export const useKnowledgeBaseStatus = ({
http,
resource,
toasts,
-}: UseKnowledgeBaseStatusParams): UseQueryResult<
- GetKnowledgeBaseStatusResponse,
- IHttpFetchError
-> => {
+}: UseKnowledgeBaseStatusParams): UseQueryResult => {
return useQuery(
KNOWLEDGE_BASE_STATUS_QUERY_KEY,
async ({ signal }) => {
diff --git a/x-pack/packages/kbn-elastic-assistant/index.ts b/x-pack/packages/kbn-elastic-assistant/index.ts
index 56fb74af3aba4..df0ba1e8db0f9 100644
--- a/x-pack/packages/kbn-elastic-assistant/index.ts
+++ b/x-pack/packages/kbn-elastic-assistant/index.ts
@@ -145,13 +145,6 @@ export type { PromptContextTemplate } from './impl/assistant/prompt_context/type
*/
export type { QuickPrompt } from './impl/assistant/quick_prompts/types';
-/**
- * Knowledge Base API Responses
- */
-export type { DeleteKnowledgeBaseResponse } from './impl/assistant/api';
-export type { GetKnowledgeBaseStatusResponse } from './impl/assistant/api';
-export type { PostKnowledgeBaseResponse } from './impl/assistant/api';
-
export { useFetchCurrentUserConversations } from './impl/assistant/api/conversations/use_fetch_current_user_conversations';
export * from './impl/assistant/api/conversations/bulk_update_actions_conversations';
export { getConversationById } from './impl/assistant/api/conversations/conversations';
diff --git a/x-pack/plugins/elastic_assistant/common/constants.ts b/x-pack/plugins/elastic_assistant/common/constants.ts
index 77fd99c7d5eb6..5c5233eaaa6c8 100755
--- a/x-pack/plugins/elastic_assistant/common/constants.ts
+++ b/x-pack/plugins/elastic_assistant/common/constants.ts
@@ -15,9 +15,6 @@ export const POST_ACTIONS_CONNECTOR_EXECUTE = `${BASE_PATH}/actions/connector/{c
// Attack discovery
export const ATTACK_DISCOVERY = `${BASE_PATH}/attack_discovery`;
-// Knowledge Base
-export const KNOWLEDGE_BASE = `${BASE_PATH}/knowledge_base/{resource?}`;
-
// Model Evaluation
export const EVALUATE = `${BASE_PATH}/evaluate`;
diff --git a/x-pack/plugins/elastic_assistant/server/__mocks__/request.ts b/x-pack/plugins/elastic_assistant/server/__mocks__/request.ts
index 671cb1b2f0a88..0850938633322 100644
--- a/x-pack/plugins/elastic_assistant/server/__mocks__/request.ts
+++ b/x-pack/plugins/elastic_assistant/server/__mocks__/request.ts
@@ -5,7 +5,7 @@
* 2.0.
*/
import { httpServerMock } from '@kbn/core/server/mocks';
-import { CAPABILITIES, EVALUATE, KNOWLEDGE_BASE } from '../../common/constants';
+import { CAPABILITIES, EVALUATE } from '../../common/constants';
import {
ConversationCreateProps,
ConversationUpdateProps,
@@ -16,6 +16,7 @@ import {
ELASTIC_AI_ASSISTANT_CONVERSATIONS_URL_BY_ID,
ELASTIC_AI_ASSISTANT_CONVERSATIONS_URL_BY_ID_MESSAGES,
ELASTIC_AI_ASSISTANT_CONVERSATIONS_URL_FIND,
+ ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
ELASTIC_AI_ASSISTANT_PROMPTS_URL_BULK_ACTION,
ELASTIC_AI_ASSISTANT_PROMPTS_URL_FIND,
PostEvaluateRequestBodyInput,
@@ -42,21 +43,21 @@ export const requestMock = {
export const getGetKnowledgeBaseStatusRequest = (resource?: string) =>
requestMock.create({
method: 'get',
- path: KNOWLEDGE_BASE,
+ path: ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
query: { resource },
});
export const getPostKnowledgeBaseRequest = (resource?: string) =>
requestMock.create({
method: 'post',
- path: KNOWLEDGE_BASE,
+ path: ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
query: { resource },
});
export const getDeleteKnowledgeBaseRequest = (resource?: string) =>
requestMock.create({
method: 'delete',
- path: KNOWLEDGE_BASE,
+ path: ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
query: { resource },
});
diff --git a/x-pack/plugins/elastic_assistant/server/__mocks__/request_context.ts b/x-pack/plugins/elastic_assistant/server/__mocks__/request_context.ts
index 78982d0437650..6c5d9b2bc4d57 100644
--- a/x-pack/plugins/elastic_assistant/server/__mocks__/request_context.ts
+++ b/x-pack/plugins/elastic_assistant/server/__mocks__/request_context.ts
@@ -17,6 +17,8 @@ import { PluginStartContract as ActionsPluginStart } from '@kbn/actions-plugin/s
import { conversationsDataClientMock, dataClientMock } from './data_clients.mock';
import { AIAssistantConversationsDataClient } from '../ai_assistant_data_clients/conversations';
import { AIAssistantDataClient } from '../ai_assistant_data_clients';
+import { AIAssistantKnowledgeBaseDataClient } from '../ai_assistant_data_clients/knowledge_base';
+import { defaultAssistantFeatures } from '@kbn/elastic-assistant-common';
export const createMockClients = () => {
const core = coreMock.createRequestHandlerContext();
@@ -27,11 +29,12 @@ export const createMockClients = () => {
clusterClient: core.elasticsearch.client,
elasticAssistant: {
actions: actionsClientMock.create(),
- getRegisteredFeatures: jest.fn(),
+ getRegisteredFeatures: jest.fn(() => defaultAssistantFeatures),
getRegisteredTools: jest.fn(),
logger: loggingSystemMock.createLogger(),
telemetry: coreMock.createSetup().analytics,
getAIAssistantConversationsDataClient: conversationsDataClientMock.create(),
+ getAIAssistantKnowledgeBaseDataClient: dataClientMock.create(),
getAIAssistantPromptsDataClient: dataClientMock.create(),
getAIAssistantAnonymizationFieldsDataClient: dataClientMock.create(),
getSpaceId: jest.fn(),
@@ -85,7 +88,7 @@ const createElasticAssistantRequestContextMock = (
): jest.Mocked => {
return {
actions: clients.elasticAssistant.actions as unknown as ActionsPluginStart,
- getRegisteredFeatures: jest.fn(),
+ getRegisteredFeatures: jest.fn((pluginName: string) => defaultAssistantFeatures),
getRegisteredTools: jest.fn(),
logger: clients.elasticAssistant.logger,
@@ -106,6 +109,14 @@ const createElasticAssistantRequestContextMock = (
() => clients.elasticAssistant.getAIAssistantPromptsDataClient
) as unknown as jest.MockInstance, [], unknown> &
(() => Promise),
+ getAIAssistantKnowledgeBaseDataClient: jest.fn(
+ () => clients.elasticAssistant.getAIAssistantKnowledgeBaseDataClient
+ ) as unknown as jest.MockInstance<
+ Promise,
+ [boolean],
+ unknown
+ > &
+ ((initializeKnowledgeBase: boolean) => Promise),
getCurrentUser: jest.fn(),
getServerBasePath: jest.fn(),
getSpaceId: jest.fn(),
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/conversations/index.test.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/conversations/index.test.ts
index 550d523db4c6f..38426dd06a36f 100644
--- a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/conversations/index.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/conversations/index.test.ts
@@ -33,7 +33,7 @@ describe('AIAssistantConversationsDataClient', () => {
logger,
elasticsearchClientPromise: Promise.resolve(clusterClient),
spaceId: 'default',
- indexPatternsResorceName: '',
+ indexPatternsResourceName: '',
currentUser: mockUser1,
kibanaVersion: '8.8.0',
};
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/index.test.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/index.test.ts
index fa27331f6c6c5..4838c70882f19 100644
--- a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/index.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/index.test.ts
@@ -30,7 +30,7 @@ describe('AIAssistantDataClient', () => {
logger,
elasticsearchClientPromise: Promise.resolve(clusterClient),
spaceId: 'default',
- indexPatternsResorceName: '.kibana-elastic-ai-assistant-conversations',
+ indexPatternsResourceName: '.kibana-elastic-ai-assistant-conversations',
currentUser: mockUser1,
kibanaVersion: '8.8.0',
};
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/index.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/index.ts
index 75f2b166f1468..5bc84e05c8087 100644
--- a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/index.ts
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/index.ts
@@ -21,7 +21,7 @@ export interface AIAssistantDataClientParams {
kibanaVersion: string;
spaceId: string;
logger: Logger;
- indexPatternsResorceName: string;
+ indexPatternsResourceName: string;
currentUser: AuthenticatedUser | null;
}
@@ -38,7 +38,7 @@ export class AIAssistantDataClient {
constructor(public readonly options: AIAssistantDataClientParams) {
this.indexTemplateAndPattern = getIndexTemplateAndPattern(
- this.options.indexPatternsResorceName,
+ this.options.indexPatternsResourceName,
this.options.spaceId ?? DEFAULT_NAMESPACE_STRING
);
this.currentUser = this.options.currentUser;
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/create_knowledge_base_entry.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/create_knowledge_base_entry.ts
new file mode 100644
index 0000000000000..5430bf597ebe7
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/create_knowledge_base_entry.ts
@@ -0,0 +1,83 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { v4 as uuidv4 } from 'uuid';
+import { ElasticsearchClient, Logger } from '@kbn/core/server';
+
+import {
+ KnowledgeBaseEntryCreateProps,
+ KnowledgeBaseEntryResponse,
+} from '@kbn/elastic-assistant-common';
+import { AuthenticatedUser } from '@kbn/security-plugin-types-common';
+import { getKnowledgeBaseEntry } from './get_knowledge_base_entry';
+import { CreateKnowledgeBaseEntrySchema } from './types';
+
+export interface CreateKnowledgeBaseEntryParams {
+ esClient: ElasticsearchClient;
+ logger: Logger;
+ knowledgeBaseIndex: string;
+ spaceId: string;
+ user: AuthenticatedUser;
+ knowledgeBaseEntry: KnowledgeBaseEntryCreateProps;
+}
+
+export const createKnowledgeBaseEntry = async ({
+ esClient,
+ knowledgeBaseIndex,
+ spaceId,
+ user,
+ knowledgeBaseEntry,
+ logger,
+}: CreateKnowledgeBaseEntryParams): Promise => {
+ const createdAt = new Date().toISOString();
+ const body = transformToCreateSchema(createdAt, spaceId, user, knowledgeBaseEntry);
+ try {
+ const response = await esClient.create({
+ body,
+ id: uuidv4(),
+ index: knowledgeBaseIndex,
+ refresh: 'wait_for',
+ });
+
+ return await getKnowledgeBaseEntry({
+ esClient,
+ knowledgeBaseIndex,
+ id: response._id,
+ logger,
+ user,
+ });
+ } catch (err) {
+ logger.error(
+ `Error creating Knowledge Base Entry: ${err} with kbResource: ${knowledgeBaseEntry.metadata.kbResource}`
+ );
+ throw err;
+ }
+};
+
+export const transformToCreateSchema = (
+ createdAt: string,
+ spaceId: string,
+ user: AuthenticatedUser,
+ { metadata, text }: KnowledgeBaseEntryCreateProps
+): CreateKnowledgeBaseEntrySchema => {
+ return {
+ '@timestamp': createdAt,
+ created_at: createdAt,
+ created_by: user.profile_uid ?? 'unknown',
+ updated_at: createdAt,
+ updated_by: user.profile_uid ?? 'unknown',
+ users: [
+ {
+ id: user.profile_uid,
+ name: user.username,
+ },
+ ],
+ namespace: spaceId,
+ metadata,
+ text,
+ };
+};
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/field_maps_configuration.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/field_maps_configuration.ts
new file mode 100644
index 0000000000000..16b5b35a9b2bb
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/field_maps_configuration.ts
@@ -0,0 +1,90 @@
+/*
+ * 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 { FieldMap } from '@kbn/data-stream-adapter';
+
+export const knowledgeBaseFieldMap: FieldMap = {
+ '@timestamp': {
+ type: 'date',
+ array: false,
+ required: false,
+ },
+ id: {
+ type: 'keyword',
+ array: false,
+ required: true,
+ },
+ created_at: {
+ type: 'date',
+ array: false,
+ required: false,
+ },
+ created_by: {
+ type: 'keyword',
+ array: false,
+ required: false,
+ },
+ updated_at: {
+ type: 'date',
+ array: false,
+ required: false,
+ },
+ updated_by: {
+ type: 'keyword',
+ array: false,
+ required: false,
+ },
+ users: {
+ type: 'nested',
+ array: true,
+ required: false,
+ },
+ 'users.id': {
+ type: 'keyword',
+ array: false,
+ required: true,
+ },
+ 'users.name': {
+ type: 'keyword',
+ array: false,
+ required: false,
+ },
+ metadata: {
+ type: 'object',
+ array: false,
+ required: false,
+ },
+ 'metadata.kbResource': {
+ type: 'keyword',
+ array: false,
+ required: false,
+ },
+ 'metadata.required': {
+ type: 'boolean',
+ array: false,
+ required: false,
+ },
+ 'metadata.source': {
+ type: 'keyword',
+ array: false,
+ required: false,
+ },
+ text: {
+ type: 'text',
+ array: false,
+ required: true,
+ },
+ vector: {
+ type: 'object',
+ array: false,
+ required: false,
+ },
+ 'vector.tokens': {
+ type: 'rank_features',
+ array: false,
+ required: false,
+ },
+} as const;
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/get_knowledge_base_entry.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/get_knowledge_base_entry.ts
new file mode 100644
index 0000000000000..c021e022765d0
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/get_knowledge_base_entry.ts
@@ -0,0 +1,78 @@
+/*
+ * 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 { ElasticsearchClient, Logger } from '@kbn/core/server';
+import { KnowledgeBaseEntryResponse } from '@kbn/elastic-assistant-common';
+import { AuthenticatedUser } from '@kbn/security-plugin/common';
+import { EsKnowledgeBaseEntrySchema } from './types';
+import { transformESSearchToKnowledgeBaseEntry } from './transforms';
+
+export interface GetKnowledgeBaseEntryParams {
+ esClient: ElasticsearchClient;
+ logger: Logger;
+ knowledgeBaseIndex: string;
+ id: string;
+ user: AuthenticatedUser;
+}
+
+export const getKnowledgeBaseEntry = async ({
+ esClient,
+ logger,
+ knowledgeBaseIndex,
+ id,
+ user,
+}: GetKnowledgeBaseEntryParams): Promise => {
+ const filterByUser = [
+ {
+ nested: {
+ path: 'users',
+ query: {
+ bool: {
+ must: [
+ {
+ match: user.profile_uid
+ ? { 'users.id': user.profile_uid }
+ : { 'users.name': user.username },
+ },
+ ],
+ },
+ },
+ },
+ },
+ ];
+ try {
+ const response = await esClient.search({
+ query: {
+ bool: {
+ must: [
+ {
+ bool: {
+ should: [
+ {
+ term: {
+ _id: id,
+ },
+ },
+ ],
+ },
+ },
+ ...filterByUser,
+ ],
+ },
+ },
+ _source: true,
+ ignore_unavailable: true,
+ index: knowledgeBaseIndex,
+ seq_no_primary_term: true,
+ });
+ const knowledgeBaseEntry = transformESSearchToKnowledgeBaseEntry(response);
+ return knowledgeBaseEntry[0] ?? null;
+ } catch (err) {
+ logger.error(`Error fetching knowledge base entry: ${err} with id: ${id}`);
+ throw err;
+ }
+};
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/helpers.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/helpers.ts
new file mode 100644
index 0000000000000..dc7f64e1aeee1
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/helpers.ts
@@ -0,0 +1,16 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+import { errors } from '@elastic/elasticsearch';
+
+export const isModelAlreadyExistsError = (error: Error) => {
+ return (
+ error instanceof errors.ResponseError &&
+ (error.body.error.type === 'resource_not_found_exception' ||
+ error.body.error.type === 'status_exception')
+ );
+};
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/index.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/index.ts
new file mode 100644
index 0000000000000..771ec35c07c51
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/index.ts
@@ -0,0 +1,264 @@
+/*
+ * 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 {
+ MlTrainedModelDeploymentNodesStats,
+ MlTrainedModelStats,
+} from '@elastic/elasticsearch/lib/api/types';
+import type { MlPluginSetup } from '@kbn/ml-plugin/server';
+import type { KibanaRequest } from '@kbn/core-http-server';
+import type { Document } from 'langchain/document';
+import type { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server';
+import { KnowledgeBaseEntryResponse } from '@kbn/elastic-assistant-common';
+import pRetry from 'p-retry';
+import { AIAssistantDataClient, AIAssistantDataClientParams } from '..';
+import { ElasticsearchStore } from '../../lib/langchain/elasticsearch_store/elasticsearch_store';
+import { loadESQL } from '../../lib/langchain/content_loaders/esql_loader';
+import { GetElser } from '../../types';
+import { transformToCreateSchema } from './create_knowledge_base_entry';
+import { EsKnowledgeBaseEntrySchema } from './types';
+import { transformESSearchToKnowledgeBaseEntry } from './transforms';
+import { ESQL_DOCS_LOADED_QUERY } from '../../routes/knowledge_base/constants';
+import { isModelAlreadyExistsError } from './helpers';
+
+interface KnowledgeBaseDataClientParams extends AIAssistantDataClientParams {
+ ml: MlPluginSetup;
+ getElserId: GetElser;
+ getIsKBSetupInProgress: () => boolean;
+ ingestPipelineResourceName: string;
+ setIsKBSetupInProgress: (isInProgress: boolean) => void;
+}
+export class AIAssistantKnowledgeBaseDataClient extends AIAssistantDataClient {
+ constructor(public readonly options: KnowledgeBaseDataClientParams) {
+ super(options);
+ }
+
+ public get isSetupInProgress() {
+ return this.options.getIsKBSetupInProgress();
+ }
+
+ /**
+ * Downloads and installs ELSER model if not already installed
+ *
+ * @param soClient SavedObjectsClientContract for installing ELSER so that ML SO's are in sync
+ */
+ private installModel = async ({ soClient }: { soClient: SavedObjectsClientContract }) => {
+ const elserId = await this.options.getElserId();
+ this.options.logger.debug(`Installing ELSER model '${elserId}'...`);
+
+ try {
+ await this.options.ml
+ // TODO: Potentially plumb soClient through DataClient from pluginStart
+ .trainedModelsProvider({} as KibanaRequest, soClient)
+ .installElasticModel(elserId);
+ } catch (error) {
+ this.options.logger.error(`Error installing ELSER model '${elserId}':\n${error}`);
+ }
+ };
+
+ /**
+ * Returns whether ELSER is installed/ready to deploy
+ *
+ * @returns Promise indicating whether the model is installed
+ */
+ public isModelInstalled = async (): Promise => {
+ const elserId = await this.options.getElserId();
+ this.options.logger.debug(`Checking if ELSER model '${elserId}' is installed...`);
+
+ try {
+ const esClient = await this.options.elasticsearchClientPromise;
+ const getResponse = await esClient.ml.getTrainedModels({
+ model_id: elserId,
+ include: 'definition_status',
+ });
+ return Boolean(getResponse.trained_model_configs[0]?.fully_defined);
+ } catch (error) {
+ if (!isModelAlreadyExistsError(error)) {
+ this.options.logger.error(
+ `Error checking if ELSER model '${elserId}' is installed:\n${error}`
+ );
+ }
+ return false;
+ }
+ };
+
+ /**
+ * Deploy the ELSER model with default configuration
+ */
+ private deployModel = async () => {
+ const elserId = await this.options.getElserId();
+ this.options.logger.debug(`Deploying ELSER model '${elserId}'...`);
+ try {
+ const esClient = await this.options.elasticsearchClientPromise;
+ await esClient.ml.startTrainedModelDeployment({
+ model_id: elserId,
+ wait_for: 'fully_allocated',
+ });
+ } catch (error) {
+ if (!isModelAlreadyExistsError(error)) {
+ this.options.logger.error(`Error deploying ELSER model '${elserId}':\n${error}`);
+ }
+ this.options.logger.debug(`Error deploying ELSER model '${elserId}', model already deployed`);
+ }
+ };
+
+ /**
+ * Checks if the provided model is deployed and allocated in Elasticsearch
+ *
+ * @returns Promise indicating whether the model is deployed
+ */
+ public isModelDeployed = async (): Promise => {
+ const elserId = await this.options.getElserId();
+ this.options.logger.debug(`Checking if ELSER model '${elserId}' is deployed...`);
+
+ try {
+ const esClient = await this.options.elasticsearchClientPromise;
+ const getResponse = await esClient.ml.getTrainedModelsStats({
+ model_id: elserId,
+ });
+
+ // For standardized way of checking deployment status see: https://github.com/elastic/elasticsearch/issues/106986
+ const isReadyESS = (stats: MlTrainedModelStats) =>
+ stats.deployment_stats?.state === 'started' &&
+ stats.deployment_stats?.allocation_status.state === 'fully_allocated';
+
+ const isReadyServerless = (stats: MlTrainedModelStats) =>
+ (stats.deployment_stats?.nodes as unknown as MlTrainedModelDeploymentNodesStats[]).some(
+ (node) => node.routing_state.routing_state === 'started'
+ );
+
+ return getResponse.trained_model_stats.some(
+ (stats) => isReadyESS(stats) || isReadyServerless(stats)
+ );
+ } catch (e) {
+ // Returns 404 if it doesn't exist
+ return false;
+ }
+ };
+
+ /**
+ * Downloads and deploys recommended ELSER (if not already), then loads ES|QL docs
+ *
+ * NOTE: Before automatically installing ELSER in the background, we should perform deployment resource checks
+ * Only necessary for ESS, as Serverless can always auto-install if `productTier === complete`
+ * See ml-team issue for providing 'dry run' flag to perform these checks: https://github.com/elastic/ml-team/issues/1208
+ *
+ * @param options
+ * @param options.esStore ElasticsearchStore for loading ES|QL docs via LangChain loaders
+ * @param options.soClient SavedObjectsClientContract for installing ELSER so that ML SO's are in sync
+ *
+ * @returns Promise
+ */
+ public setupKnowledgeBase = async ({
+ esStore,
+ soClient,
+ }: {
+ esStore: ElasticsearchStore;
+ soClient: SavedObjectsClientContract;
+ }): Promise => {
+ if (this.options.getIsKBSetupInProgress()) {
+ this.options.logger.debug('Knowledge Base setup already in progress');
+ return;
+ }
+
+ this.options.logger.debug('Starting Knowledge Base setup...');
+ this.options.setIsKBSetupInProgress(true);
+ const elserId = await this.options.getElserId();
+
+ try {
+ const isInstalled = await this.isModelInstalled();
+ if (!isInstalled) {
+ await this.installModel({ soClient });
+ await pRetry(
+ async () =>
+ (await this.isModelInstalled())
+ ? Promise.resolve()
+ : Promise.reject(new Error('Model not installed')),
+ { minTimeout: 10000, maxTimeout: 10000, retries: 10 }
+ );
+ this.options.logger.debug(`ELSER model '${elserId}' successfully installed!`);
+ } else {
+ this.options.logger.debug(`ELSER model '${elserId}' is already installed`);
+ }
+
+ const isDeployed = await this.isModelDeployed();
+ if (!isDeployed) {
+ await this.deployModel();
+ await pRetry(
+ async () =>
+ (await this.isModelDeployed())
+ ? Promise.resolve()
+ : Promise.reject(new Error('Model not deployed')),
+ { minTimeout: 2000, retries: 10 }
+ );
+ this.options.logger.debug(`ELSER model '${elserId}' successfully deployed!`);
+ } else {
+ this.options.logger.debug(`ELSER model '${elserId}' is already deployed`);
+ }
+
+ this.options.logger.debug(`Checking if Knowledge Base docs have been loaded...`);
+ const kbDocsLoaded = (await esStore.similaritySearch(ESQL_DOCS_LOADED_QUERY)).length > 0;
+ if (!kbDocsLoaded) {
+ this.options.logger.debug(`Loading KB docs...`);
+ await loadESQL(esStore, this.options.logger);
+ } else {
+ this.options.logger.debug(`Knowledge Base docs already loaded!`);
+ }
+ } catch (e) {
+ this.options.logger.error(`Error setting up Knowledge Base: ${e.message}`);
+ }
+ this.options.setIsKBSetupInProgress(false);
+ };
+
+ /**
+ * Adds LangChain Documents to the knowledge base
+ *
+ * @param documents
+ * @param authenticatedUser
+ */
+ public addKnowledgeBaseDocuments = async ({
+ documents,
+ }: {
+ documents: Document[];
+ }): Promise => {
+ const writer = await this.getWriter();
+ const changedAt = new Date().toISOString();
+ const authenticatedUser = this.options.currentUser;
+ if (authenticatedUser == null) {
+ throw new Error(
+ 'Authenticated user not found! Ensure kbDataClient was initialized from a request.'
+ );
+ }
+ // @ts-ignore
+ const { errors, docs_created: docsCreated } = await writer.bulk({
+ documentsToCreate: documents.map((doc) =>
+ transformToCreateSchema(changedAt, this.spaceId, authenticatedUser, {
+ // TODO: Update the LangChain Document Metadata type extension
+ metadata: {
+ kbResource: doc.metadata.kbResourcer ?? 'unknown',
+ required: doc.metadata.required ?? false,
+ source: doc.metadata.source ?? 'unknown',
+ },
+ text: doc.pageContent,
+ })
+ ),
+ authenticatedUser,
+ });
+ const created =
+ docsCreated.length > 0
+ ? await this.findDocuments({
+ page: 1,
+ perPage: 10000,
+ filter: docsCreated.map((c) => `_id:${c}`).join(' OR '),
+ })
+ : undefined;
+ this.options.logger.debug(`created: ${created?.data.hits.hits.length ?? '0'}`);
+ this.options.logger.debug(`errors: ${JSON.stringify(errors, null, 2)}`);
+
+ return created?.data ? transformESSearchToKnowledgeBaseEntry(created?.data) : [];
+ };
+}
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/ingest_pipeline.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/ingest_pipeline.ts
new file mode 100644
index 0000000000000..170fa0342f9d9
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/ingest_pipeline.ts
@@ -0,0 +1,36 @@
+/*
+ * 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 { IngestPutPipelineRequest } from '@elastic/elasticsearch/lib/api/types';
+
+export const knowledgeBaseIngestPipeline = ({
+ id,
+ modelId,
+}: {
+ id: string;
+ modelId: string;
+}): IngestPutPipelineRequest => ({
+ id,
+ description: 'Embedding pipeline for Elastic AI Assistant ELSER Knowledge Base',
+ processors: [
+ {
+ inference: {
+ model_id: modelId,
+ target_field: 'vector',
+ field_map: {
+ text: 'text_field',
+ },
+ inference_config: {
+ // @ts-expect-error
+ text_expansion: {
+ results_field: 'tokens',
+ },
+ },
+ },
+ },
+ ],
+});
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/transforms.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/transforms.ts
new file mode 100644
index 0000000000000..f185c5ba8fdc2
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/transforms.ts
@@ -0,0 +1,96 @@
+/*
+ * 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 { estypes } from '@elastic/elasticsearch';
+import { KnowledgeBaseEntryResponse } from '@kbn/elastic-assistant-common';
+import { EsKnowledgeBaseEntrySchema } from './types';
+
+export const transformESSearchToKnowledgeBaseEntry = (
+ response: estypes.SearchResponse
+): KnowledgeBaseEntryResponse[] => {
+ return response.hits.hits
+ .filter((hit) => hit._source !== undefined)
+ .map((hit) => {
+ // eslint-disable-next-line @typescript-eslint/no-non-null-assertion
+ const kbEntrySchema = hit._source!;
+ const kbEntry: KnowledgeBaseEntryResponse = {
+ timestamp: kbEntrySchema['@timestamp'],
+ id: hit._id,
+ createdAt: kbEntrySchema.created_at,
+ createdBy: kbEntrySchema.created_by,
+ updatedAt: kbEntrySchema.updated_at,
+ updatedBy: kbEntrySchema.updated_by,
+ users:
+ kbEntrySchema.users?.map((user) => ({
+ id: user.id,
+ name: user.name,
+ })) ?? [],
+ ...(kbEntrySchema.metadata
+ ? {
+ metadata: {
+ kbResource: kbEntrySchema.metadata.kbResource,
+ source: kbEntrySchema.metadata.source,
+ required: kbEntrySchema.metadata.required,
+ },
+ }
+ : {}),
+ namespace: kbEntrySchema.namespace,
+ text: kbEntrySchema.text,
+ ...(kbEntrySchema.vector
+ ? {
+ vector: {
+ modelId: kbEntrySchema.vector.model_id,
+ tokens: kbEntrySchema.vector.tokens,
+ },
+ }
+ : {}),
+ };
+
+ return kbEntry;
+ });
+};
+
+export const transformESToKnowledgeBase = (
+ response: EsKnowledgeBaseEntrySchema[]
+): KnowledgeBaseEntryResponse[] => {
+ return response.map((kbEntrySchema) => {
+ const kbEntry: KnowledgeBaseEntryResponse = {
+ timestamp: kbEntrySchema['@timestamp'],
+ id: kbEntrySchema.id,
+ createdAt: kbEntrySchema.created_at,
+ createdBy: kbEntrySchema.created_by,
+ updatedAt: kbEntrySchema.updated_at,
+ updatedBy: kbEntrySchema.updated_by,
+ users:
+ kbEntrySchema.users?.map((user) => ({
+ id: user.id,
+ name: user.name,
+ })) ?? [],
+ ...(kbEntrySchema.metadata
+ ? {
+ metadata: {
+ kbResource: kbEntrySchema.metadata.kbResource,
+ source: kbEntrySchema.metadata.source,
+ required: kbEntrySchema.metadata.required,
+ },
+ }
+ : {}),
+ namespace: kbEntrySchema.namespace,
+ text: kbEntrySchema.text,
+ ...(kbEntrySchema.vector
+ ? {
+ vector: {
+ modelId: kbEntrySchema.vector.model_id,
+ tokens: kbEntrySchema.vector.tokens,
+ },
+ }
+ : {}),
+ };
+
+ return kbEntry;
+ });
+};
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/types.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/types.ts
new file mode 100644
index 0000000000000..b3180d80223ce
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_data_clients/knowledge_base/types.ts
@@ -0,0 +1,54 @@
+/*
+ * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one
+ * or more contributor license agreements. Licensed under the Elastic License
+ * 2.0; you may not use this file except in compliance with the Elastic License
+ * 2.0.
+ */
+
+export interface EsKnowledgeBaseEntrySchema {
+ '@timestamp': string;
+ id: string;
+ created_at: string;
+ created_by: string;
+ updated_at: string;
+ updated_by: string;
+ users?: Array<{
+ id?: string;
+ name?: string;
+ }>;
+ metadata?: {
+ kbResource: string;
+ source: string;
+ required: boolean;
+ };
+ namespace: string;
+ text: string;
+ vector?: {
+ tokens: Record;
+ model_id: string;
+ };
+}
+
+export interface CreateKnowledgeBaseEntrySchema {
+ '@timestamp'?: string;
+ id?: string | undefined;
+ created_at: string;
+ created_by: string;
+ updated_at: string;
+ updated_by: string;
+ users: Array<{
+ id?: string;
+ name?: string;
+ }>;
+ metadata?: {
+ kbResource: string;
+ source: string;
+ required: boolean;
+ };
+ namespace: string;
+ text: string;
+ vector?: {
+ tokens: Record;
+ model_id: string;
+ };
+}
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_service/helpers.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_service/helpers.ts
new file mode 100644
index 0000000000000..8503494cf1535
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_service/helpers.ts
@@ -0,0 +1,111 @@
+/*
+ * 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 { ElasticsearchClient } from '@kbn/core-elasticsearch-server';
+import { once } from 'lodash/fp';
+import type { KibanaRequest } from '@kbn/core-http-server';
+import type { SavedObjectsClientContract } from '@kbn/core-saved-objects-api-server';
+import type { MlPluginSetup } from '@kbn/ml-plugin/server';
+import { knowledgeBaseIngestPipeline } from '../ai_assistant_data_clients/knowledge_base/ingest_pipeline';
+import { GetElser } from '../types';
+
+/**
+ * Creates a function that returns the ELSER model ID
+ *
+ * @param ml
+ */
+export const createGetElserId = (ml: MlPluginSetup): GetElser => {
+ return once(async () => {
+ return (
+ (
+ await ml
+ // Force check to happen as internal user
+ .trainedModelsProvider({} as KibanaRequest, {} as SavedObjectsClientContract)
+ .getELSER()
+ ).model_id
+ );
+ });
+};
+
+interface PipelineExistsParams {
+ esClient: ElasticsearchClient;
+ id: string;
+}
+
+/**
+ * Checks if the provided ingest pipeline exists in Elasticsearch
+ *
+ * @param params params
+ * @param params.esClient Elasticsearch client with privileges to check for ingest pipelines
+ * @param params.id ID of the ingest pipeline to check
+ *
+ * @returns Promise indicating whether the pipeline exists
+ */
+export const pipelineExists = async ({ esClient, id }: PipelineExistsParams): Promise => {
+ try {
+ const response = await esClient.ingest.getPipeline({
+ id,
+ });
+ return Object.keys(response).length > 0;
+ } catch (e) {
+ // The GET /_ingest/pipeline/{pipelineId} API returns an empty object w/ 404 Not Found.
+ return false;
+ }
+};
+
+interface CreatePipelineParams {
+ esClient: ElasticsearchClient;
+ id: string;
+ modelId: string;
+}
+
+/**
+ * Create ingest pipeline for ELSER in Elasticsearch
+ *
+ * @param params params
+ * @param params.esClient Elasticsearch client with privileges to check for ingest pipelines
+ * @param params.id ID of the ingest pipeline
+ * @param params.modelId ID of the ELSER model
+ *
+ * @returns Promise indicating whether the pipeline was created
+ */
+export const createPipeline = async ({
+ esClient,
+ id,
+ modelId,
+}: CreatePipelineParams): Promise => {
+ try {
+ const response = await esClient.ingest.putPipeline(
+ knowledgeBaseIngestPipeline({
+ id,
+ modelId,
+ })
+ );
+
+ return response.acknowledged;
+ } catch (e) {
+ return false;
+ }
+};
+
+interface DeletePipelineParams {
+ esClient: ElasticsearchClient;
+ id: string;
+}
+
+/**
+ * Delete ingest pipeline for ELSER in Elasticsearch
+ *
+ * @returns Promise indicating whether the pipeline was created
+ */
+export const deletePipeline = async ({ esClient, id }: DeletePipelineParams): Promise => {
+ const response = await esClient.ingest.deletePipeline({
+ id,
+ });
+
+ return response.acknowledged;
+};
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_service/index.test.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_service/index.test.ts
index a96088b413dcf..dbdc01dcf9e57 100644
--- a/x-pack/plugins/elastic_assistant/server/ai_assistant_service/index.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_service/index.test.ts
@@ -14,8 +14,10 @@ import { AuthenticatedUser } from '@kbn/security-plugin/server';
import { DEFAULT_NAMESPACE_STRING } from '@kbn/core-saved-objects-utils-server';
import { conversationsDataClientMock } from '../__mocks__/data_clients.mock';
import { AIAssistantConversationsDataClient } from '../ai_assistant_data_clients/conversations';
-import { AIAssistantService } from '.';
+import { AIAssistantService, AIAssistantServiceOpts } from '.';
import { retryUntil } from './create_resource_installation_helper.test';
+import { mlPluginMock } from '@kbn/ml-plugin/public/mocks';
+import type { MlPluginSetup } from '@kbn/ml-plugin/server';
jest.mock('../ai_assistant_data_clients/conversations', () => ({
AIAssistantConversationsDataClient: jest.fn(),
@@ -95,6 +97,7 @@ const mockUser1 = {
describe('AI Assistant Service', () => {
let pluginStop$: Subject;
+ let assistantServiceOpts: AIAssistantServiceOpts;
beforeEach(() => {
jest.resetAllMocks();
@@ -107,6 +110,14 @@ describe('AI Assistant Service', () => {
);
clusterClient.indices.getAlias.mockImplementation(async () => GetAliasResponse);
clusterClient.indices.getDataStream.mockImplementation(async () => GetDataStreamResponse);
+ assistantServiceOpts = {
+ logger,
+ elasticsearchClientPromise: Promise.resolve(clusterClient),
+ pluginStop$,
+ kibanaVersion: '8.8.0',
+ ml: mlPluginMock.createSetupContract() as unknown as MlPluginSetup, // Missing SharedServices mock
+ taskManager: taskManagerMock.createSetup(),
+ };
});
afterEach(() => {
@@ -116,13 +127,7 @@ describe('AI Assistant Service', () => {
describe('AIAssistantService()', () => {
test('should correctly initialize common resources', async () => {
- const assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ const assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -140,13 +145,7 @@ describe('AI Assistant Service', () => {
test('should log error and set initialized to false if creating/updating common component template throws error', async () => {
clusterClient.cluster.putComponentTemplate.mockRejectedValueOnce(new Error('fail'));
- const assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ const assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil('error log called', async () => logger.error.mock.calls.length > 0);
@@ -169,13 +168,7 @@ describe('AI Assistant Service', () => {
});
test('should create new AIAssistantConversationsDataClient', async () => {
- assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -192,7 +185,7 @@ describe('AI Assistant Service', () => {
logger,
elasticsearchClientPromise: Promise.resolve(clusterClient),
spaceId: 'default',
- indexPatternsResorceName: '.kibana-elastic-ai-assistant-conversations',
+ indexPatternsResourceName: '.kibana-elastic-ai-assistant-conversations',
currentUser: mockUser1,
kibanaVersion: '8.8.0',
});
@@ -201,13 +194,7 @@ describe('AI Assistant Service', () => {
test('should retry initializing common resources if common resource initialization failed', async () => {
clusterClient.cluster.putComponentTemplate.mockRejectedValueOnce(new Error('fail'));
- assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil('error log called', async () => logger.error.mock.calls.length > 0);
@@ -234,7 +221,7 @@ describe('AI Assistant Service', () => {
logger,
elasticsearchClientPromise: Promise.resolve(clusterClient),
spaceId: 'default',
- indexPatternsResorceName: '.kibana-elastic-ai-assistant-conversations',
+ indexPatternsResourceName: '.kibana-elastic-ai-assistant-conversations',
currentUser: mockUser1,
kibanaVersion: '8.8.0',
});
@@ -259,13 +246,7 @@ describe('AI Assistant Service', () => {
return { acknowledged: true };
});
- assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil('error log called', async () => logger.error.mock.calls.length > 0);
@@ -298,7 +279,7 @@ describe('AI Assistant Service', () => {
expect(AIAssistantConversationsDataClient).toHaveBeenCalledWith({
elasticsearchClientPromise: Promise.resolve(clusterClient),
spaceId: 'default',
- indexPatternsResorceName: '.kibana-elastic-ai-assistant-conversations',
+ indexPatternsResourceName: '.kibana-elastic-ai-assistant-conversations',
currentUser: mockUser1,
kibanaVersion: '8.8.0',
logger,
@@ -336,13 +317,7 @@ describe('AI Assistant Service', () => {
mappings: {},
},
}));
- assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -358,7 +333,7 @@ describe('AI Assistant Service', () => {
expect(AIAssistantConversationsDataClient).toHaveBeenCalledWith({
elasticsearchClientPromise: Promise.resolve(clusterClient),
spaceId: 'default',
- indexPatternsResorceName: '.kibana-elastic-ai-assistant-conversations',
+ indexPatternsResourceName: '.kibana-elastic-ai-assistant-conversations',
currentUser: mockUser1,
kibanaVersion: '8.8.0',
logger,
@@ -397,13 +372,7 @@ describe('AI Assistant Service', () => {
return SimulateTemplateResponse;
});
- assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -431,7 +400,7 @@ describe('AI Assistant Service', () => {
expect(AIAssistantConversationsDataClient).toHaveBeenCalledWith({
elasticsearchClientPromise: Promise.resolve(clusterClient),
spaceId: 'default',
- indexPatternsResorceName: '.kibana-elastic-ai-assistant-conversations',
+ indexPatternsResourceName: '.kibana-elastic-ai-assistant-conversations',
currentUser: mockUser1,
kibanaVersion: '8.8.0',
logger,
@@ -475,13 +444,7 @@ describe('AI Assistant Service', () => {
},
}));
- assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -523,13 +486,7 @@ describe('AI Assistant Service', () => {
throw new Error(`fail ${++failCount}`);
});
- assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil('error log called', async () => logger.error.mock.calls.length > 0, 1);
@@ -574,13 +531,7 @@ describe('AI Assistant Service', () => {
test('should return null if retrying common resources initialization fails again with same error', async () => {
clusterClient.cluster.putComponentTemplate.mockRejectedValue(new Error('fail'));
- assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil('error log called', async () => logger.error.mock.calls.length > 0);
@@ -633,13 +584,7 @@ describe('AI Assistant Service', () => {
}));
clusterClient.indices.putIndexTemplate.mockRejectedValue(new Error('fail index template'));
- assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -677,13 +622,7 @@ describe('AI Assistant Service', () => {
.mockRejectedValueOnce(new EsErrors.ConnectionError('foo'))
.mockRejectedValueOnce(new EsErrors.TimeoutError('timeout'))
.mockResolvedValue({ acknowledged: true });
- const assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ const assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -697,13 +636,7 @@ describe('AI Assistant Service', () => {
.mockRejectedValueOnce(new EsErrors.ConnectionError('foo'))
.mockRejectedValueOnce(new EsErrors.TimeoutError('timeout'))
.mockResolvedValue({ acknowledged: true });
- const assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ const assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -724,13 +657,7 @@ describe('AI Assistant Service', () => {
.mockRejectedValueOnce(new EsErrors.ConnectionError('foo'))
.mockRejectedValueOnce(new EsErrors.TimeoutError('timeout'))
.mockResolvedValue({ acknowledged: true });
- const assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ const assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -750,13 +677,7 @@ describe('AI Assistant Service', () => {
.mockRejectedValueOnce(new EsErrors.ConnectionError('foo'))
.mockRejectedValueOnce(new EsErrors.TimeoutError('timeout'))
.mockResolvedValue({ acknowledged: true });
- const assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ const assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
@@ -783,13 +704,7 @@ describe('AI Assistant Service', () => {
hits: { hits: [], total: { value: 0 } },
});
- const assistantService = new AIAssistantService({
- logger,
- elasticsearchClientPromise: Promise.resolve(clusterClient),
- pluginStop$,
- kibanaVersion: '8.8.0',
- taskManager: taskManagerMock.createSetup(),
- });
+ const assistantService = new AIAssistantService(assistantServiceOpts);
await retryUntil(
'AI Assistant service initialized',
diff --git a/x-pack/plugins/elastic_assistant/server/ai_assistant_service/index.ts b/x-pack/plugins/elastic_assistant/server/ai_assistant_service/index.ts
index 9cc3efb03e195..619d9e9bca256 100644
--- a/x-pack/plugins/elastic_assistant/server/ai_assistant_service/index.ts
+++ b/x-pack/plugins/elastic_assistant/server/ai_assistant_service/index.ts
@@ -9,10 +9,11 @@ import { DataStreamSpacesAdapter, FieldMap } from '@kbn/data-stream-adapter';
import { DEFAULT_NAMESPACE_STRING } from '@kbn/core-saved-objects-utils-server';
import type { Logger, ElasticsearchClient } from '@kbn/core/server';
import type { TaskManagerSetupContract } from '@kbn/task-manager-plugin/server';
+import type { MlPluginSetup } from '@kbn/ml-plugin/server';
import { AuthenticatedUser } from '@kbn/security-plugin/server';
import { Subject } from 'rxjs';
import { getDefaultAnonymizationFields } from '../../common/anonymization';
-import { AssistantResourceNames } from '../types';
+import { AssistantResourceNames, GetElser } from '../types';
import { AIAssistantConversationsDataClient } from '../ai_assistant_data_clients/conversations';
import {
InitializationPromise,
@@ -25,6 +26,9 @@ import { conversationsFieldMap } from '../ai_assistant_data_clients/conversation
import { assistantPromptsFieldMap } from '../ai_assistant_data_clients/prompts/field_maps_configuration';
import { assistantAnonymizationFieldsFieldMap } from '../ai_assistant_data_clients/anonymization_fields/field_maps_configuration';
import { AIAssistantDataClient } from '../ai_assistant_data_clients';
+import { knowledgeBaseFieldMap } from '../ai_assistant_data_clients/knowledge_base/field_maps_configuration';
+import { AIAssistantKnowledgeBaseDataClient } from '../ai_assistant_data_clients/knowledge_base';
+import { createGetElserId, createPipeline, pipelineExists } from './helpers';
const TOTAL_FIELDS_LIMIT = 2500;
@@ -32,10 +36,11 @@ function getResourceName(resource: string) {
return `.kibana-elastic-ai-assistant-${resource}`;
}
-interface AIAssistantServiceOpts {
+export interface AIAssistantServiceOpts {
logger: Logger;
kibanaVersion: string;
elasticsearchClientPromise: Promise;
+ ml: MlPluginSetup;
taskManager: TaskManagerSetupContract;
pluginStop$: Subject;
}
@@ -47,7 +52,7 @@ export interface CreateAIAssistantClientParams {
}
export type CreateDataStream = (params: {
- resource: 'conversations' | 'prompts' | 'anonymizationFields';
+ resource: 'anonymizationFields' | 'conversations' | 'knowledgeBase' | 'prompts';
fieldMap: FieldMap;
kibanaVersion: string;
spaceId?: string;
@@ -55,20 +60,31 @@ export type CreateDataStream = (params: {
export class AIAssistantService {
private initialized: boolean;
+ // Temporary 'feature flag' to determine if we should initialize the knowledge base, toggled when accessing data client
+ private initializeKnowledgeBase: boolean = false;
private isInitializing: boolean = false;
+ private getElserId: GetElser;
private conversationsDataStream: DataStreamSpacesAdapter;
+ private knowledgeBaseDataStream: DataStreamSpacesAdapter;
private promptsDataStream: DataStreamSpacesAdapter;
private anonymizationFieldsDataStream: DataStreamSpacesAdapter;
private resourceInitializationHelper: ResourceInstallationHelper;
private initPromise: Promise;
+ private isKBSetupInProgress: boolean = false;
constructor(private readonly options: AIAssistantServiceOpts) {
this.initialized = false;
+ this.getElserId = createGetElserId(options.ml);
this.conversationsDataStream = this.createDataStream({
resource: 'conversations',
kibanaVersion: options.kibanaVersion,
fieldMap: conversationsFieldMap,
});
+ this.knowledgeBaseDataStream = this.createDataStream({
+ resource: 'knowledgeBase',
+ kibanaVersion: options.kibanaVersion,
+ fieldMap: knowledgeBaseFieldMap,
+ });
this.promptsDataStream = this.createDataStream({
resource: 'prompts',
kibanaVersion: options.kibanaVersion,
@@ -93,6 +109,13 @@ export class AIAssistantService {
return this.initialized;
}
+ public getIsKBSetupInProgress() {
+ return this.isKBSetupInProgress;
+ }
+ public setIsKBSetupInProgress(isInProgress: boolean) {
+ this.isKBSetupInProgress = isInProgress;
+ }
+
private createDataStream: CreateDataStream = ({ resource, kibanaVersion, fieldMap }) => {
const newDataStream = new DataStreamSpacesAdapter(this.resourceNames.aliases[resource], {
kibanaVersion,
@@ -107,6 +130,19 @@ export class AIAssistantService {
newDataStream.setIndexTemplate({
name: this.resourceNames.indexTemplate[resource],
componentTemplateRefs: [this.resourceNames.componentTemplate[resource]],
+ // Apply `default_pipeline` if pipeline exists for resource
+ ...(resource in this.resourceNames.pipelines
+ ? {
+ template: {
+ settings: {
+ 'index.default_pipeline':
+ this.resourceNames.pipelines[
+ resource as keyof typeof this.resourceNames.pipelines
+ ],
+ },
+ },
+ }
+ : {}),
});
return newDataStream;
@@ -124,6 +160,36 @@ export class AIAssistantService {
pluginStop$: this.options.pluginStop$,
});
+ if (this.initializeKnowledgeBase) {
+ await this.knowledgeBaseDataStream.install({
+ esClient,
+ logger: this.options.logger,
+ pluginStop$: this.options.pluginStop$,
+ });
+
+ // TODO: Pipeline creation is temporary as we'll be moving to semantic_text field once available in ES
+ const pipelineCreated = await pipelineExists({
+ esClient,
+ id: this.resourceNames.pipelines.knowledgeBase,
+ });
+ if (!pipelineCreated) {
+ this.options.logger.debug(
+ `Installing ingest pipeline - ${this.resourceNames.pipelines.knowledgeBase}`
+ );
+ const response = await createPipeline({
+ esClient,
+ id: this.resourceNames.pipelines.knowledgeBase,
+ modelId: await this.getElserId(),
+ });
+
+ this.options.logger.debug(`Installed ingest pipeline: ${response}`);
+ } else {
+ this.options.logger.debug(
+ `Ingest pipeline already exists - ${this.resourceNames.pipelines.knowledgeBase}`
+ );
+ }
+ }
+
await this.promptsDataStream.install({
esClient,
logger: this.options.logger,
@@ -149,30 +215,30 @@ export class AIAssistantService {
private readonly resourceNames: AssistantResourceNames = {
componentTemplate: {
conversations: getResourceName('component-template-conversations'),
+ knowledgeBase: getResourceName('component-template-knowledge-base'),
prompts: getResourceName('component-template-prompts'),
anonymizationFields: getResourceName('component-template-anonymization-fields'),
- kb: getResourceName('component-template-kb'),
},
aliases: {
conversations: getResourceName('conversations'),
+ knowledgeBase: getResourceName('knowledge-base'),
prompts: getResourceName('prompts'),
anonymizationFields: getResourceName('anonymization-fields'),
- kb: getResourceName('kb'),
},
indexPatterns: {
conversations: getResourceName('conversations*'),
+ knowledgeBase: getResourceName('knowledge-base*'),
prompts: getResourceName('prompts*'),
anonymizationFields: getResourceName('anonymization-fields*'),
- kb: getResourceName('kb*'),
},
indexTemplate: {
conversations: getResourceName('index-template-conversations'),
+ knowledgeBase: getResourceName('index-template-knowledge-base'),
prompts: getResourceName('index-template-prompts'),
anonymizationFields: getResourceName('index-template-anonymization-fields'),
- kb: getResourceName('index-template-kb'),
},
pipelines: {
- kb: getResourceName('kb-ingest-pipeline'),
+ knowledgeBase: getResourceName('ingest-pipeline-knowledge-base'),
},
};
@@ -182,7 +248,7 @@ export class AIAssistantService {
opts.spaceId
);
- // If space evel resources initialization failed, retry
+ // If space level resources initialization failed, retry
if (!initialized && error) {
let initRetryPromise: Promise | undefined;
@@ -236,11 +302,42 @@ export class AIAssistantService {
elasticsearchClientPromise: this.options.elasticsearchClientPromise,
spaceId: opts.spaceId,
kibanaVersion: this.options.kibanaVersion,
- indexPatternsResorceName: this.resourceNames.aliases.conversations,
+ indexPatternsResourceName: this.resourceNames.aliases.conversations,
currentUser: opts.currentUser,
});
}
+ public async createAIAssistantKnowledgeBaseDataClient(
+ opts: CreateAIAssistantClientParams & { initializeKnowledgeBase: boolean }
+ ): Promise {
+ // Note: Due to plugin lifecycle and feature flag registration timing, we need to pass in the feature flag here
+ // Remove this param and initialization when the `assistantKnowledgeBaseByDefault` feature flag is removed
+ if (opts.initializeKnowledgeBase) {
+ this.initializeKnowledgeBase = true;
+ await this.initializeResources();
+ }
+
+ const res = await this.checkResourcesInstallation(opts);
+
+ if (res === null) {
+ return null;
+ }
+
+ return new AIAssistantKnowledgeBaseDataClient({
+ logger: this.options.logger.get('knowledgeBase'),
+ currentUser: opts.currentUser,
+ elasticsearchClientPromise: this.options.elasticsearchClientPromise,
+ indexPatternsResourceName: this.resourceNames.aliases.knowledgeBase,
+ ingestPipelineResourceName: this.resourceNames.pipelines.knowledgeBase,
+ getElserId: this.getElserId,
+ getIsKBSetupInProgress: this.getIsKBSetupInProgress.bind(this),
+ kibanaVersion: this.options.kibanaVersion,
+ ml: this.options.ml,
+ setIsKBSetupInProgress: this.setIsKBSetupInProgress.bind(this),
+ spaceId: opts.spaceId,
+ });
+ }
+
public async createAIAssistantPromptsDataClient(
opts: CreateAIAssistantClientParams
): Promise {
@@ -255,7 +352,7 @@ export class AIAssistantService {
elasticsearchClientPromise: this.options.elasticsearchClientPromise,
spaceId: opts.spaceId,
kibanaVersion: this.options.kibanaVersion,
- indexPatternsResorceName: this.resourceNames.aliases.prompts,
+ indexPatternsResourceName: this.resourceNames.aliases.prompts,
currentUser: opts.currentUser,
});
}
@@ -274,7 +371,7 @@ export class AIAssistantService {
elasticsearchClientPromise: this.options.elasticsearchClientPromise,
spaceId: opts.spaceId,
kibanaVersion: this.options.kibanaVersion,
- indexPatternsResorceName: this.resourceNames.aliases.anonymizationFields,
+ indexPatternsResourceName: this.resourceNames.aliases.anonymizationFields,
currentUser: opts.currentUser,
});
}
@@ -308,6 +405,15 @@ export class AIAssistantService {
await this.conversationsDataStream.installSpace(spaceId);
}
+ if (this.initializeKnowledgeBase) {
+ const knowledgeBaseIndexName = await this.knowledgeBaseDataStream.getInstalledSpaceName(
+ spaceId
+ );
+ if (!knowledgeBaseIndexName) {
+ await this.knowledgeBaseDataStream.installSpace(spaceId);
+ }
+ }
+
const promptsIndexName = await this.promptsDataStream.getInstalledSpaceName(spaceId);
if (!promptsIndexName) {
await this.promptsDataStream.installSpace(spaceId);
@@ -334,7 +440,7 @@ export class AIAssistantService {
elasticsearchClientPromise: this.options.elasticsearchClientPromise,
spaceId,
kibanaVersion: this.options.kibanaVersion,
- indexPatternsResorceName: this.resourceNames.aliases.anonymizationFields,
+ indexPatternsResourceName: this.resourceNames.aliases.anonymizationFields,
currentUser: null,
});
diff --git a/x-pack/plugins/elastic_assistant/server/lib/data_stream/documents_data_writer.ts b/x-pack/plugins/elastic_assistant/server/lib/data_stream/documents_data_writer.ts
index 83b4227275066..3cae3972c8bf6 100644
--- a/x-pack/plugins/elastic_assistant/server/lib/data_stream/documents_data_writer.ts
+++ b/x-pack/plugins/elastic_assistant/server/lib/data_stream/documents_data_writer.ts
@@ -5,7 +5,6 @@
* 2.0.
*/
-import { v4 as uuidV4 } from 'uuid';
import type {
BulkOperationContainer,
BulkOperationType,
@@ -241,7 +240,8 @@ export class DocumentsDataWriter implements DocumentsDataWriter {
): Promise => {
const documentCreateBody = params.documentsToCreate
? params.documentsToCreate.flatMap((document) => [
- { create: { _index: this.options.index, _id: uuidV4() } },
+ // Do not pre-gen _id for bulk create operations to avoid `version_conflict_engine_exception`
+ { create: { _index: this.options.index } },
document,
])
: [];
diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/elasticsearch_store/elasticsearch_store.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/elasticsearch_store/elasticsearch_store.ts
index ae6540de5e271..86791cec5f5ce 100644
--- a/x-pack/plugins/elastic_assistant/server/lib/langchain/elasticsearch_store/elasticsearch_store.ts
+++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/elasticsearch_store/elasticsearch_store.ts
@@ -34,6 +34,7 @@ import {
KNOWLEDGE_BASE_EXECUTION_ERROR_EVENT,
KNOWLEDGE_BASE_EXECUTION_SUCCESS_EVENT,
} from '../../telemetry/event_based_telemetry';
+import { AIAssistantKnowledgeBaseDataClient } from '../../../ai_assistant_data_clients/knowledge_base';
interface CreatePipelineParams {
id?: string;
@@ -64,8 +65,8 @@ export const TERMS_QUERY_SIZE = 10000;
export class ElasticsearchStore extends VectorStore {
declare FilterType: QueryDslQueryContainer;
- // Note: convert to { Client } from '@elastic/elasticsearch' for langchain contribution (removing Kibana dependency)
private readonly esClient: ElasticsearchClient;
+ private readonly kbDataClient: AIAssistantKnowledgeBaseDataClient | undefined;
private readonly index: string;
private readonly logger: Logger;
private readonly telemetry: AnalyticsServiceSetup;
@@ -82,7 +83,8 @@ export class ElasticsearchStore extends VectorStore {
logger: Logger,
telemetry: AnalyticsServiceSetup,
model?: string,
- kbResource?: string | undefined
+ kbResource?: string | undefined,
+ kbDataClient?: AIAssistantKnowledgeBaseDataClient
) {
super(new ElasticsearchEmbeddings(logger), { esClient, index });
this.esClient = esClient;
@@ -91,6 +93,7 @@ export class ElasticsearchStore extends VectorStore {
this.telemetry = telemetry;
this.model = model ?? '.elser_model_2';
this.kbResource = kbResource ?? ESQL_RESOURCE;
+ this.kbDataClient = kbDataClient;
}
/**
@@ -105,14 +108,16 @@ export class ElasticsearchStore extends VectorStore {
documents: Document[],
options?: Record
): Promise => {
+ // Code path for when `assistantKnowledgeBaseByDefault` FF is enabled
+ // Once removed replace addDocuments() w/ addDocumentsViaDataClient()
+ if (this.kbDataClient != null) {
+ return this.addDocumentsViaDataClient(documents, options);
+ }
+
const pipelineExists = await this.pipelineExists();
if (!pipelineExists) {
await this.createPipeline();
}
- const indexExists = await this.indexExists();
- if (!indexExists) {
- await this.createIndex();
- }
const operations = documents.flatMap(({ pageContent, metadata }) => [
{ index: { _index: this.index, _id: uuid.v4() } },
@@ -139,6 +144,26 @@ export class ElasticsearchStore extends VectorStore {
}
};
+ addDocumentsViaDataClient = async (
+ documents: Document[],
+ options?: Record
+ ): Promise => {
+ if (!this.kbDataClient) {
+ this.logger.error('No kbDataClient provided');
+ return [];
+ }
+
+ try {
+ const response = await this.kbDataClient.addKnowledgeBaseDocuments({
+ documents,
+ });
+ return response.map((doc) => doc.id);
+ } catch (e) {
+ this.logger.error(`Error loading data into KB\n ${e}`);
+ return [];
+ }
+ };
+
/**
* Add vectors to the store. Returns a list of document IDs.
*
@@ -317,6 +342,13 @@ export class ElasticsearchStore extends VectorStore {
* @returns Promise indicating whether the index was created
*/
deleteIndex = async (index?: string): Promise => {
+ // Code path for when `assistantKnowledgeBaseByDefault` FF is enabled
+ // We won't be supporting delete operations for the KB data stream going forward, so this can be removed along with the FF
+ if (this.kbDataClient != null) {
+ const response = await this.esClient.indices.deleteDataStream({ name: index ?? this.index });
+ return response.acknowledged;
+ }
+
const response = await this.esClient.indices.delete({
index: index ?? this.index,
});
@@ -332,8 +364,12 @@ export class ElasticsearchStore extends VectorStore {
*/
pipelineExists = async (pipelineId?: string): Promise => {
try {
+ const id =
+ pipelineId ??
+ this.kbDataClient?.options.ingestPipelineResourceName ??
+ KNOWLEDGE_BASE_INGEST_PIPELINE;
const response = await this.esClient.ingest.getPipeline({
- id: KNOWLEDGE_BASE_INGEST_PIPELINE,
+ id,
});
return Object.keys(response).length > 0;
} catch (e) {
@@ -349,7 +385,10 @@ export class ElasticsearchStore extends VectorStore {
*/
createPipeline = async ({ id, description }: CreatePipelineParams = {}): Promise => {
const response = await this.esClient.ingest.putPipeline({
- id: id ?? KNOWLEDGE_BASE_INGEST_PIPELINE,
+ id:
+ id ??
+ this.kbDataClient?.options.ingestPipelineResourceName ??
+ KNOWLEDGE_BASE_INGEST_PIPELINE,
description:
description ?? 'Embedding pipeline for Elastic AI Assistant ELSER Knowledge Base',
processors: [
@@ -381,7 +420,10 @@ export class ElasticsearchStore extends VectorStore {
*/
deletePipeline = async (pipelineId?: string): Promise => {
const response = await this.esClient.ingest.deletePipeline({
- id: pipelineId ?? KNOWLEDGE_BASE_INGEST_PIPELINE,
+ id:
+ pipelineId ??
+ this.kbDataClient?.options.ingestPipelineResourceName ??
+ KNOWLEDGE_BASE_INGEST_PIPELINE,
});
return response.acknowledged;
@@ -395,12 +437,17 @@ export class ElasticsearchStore extends VectorStore {
*/
async isModelInstalled(modelId?: string): Promise {
try {
+ // Code path for when `assistantKnowledgeBaseByDefault` FF is enabled
+ if (this.kbDataClient != null) {
+ // esStore.isModelInstalled() is actually checking if the model is deployed, not installed, so do that instead
+ return this.kbDataClient.isModelDeployed();
+ }
+
const getResponse = await this.esClient.ml.getTrainedModelsStats({
model_id: modelId ?? this.model,
});
this.logger.debug(`modelId: ${modelId}`);
- this.logger.debug(`getResponse: ${JSON.stringify(getResponse, null, 2)}`);
// For standardized way of checking deployment status see: https://github.com/elastic/elasticsearch/issues/106986
const isReadyESS = (stats: MlTrainedModelStats) =>
diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.test.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.test.ts
index 7e7d5cf561d5e..42ffad4779d1c 100644
--- a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.test.ts
@@ -14,13 +14,15 @@ import { initializeAgentExecutorWithOptions } from 'langchain/agents';
import { mockActionResponse } from '../../../__mocks__/action_result_data';
import { langChainMessages } from '../../../__mocks__/lang_chain_messages';
-import { ESQL_RESOURCE } from '../../../routes/knowledge_base/constants';
+import { KNOWLEDGE_BASE_INDEX_PATTERN } from '../../../routes/knowledge_base/constants';
import { callAgentExecutor } from '.';
import { PassThrough, Stream } from 'stream';
import {
ActionsClientChatOpenAI,
ActionsClientLlm,
} from '@kbn/elastic-assistant-common/impl/language_models';
+import { AgentExecutorParams } from '../executors/types';
+import { ElasticsearchStore } from '../elasticsearch_store/elasticsearch_store';
jest.mock('@kbn/elastic-assistant-common/impl/language_models', () => ({
ActionsClientChatOpenAI: jest.fn(),
@@ -85,18 +87,23 @@ const mockActions: ActionsPluginStart = {} as ActionsPluginStart;
const mockLogger = loggerMock.create();
const mockTelemetry = coreMock.createSetup().analytics;
const esClientMock = elasticsearchServiceMock.createScopedClusterClient().asCurrentUser;
-const defaultProps = {
+const esStoreMock = new ElasticsearchStore(
+ esClientMock,
+ KNOWLEDGE_BASE_INDEX_PATTERN,
+ mockLogger,
+ mockTelemetry
+);
+const defaultProps: AgentExecutorParams = {
actions: mockActions,
isEnabledKnowledgeBase: true,
connectorId: mockConnectorId,
esClient: esClientMock,
+ esStore: esStoreMock,
llmType: 'openai',
langChainMessages,
logger: mockLogger,
onNewReplacements: jest.fn(),
request: mockRequest,
- kbResource: ESQL_RESOURCE,
- telemetry: mockTelemetry,
replacements: {},
};
const executorMock = initializeAgentExecutorWithOptions as jest.Mock;
diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts
index f8e2f2426bf89..9c1ea6d5c36d5 100644
--- a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts
+++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts
@@ -17,8 +17,6 @@ import {
ActionsClientLlm,
} from '@kbn/elastic-assistant-common/impl/language_models';
import { getDefaultArguments } from '@kbn/elastic-assistant-common/impl/language_models/constants';
-import { ElasticsearchStore } from '../elasticsearch_store/elasticsearch_store';
-import { KNOWLEDGE_BASE_INDEX_PATTERN } from '../../../routes/knowledge_base/constants';
import { AgentExecutor } from '../executors/types';
import { withAssistantSpan } from '../tracers/with_assistant_span';
import { APMTracer } from '../tracers/apm_tracer';
@@ -38,9 +36,8 @@ export const callAgentExecutor: AgentExecutor = async ({
isEnabledKnowledgeBase,
assistantTools = [],
connectorId,
- elserId,
esClient,
- kbResource,
+ esStore,
langChainMessages,
llmType,
logger,
@@ -50,7 +47,6 @@ export const callAgentExecutor: AgentExecutor = async ({
replacements,
request,
size,
- telemetry,
traceOptions,
}) => {
// TODO implement llmClass for bedrock streaming
@@ -87,16 +83,6 @@ export const callAgentExecutor: AgentExecutor = async ({
returnMessages: true,
});
- // ELSER backed ElasticsearchStore for Knowledge Base
- const esStore = new ElasticsearchStore(
- esClient,
- KNOWLEDGE_BASE_INDEX_PATTERN,
- logger,
- telemetry,
- elserId,
- kbResource
- );
-
const modelExists = await esStore.isModelInstalled();
// Create a chain that uses the ELSER backed ElasticsearchStore, override k=10 for esql query generation for now
diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/openai_functions_executor.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/openai_functions_executor.ts
index 2b3d07708e2e1..2b5ef7350e628 100644
--- a/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/openai_functions_executor.ts
+++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/openai_functions_executor.ts
@@ -11,8 +11,6 @@ import { BufferMemory, ChatMessageHistory } from 'langchain/memory';
import { ChainTool } from 'langchain/tools/chain';
import { ActionsClientLlm } from '@kbn/elastic-assistant-common/impl/language_models';
-import { ElasticsearchStore } from '../elasticsearch_store/elasticsearch_store';
-import { KNOWLEDGE_BASE_INDEX_PATTERN } from '../../../routes/knowledge_base/constants';
import { AgentExecutor } from './types';
import { withAssistantSpan } from '../tracers/with_assistant_span';
import { APMTracer } from '../tracers/apm_tracer';
@@ -30,13 +28,11 @@ export const callOpenAIFunctionsExecutor: AgentExecutor = async ({
actions,
connectorId,
esClient,
+ esStore,
langChainMessages,
llmType,
logger,
request,
- elserId,
- kbResource,
- telemetry,
traceOptions,
}) => {
const llm = new ActionsClientLlm({
@@ -59,16 +55,6 @@ export const callOpenAIFunctionsExecutor: AgentExecutor = async ({
returnMessages: true,
});
- // ELSER backed ElasticsearchStore for Knowledge Base
- const esStore = new ElasticsearchStore(
- esClient,
- KNOWLEDGE_BASE_INDEX_PATTERN,
- logger,
- telemetry,
- elserId,
- kbResource
- );
-
const modelExists = await esStore.isModelInstalled();
if (!modelExists) {
throw new Error(
diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts
index ce2833fa14480..8acd7f4fcdde2 100644
--- a/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts
+++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/executors/types.ts
@@ -11,12 +11,12 @@ import { BaseMessage } from '@langchain/core/messages';
import { Logger } from '@kbn/logging';
import { KibanaRequest, ResponseHeaders } from '@kbn/core-http-server';
import type { LangChainTracer } from '@langchain/core/tracers/tracer_langchain';
-import type { AnalyticsServiceSetup } from '@kbn/core-analytics-server';
import { ExecuteConnectorRequestBody, Message, Replacements } from '@kbn/elastic-assistant-common';
import { StreamResponseWithHeaders } from '@kbn/ml-response-stream/server';
import { AnonymizationFieldResponse } from '@kbn/elastic-assistant-common/impl/schemas/anonymization_fields/bulk_crud_anonymization_fields_route.gen';
import { ResponseBody } from '../types';
import type { AssistantTool } from '../../../types';
+import { ElasticsearchStore } from '../elasticsearch_store/elasticsearch_store';
export interface AgentExecutorParams {
abortSignal?: AbortSignal;
@@ -27,7 +27,7 @@ export interface AgentExecutorParams {
assistantTools?: AssistantTool[];
connectorId: string;
esClient: ElasticsearchClient;
- kbResource: string | undefined;
+ esStore: ElasticsearchStore;
langChainMessages: BaseMessage[];
llmType?: string;
logger: Logger;
@@ -41,9 +41,7 @@ export interface AgentExecutorParams {
) => Promise;
request: KibanaRequest;
size?: number;
- elserId?: string;
traceOptions?: TraceOptions;
- telemetry: AnalyticsServiceSetup;
}
export interface StaticReturnType {
diff --git a/x-pack/plugins/elastic_assistant/server/plugin.ts b/x-pack/plugins/elastic_assistant/server/plugin.ts
index 53b05857beb4b..7a092928ce99a 100755
--- a/x-pack/plugins/elastic_assistant/server/plugin.ts
+++ b/x-pack/plugins/elastic_assistant/server/plugin.ts
@@ -24,6 +24,7 @@ import { RequestContextFactory } from './routes/request_context_factory';
import { PLUGIN_ID } from '../common/constants';
import { registerRoutes } from './routes/register_routes';
import { appContextService } from './services/app_context';
+import { createGetElserId } from './ai_assistant_service/helpers';
export class ElasticAssistantPlugin
implements
@@ -53,6 +54,7 @@ export class ElasticAssistantPlugin
this.assistantService = new AIAssistantService({
logger: this.logger.get('service'),
+ ml: plugins.ml,
taskManager: plugins.taskManager,
kibanaVersion: this.kibanaVersion,
elasticsearchClientPromise: core
@@ -76,8 +78,8 @@ export class ElasticAssistantPlugin
);
events.forEach((eventConfig) => core.analytics.registerEventType(eventConfig));
- // this.assistantService registerKBTask
- registerRoutes(router, this.logger, plugins);
+ const getElserId = createGetElserId(plugins.ml);
+ registerRoutes(router, this.logger, getElserId);
return {
actions: plugins.actions,
getRegisteredFeatures: (pluginName: string) => {
diff --git a/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.test.ts b/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.test.ts
index 0555b313f27f9..b3fb27fa835c1 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.test.ts
@@ -9,7 +9,8 @@ import { postEvaluateRoute } from './post_evaluate';
import { serverMock } from '../../__mocks__/server';
import { requestContextMock } from '../../__mocks__/request_context';
import { getPostEvaluateRequest } from '../../__mocks__/request';
-import type {
+import {
+ defaultAssistantFeatures,
PostEvaluateRequestBodyInput,
PostEvaluateRequestQueryInput,
} from '@kbn/elastic-assistant-common';
@@ -45,6 +46,7 @@ describe('Post Evaluate Route', () => {
describe('Capabilities', () => {
it('returns a 404 if evaluate feature is not registered', async () => {
context.elasticAssistant.getRegisteredFeatures.mockReturnValueOnce({
+ ...defaultAssistantFeatures,
assistantModelEvaluation: false,
});
diff --git a/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.ts b/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.ts
index d1bf9dfa26ab1..46a3953370826 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/evaluate/post_evaluate.ts
@@ -19,7 +19,7 @@ import {
} from '@kbn/elastic-assistant-common';
import { ActionsClientLlm } from '@kbn/elastic-assistant-common/impl/language_models';
import { buildRouteValidationWithZod } from '@kbn/elastic-assistant-common/impl/schemas/common';
-import { ESQL_RESOURCE } from '../knowledge_base/constants';
+import { ESQL_RESOURCE, KNOWLEDGE_BASE_INDEX_PATTERN } from '../knowledge_base/constants';
import { buildResponse } from '../../lib/build_response';
import { ElasticAssistantRequestHandlerContext, GetElser } from '../../types';
import { EVALUATE } from '../../../common/constants';
@@ -37,6 +37,7 @@ import { DEFAULT_PLUGIN_NAME, getPluginNameFromRequest } from '../helpers';
* and reference your specific AgentExecutor function
*/
import { AGENT_EXECUTOR_MAP } from '../../lib/langchain/executors';
+import { ElasticsearchStore } from '../../lib/langchain/elasticsearch_store/elasticsearch_store';
const DEFAULT_SIZE = 20;
@@ -136,7 +137,7 @@ export const postEvaluateRoute = (
const esClient = (await context.core).elasticsearch.client.asCurrentUser;
// Default ELSER model
- const elserId = await getElser(request, (await context.core).savedObjects.getClient());
+ const elserId = await getElser();
// Skeleton request from route to pass to the agents
// params will be passed to the actions executor
@@ -157,6 +158,27 @@ export const postEvaluateRoute = (
},
};
+ // Create an ElasticsearchStore for KB interactions
+ // Setup with kbDataClient if `enableKnowledgeBaseByDefault` FF is enabled
+ const enableKnowledgeBaseByDefault =
+ assistantContext.getRegisteredFeatures(pluginName).assistantKnowledgeBaseByDefault;
+ const kbDataClient = enableKnowledgeBaseByDefault
+ ? (await assistantContext.getAIAssistantKnowledgeBaseDataClient(false)) ?? undefined
+ : undefined;
+ const kbIndex =
+ enableKnowledgeBaseByDefault && kbDataClient != null
+ ? kbDataClient.indexTemplateAndPattern.alias
+ : KNOWLEDGE_BASE_INDEX_PATTERN;
+ const esStore = new ElasticsearchStore(
+ esClient,
+ kbIndex,
+ logger,
+ telemetry,
+ elserId,
+ ESQL_RESOURCE,
+ kbDataClient
+ );
+
// Create an array of executor functions to call in batches
// One for each connector/model + agent combination
// Hoist `langChainMessages` so they can be batched by dataset.input in the evaluator
@@ -175,14 +197,12 @@ export const postEvaluateRoute = (
assistantTools,
connectorId,
esClient,
- elserId,
+ esStore,
isStream: false,
langChainMessages,
llmType: 'openai',
logger,
request: skeletonRequest,
- kbResource: ESQL_RESOURCE,
- telemetry,
traceOptions: {
exampleId,
projectName,
diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/delete_knowledge_base.test.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/delete_knowledge_base.test.ts
index 0443bd1b3eedd..ad130cddc5560 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/delete_knowledge_base.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/delete_knowledge_base.test.ts
@@ -36,7 +36,7 @@ describe('Delete Knowledge Base Route', () => {
});
test('returns 500 if error is thrown when deleting resources', async () => {
- context.core.elasticsearch.client.asCurrentUser.indices.delete.mockRejectedValue(
+ context.core.elasticsearch.client.asInternalUser.indices.delete.mockRejectedValue(
new Error('Test error')
);
const response = await server.inject(
diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/delete_knowledge_base.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/delete_knowledge_base.ts
index 6886b56f7ef32..6e81738a7376f 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/delete_knowledge_base.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/delete_knowledge_base.ts
@@ -8,7 +8,10 @@
import { IRouter, KibanaRequest } from '@kbn/core/server';
import { transformError } from '@kbn/securitysolution-es-utils';
-import { ELASTIC_AI_ASSISTANT_INTERNAL_API_VERSION } from '@kbn/elastic-assistant-common';
+import {
+ ELASTIC_AI_ASSISTANT_INTERNAL_API_VERSION,
+ ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
+} from '@kbn/elastic-assistant-common';
import {
DeleteKnowledgeBaseRequestParams,
DeleteKnowledgeBaseResponse,
@@ -16,9 +19,10 @@ import {
import { buildRouteValidationWithZod } from '@kbn/elastic-assistant-common/impl/schemas/common';
import { buildResponse } from '../../lib/build_response';
import { ElasticAssistantRequestHandlerContext } from '../../types';
-import { KNOWLEDGE_BASE } from '../../../common/constants';
import { ElasticsearchStore } from '../../lib/langchain/elasticsearch_store/elasticsearch_store';
import { ESQL_RESOURCE, KNOWLEDGE_BASE_INDEX_PATTERN } from './constants';
+import { DEFAULT_PLUGIN_NAME, getPluginNameFromRequest } from '../helpers';
+import { getKbResource } from './get_kb_resource';
/**
* Delete Knowledge Base index, pipeline, and resources (collection of documents)
@@ -30,11 +34,9 @@ export const deleteKnowledgeBaseRoute = (
router.versioned
.delete({
access: 'internal',
- path: KNOWLEDGE_BASE,
+ path: ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
options: {
- // Note: Relying on current user privileges to scope an esClient.
- // Add `access:kbnElasticAssistant` to limit API access to only users with assistant privileges
- tags: [],
+ tags: ['access:elasticAssistant'],
},
})
.addVersion(
@@ -51,22 +53,43 @@ export const deleteKnowledgeBaseRoute = (
const assistantContext = await context.elasticAssistant;
const logger = assistantContext.logger;
const telemetry = assistantContext.telemetry;
+ const pluginName = getPluginNameFromRequest({
+ request,
+ defaultPluginName: DEFAULT_PLUGIN_NAME,
+ logger,
+ });
+ const enableKnowledgeBaseByDefault =
+ assistantContext.getRegisteredFeatures(pluginName).assistantKnowledgeBaseByDefault;
try {
- const kbResource =
- request.params.resource != null
- ? decodeURIComponent(request.params.resource)
- : undefined;
+ const kbResource = getKbResource(request);
- // Get a scoped esClient for deleting the Knowledge Base index, pipeline, and documents
- const esClient = (await context.core).elasticsearch.client.asCurrentUser;
- const esStore = new ElasticsearchStore(
+ const esClient = (await context.core).elasticsearch.client.asInternalUser;
+ let esStore = new ElasticsearchStore(
esClient,
KNOWLEDGE_BASE_INDEX_PATTERN,
logger,
telemetry
);
+ // Code path for when `assistantKnowledgeBaseByDefault` FF is enabled, only need an esStore w/ kbDataClient
+ if (enableKnowledgeBaseByDefault) {
+ const knowledgeBaseDataClient =
+ await assistantContext.getAIAssistantKnowledgeBaseDataClient(false);
+ if (!knowledgeBaseDataClient) {
+ return response.custom({ body: { success: false }, statusCode: 500 });
+ }
+ esStore = new ElasticsearchStore(
+ esClient,
+ knowledgeBaseDataClient.indexTemplateAndPattern.alias,
+ logger,
+ telemetry,
+ 'elserId', // Not needed for delete ops
+ kbResource,
+ knowledgeBaseDataClient
+ );
+ }
+
if (kbResource === ESQL_RESOURCE) {
// For now, tearing down the Knowledge Base is fine, but will want to support removing specific assets based
// on resource name or document query
diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/entries/create_route.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/entries/create_route.ts
new file mode 100644
index 0000000000000..0c31974a20785
--- /dev/null
+++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/entries/create_route.ts
@@ -0,0 +1,76 @@
+/*
+ * 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 { IKibanaResponse } from '@kbn/core/server';
+import { transformError } from '@kbn/securitysolution-es-utils';
+import {
+ API_VERSIONS,
+ ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_ENTRIES_URL,
+} from '@kbn/elastic-assistant-common';
+import { buildRouteValidationWithZod } from '@kbn/elastic-assistant-common/impl/schemas/common';
+import {
+ KnowledgeBaseEntryCreateProps,
+ KnowledgeBaseEntryResponse,
+} from '@kbn/elastic-assistant-common/impl/schemas/knowledge_base/common_attributes.gen';
+import { ElasticAssistantPluginRouter } from '../../../types';
+import { buildResponse } from '../../utils';
+import { UPGRADE_LICENSE_MESSAGE, hasAIAssistantLicense } from '../../helpers';
+
+export const createKnowledgeBaseEntryRoute = (router: ElasticAssistantPluginRouter): void => {
+ router.versioned
+ .post({
+ access: 'public',
+ path: ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_ENTRIES_URL,
+
+ options: {
+ tags: ['access:elasticAssistant'],
+ },
+ })
+ .addVersion(
+ {
+ version: API_VERSIONS.public.v1,
+ validate: {
+ request: {
+ body: buildRouteValidationWithZod(KnowledgeBaseEntryCreateProps),
+ },
+ },
+ },
+ async (context, request, response): Promise> => {
+ const assistantResponse = buildResponse(response);
+ try {
+ const ctx = await context.resolve(['core', 'elasticAssistant', 'licensing']);
+ const license = ctx.licensing.license;
+ if (!hasAIAssistantLicense(license)) {
+ return response.forbidden({
+ body: {
+ message: UPGRADE_LICENSE_MESSAGE,
+ },
+ });
+ }
+
+ const authenticatedUser = ctx.elasticAssistant.getCurrentUser();
+ if (authenticatedUser == null) {
+ return assistantResponse.error({
+ body: `Authenticated user not found`,
+ statusCode: 401,
+ });
+ }
+
+ return assistantResponse.error({
+ body: `knowledge base entry was not created`,
+ statusCode: 400,
+ });
+ } catch (err) {
+ const error = transformError(err as Error);
+ return assistantResponse.error({
+ body: error.message,
+ statusCode: error.statusCode,
+ });
+ }
+ }
+ );
+};
diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.test.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.test.ts
index f37f2a3ab2882..ba8992d9c19bd 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.test.ts
@@ -10,6 +10,7 @@ import { serverMock } from '../../__mocks__/server';
import { requestContextMock } from '../../__mocks__/request_context';
import { getGetKnowledgeBaseStatusRequest } from '../../__mocks__/request';
import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks';
+import { AuthenticatedUser } from '@kbn/core-security-common';
describe('Get Knowledge Base Status Route', () => {
let server: ReturnType;
@@ -19,10 +20,18 @@ describe('Get Knowledge Base Status Route', () => {
clients.core.elasticsearch.client = elasticsearchServiceMock.createScopedClusterClient();
const mockGetElser = jest.fn().mockResolvedValue('.elser_model_2');
+ const mockUser = {
+ username: 'my_username',
+ authentication_realm: {
+ type: 'my_realm_type',
+ name: 'my_realm_name',
+ },
+ } as AuthenticatedUser;
beforeEach(() => {
server = serverMock.create();
({ context } = requestContextMock.createTools());
+ context.elasticAssistant.getCurrentUser.mockReturnValue(mockUser);
getKnowledgeBaseStatusRoute(server.router, mockGetElser);
});
@@ -37,7 +46,7 @@ describe('Get Knowledge Base Status Route', () => {
});
test('returns 500 if error is thrown in checking kb status', async () => {
- context.core.elasticsearch.client.asCurrentUser.indices.exists.mockRejectedValue(
+ context.core.elasticsearch.client.asInternalUser.indices.exists.mockRejectedValue(
new Error('Test error')
);
const response = await server.inject(
diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.ts
index c7d83e8c24401..a8d2e96227d60 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/get_knowledge_base_status.ts
@@ -9,6 +9,7 @@ import { transformError } from '@kbn/securitysolution-es-utils';
import {
ELASTIC_AI_ASSISTANT_INTERNAL_API_VERSION,
+ ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
ReadKnowledgeBaseRequestParams,
ReadKnowledgeBaseResponse,
} from '@kbn/elastic-assistant-common';
@@ -17,9 +18,9 @@ import { KibanaRequest } from '@kbn/core/server';
import { getKbResource } from './get_kb_resource';
import { buildResponse } from '../../lib/build_response';
import { ElasticAssistantPluginRouter, GetElser } from '../../types';
-import { KNOWLEDGE_BASE } from '../../../common/constants';
import { ElasticsearchStore } from '../../lib/langchain/elasticsearch_store/elasticsearch_store';
import { ESQL_DOCS_LOADED_QUERY, ESQL_RESOURCE, KNOWLEDGE_BASE_INDEX_PATTERN } from './constants';
+import { DEFAULT_PLUGIN_NAME, getPluginNameFromRequest } from '../helpers';
/**
* Get the status of the Knowledge Base index, pipeline, and resources (collection of documents)
@@ -34,11 +35,9 @@ export const getKnowledgeBaseStatusRoute = (
router.versioned
.get({
access: 'internal',
- path: KNOWLEDGE_BASE,
+ path: ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
options: {
- // Note: Relying on current user privileges to scope an esClient.
- // Add `access:kbnElasticAssistant` to limit API access to only users with assistant privileges
- tags: [],
+ tags: ['access:elasticAssistant'],
},
})
.addVersion(
@@ -57,11 +56,10 @@ export const getKnowledgeBaseStatusRoute = (
const telemetry = assistantContext.telemetry;
try {
- // Get a scoped esClient for finding the status of the Knowledge Base index, pipeline, and documents
- const esClient = (await context.core).elasticsearch.client.asCurrentUser;
- const elserId = await getElser(request, (await context.core).savedObjects.getClient());
+ const esClient = (await context.core).elasticsearch.client.asInternalUser;
+ const elserId = await getElser();
const kbResource = getKbResource(request);
- const esStore = new ElasticsearchStore(
+ let esStore = new ElasticsearchStore(
esClient,
KNOWLEDGE_BASE_INDEX_PATTERN,
logger,
@@ -70,6 +68,37 @@ export const getKnowledgeBaseStatusRoute = (
kbResource
);
+ const pluginName = getPluginNameFromRequest({
+ request,
+ defaultPluginName: DEFAULT_PLUGIN_NAME,
+ logger,
+ });
+ const enableKnowledgeBaseByDefault =
+ assistantContext.getRegisteredFeatures(pluginName).assistantKnowledgeBaseByDefault;
+
+ // Code path for when `assistantKnowledgeBaseByDefault` FF is enabled
+ let isSetupInProgress = false;
+ if (enableKnowledgeBaseByDefault) {
+ const kbDataClient = await assistantContext.getAIAssistantKnowledgeBaseDataClient(
+ false
+ );
+ if (!kbDataClient) {
+ return response.custom({ body: { success: false }, statusCode: 500 });
+ }
+
+ // Use old status checks by overriding esStore to use kbDataClient
+ esStore = new ElasticsearchStore(
+ esClient,
+ kbDataClient.indexTemplateAndPattern.alias,
+ logger,
+ telemetry,
+ elserId,
+ kbResource,
+ kbDataClient
+ );
+ isSetupInProgress = kbDataClient.isSetupInProgress;
+ }
+
const indexExists = await esStore.indexExists();
const pipelineExists = await esStore.pipelineExists();
const modelExists = await esStore.isModelInstalled(elserId);
@@ -77,6 +106,7 @@ export const getKnowledgeBaseStatusRoute = (
const body: ReadKnowledgeBaseResponse = {
elser_exists: modelExists,
index_exists: indexExists,
+ is_setup_in_progress: isSetupInProgress,
pipeline_exists: pipelineExists,
};
diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.test.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.test.ts
index ceb5f1b3879f6..547923b5c0d17 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.test.ts
@@ -10,6 +10,7 @@ import { serverMock } from '../../__mocks__/server';
import { requestContextMock } from '../../__mocks__/request_context';
import { getPostKnowledgeBaseRequest } from '../../__mocks__/request';
import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks';
+import { AuthenticatedUser } from '@kbn/core-security-common';
describe('Post Knowledge Base Route', () => {
let server: ReturnType;
@@ -19,10 +20,18 @@ describe('Post Knowledge Base Route', () => {
clients.core.elasticsearch.client = elasticsearchServiceMock.createScopedClusterClient();
const mockGetElser = jest.fn().mockResolvedValue('.elser_model_2');
+ const mockUser = {
+ username: 'my_username',
+ authentication_realm: {
+ type: 'my_realm_type',
+ name: 'my_realm_name',
+ },
+ } as AuthenticatedUser;
beforeEach(() => {
server = serverMock.create();
({ context } = requestContextMock.createTools());
+ context.elasticAssistant.getCurrentUser.mockReturnValue(mockUser);
postKnowledgeBaseRoute(server.router, mockGetElser);
});
@@ -38,7 +47,7 @@ describe('Post Knowledge Base Route', () => {
});
test('returns 500 if error is thrown when creating resources', async () => {
- context.core.elasticsearch.client.asCurrentUser.indices.exists.mockRejectedValue(
+ context.core.elasticsearch.client.asInternalUser.indices.exists.mockRejectedValue(
new Error('Test error')
);
const response = await server.inject(
diff --git a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.ts b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.ts
index 17c2011fbc0f5..bc511d99eb63d 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/knowledge_base/post_knowledge_base.ts
@@ -11,20 +11,26 @@ import {
ELASTIC_AI_ASSISTANT_INTERNAL_API_VERSION,
CreateKnowledgeBaseRequestParams,
CreateKnowledgeBaseResponse,
+ ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
} from '@kbn/elastic-assistant-common';
import { buildRouteValidationWithZod } from '@kbn/elastic-assistant-common/impl/schemas/common';
import { IKibanaResponse, KibanaRequest } from '@kbn/core/server';
import { buildResponse } from '../../lib/build_response';
import { ElasticAssistantPluginRouter, GetElser } from '../../types';
-import { KNOWLEDGE_BASE } from '../../../common/constants';
import { ElasticsearchStore } from '../../lib/langchain/elasticsearch_store/elasticsearch_store';
import { ESQL_DOCS_LOADED_QUERY, ESQL_RESOURCE, KNOWLEDGE_BASE_INDEX_PATTERN } from './constants';
import { getKbResource } from './get_kb_resource';
import { loadESQL } from '../../lib/langchain/content_loaders/esql_loader';
+import { DEFAULT_PLUGIN_NAME, getPluginNameFromRequest } from '../helpers';
+
+// Since we're awaiting on ELSER setup, this could take a bit (especially if ML needs to autoscale)
+// Consider just returning if attempt was successful, and switch to client polling
+const ROUTE_HANDLER_TIMEOUT = 10 * 60 * 1000; // 10 * 60 seconds = 10 minutes
/**
* Load Knowledge Base index, pipeline, and resources (collection of documents)
* @param router
+ * @param getElser
*/
export const postKnowledgeBaseRoute = (
router: ElasticAssistantPluginRouter,
@@ -33,11 +39,12 @@ export const postKnowledgeBaseRoute = (
router.versioned
.post({
access: 'internal',
- path: KNOWLEDGE_BASE,
+ path: ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL,
options: {
- // Note: Relying on current user privileges to scope an esClient.
- // Add `access:kbnElasticAssistant` to limit API access to only users with assistant privileges
- tags: [],
+ tags: ['access:elasticAssistant'],
+ timeout: {
+ idleSocket: ROUTE_HANDLER_TIMEOUT,
+ },
},
})
.addVersion(
@@ -58,12 +65,44 @@ export const postKnowledgeBaseRoute = (
const assistantContext = await context.elasticAssistant;
const logger = assistantContext.logger;
const telemetry = assistantContext.telemetry;
+ const elserId = await getElser();
+ const core = await context.core;
+ const esClient = core.elasticsearch.client.asInternalUser;
+ const soClient = core.savedObjects.getClient();
+
+ const pluginName = getPluginNameFromRequest({
+ request,
+ defaultPluginName: DEFAULT_PLUGIN_NAME,
+ logger,
+ });
+ const enableKnowledgeBaseByDefault =
+ assistantContext.getRegisteredFeatures(pluginName).assistantKnowledgeBaseByDefault;
try {
- const core = await context.core;
- // Get a scoped esClient for creating the Knowledge Base index, pipeline, and documents
- const esClient = core.elasticsearch.client.asCurrentUser;
- const elserId = await getElser(request, core.savedObjects.getClient());
+ // Code path for when `assistantKnowledgeBaseByDefault` FF is enabled
+ if (enableKnowledgeBaseByDefault) {
+ const knowledgeBaseDataClient =
+ await assistantContext.getAIAssistantKnowledgeBaseDataClient(true);
+ if (!knowledgeBaseDataClient) {
+ return response.custom({ body: { success: false }, statusCode: 500 });
+ }
+
+ // Continue to use esStore for loading esql docs until `semantic_text` is available and we can test the new chunking strategy
+ const esStore = new ElasticsearchStore(
+ esClient,
+ knowledgeBaseDataClient.indexTemplateAndPattern.alias,
+ logger,
+ telemetry,
+ elserId,
+ getKbResource(request),
+ knowledgeBaseDataClient
+ );
+
+ await knowledgeBaseDataClient.setupKnowledgeBase({ esStore, soClient });
+
+ return response.ok({ body: { success: true } });
+ }
+
const kbResource = getKbResource(request);
const esStore = new ElasticsearchStore(
esClient,
diff --git a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.test.ts b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.test.ts
index 6c2be6b8c7120..ab9250047f7ef 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.test.ts
@@ -23,6 +23,7 @@ import { PassThrough } from 'stream';
import { getConversationResponseMock } from '../ai_assistant_data_clients/conversations/update_conversation.test';
import { actionsClientMock } from '@kbn/actions-plugin/server/actions_client/actions_client.mock';
import { getFindAnonymizationFieldsResultWithSingleHit } from '../__mocks__/response';
+import { defaultAssistantFeatures } from '@kbn/elastic-assistant-common';
const actionsClient = actionsClientMock.create();
jest.mock('../lib/build_response', () => ({
@@ -92,6 +93,7 @@ const mockContext = {
getActionsClientWithRequest: jest.fn().mockResolvedValue(actionsClient),
},
getRegisteredTools: jest.fn(() => []),
+ getRegisteredFeatures: jest.fn(() => defaultAssistantFeatures),
logger: loggingSystemMock.createLogger(),
telemetry: { ...coreMock.createSetup().analytics, reportEvent },
getCurrentUser: () => ({
diff --git a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts
index e76b7cd337783..88eb632ce302e 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/post_actions_connector_execute.ts
@@ -31,7 +31,7 @@ import { POST_ACTIONS_CONNECTOR_EXECUTE } from '../../common/constants';
import { getLangChainMessages } from '../lib/langchain/helpers';
import { buildResponse } from '../lib/build_response';
import { ElasticAssistantRequestHandlerContext, GetElser } from '../types';
-import { ESQL_RESOURCE } from './knowledge_base/constants';
+import { ESQL_RESOURCE, KNOWLEDGE_BASE_INDEX_PATTERN } from './knowledge_base/constants';
import { callAgentExecutor } from '../lib/langchain/execute_custom_llm_chain';
import {
DEFAULT_PLUGIN_NAME,
@@ -41,6 +41,7 @@ import {
import { getLangSmithTracer } from './evaluate/utils';
import { EsAnonymizationFieldsSchema } from '../ai_assistant_data_clients/anonymization_fields/types';
import { transformESSearchToAnonymizationFields } from '../ai_assistant_data_clients/anonymization_fields/helpers';
+import { ElasticsearchStore } from '../lib/langchain/elasticsearch_store/elasticsearch_store';
export const postActionsConnectorExecuteRoute = (
router: IRouter,
@@ -315,7 +316,7 @@ export const postActionsConnectorExecuteRoute = (
[]) as unknown as Array>
);
- const elserId = await getElser(request, (await context.core).savedObjects.getClient());
+ const elserId = await getElser();
const anonymizationFieldsRes =
await anonymizationFieldsDataClient?.findDocuments({
@@ -323,6 +324,27 @@ export const postActionsConnectorExecuteRoute = (
page: 1,
});
+ // Create an ElasticsearchStore for KB interactions
+ // Setup with kbDataClient if `enableKnowledgeBaseByDefault` FF is enabled
+ const enableKnowledgeBaseByDefault =
+ assistantContext.getRegisteredFeatures(pluginName).assistantKnowledgeBaseByDefault;
+ const kbDataClient = enableKnowledgeBaseByDefault
+ ? (await assistantContext.getAIAssistantKnowledgeBaseDataClient(false)) ?? undefined
+ : undefined;
+ const kbIndex =
+ enableKnowledgeBaseByDefault && kbDataClient != null
+ ? kbDataClient.indexTemplateAndPattern.alias
+ : KNOWLEDGE_BASE_INDEX_PATTERN;
+ const esStore = new ElasticsearchStore(
+ esClient,
+ kbIndex,
+ logger,
+ telemetry,
+ elserId,
+ ESQL_RESOURCE,
+ kbDataClient
+ );
+
const result: StreamResponseWithHeaders | StaticReturnType = await callAgentExecutor({
abortSignal,
alertsIndexPattern: request.body.alertsIndexPattern,
@@ -333,14 +355,13 @@ export const postActionsConnectorExecuteRoute = (
isEnabledKnowledgeBase: request.body.isEnabledKnowledgeBase ?? false,
assistantTools,
connectorId,
- elserId,
esClient,
+ esStore,
isStream:
// TODO implement llmClass for bedrock streaming
// tracked here: https://github.com/elastic/security-team/issues/7363
request.body.subAction !== 'invokeAI' && actionTypeId === '.gen-ai',
llmType: getLlmType(actionTypeId),
- kbResource: ESQL_RESOURCE,
langChainMessages,
logger,
onNewReplacements,
@@ -348,7 +369,6 @@ export const postActionsConnectorExecuteRoute = (
request,
replacements: request.body.replacements,
size: request.body.size,
- telemetry,
traceOptions: {
projectName: langSmithProject,
tracers: getLangSmithTracer({
diff --git a/x-pack/plugins/elastic_assistant/server/routes/register_routes.ts b/x-pack/plugins/elastic_assistant/server/routes/register_routes.ts
index 325f4a84ab8c7..fc0e30f4a925c 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/register_routes.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/register_routes.ts
@@ -5,15 +5,10 @@
* 2.0.
*/
-import type { KibanaRequest, Logger, SavedObjectsClientContract } from '@kbn/core/server';
-import { once } from 'lodash/fp';
+import type { Logger } from '@kbn/core/server';
import { postAttackDiscoveryRoute } from './attack_discovery/post_attack_discovery';
-import {
- ElasticAssistantPluginRouter,
- ElasticAssistantPluginSetupDependencies,
- GetElser,
-} from '../types';
+import { ElasticAssistantPluginRouter, GetElser } from '../types';
import { createConversationRoute } from './user_conversations/create_route';
import { deleteConversationRoute } from './user_conversations/delete_route';
import { readConversationRoute } from './user_conversations/read_route';
@@ -36,7 +31,7 @@ import { findAnonymizationFieldsRoute } from './anonymization_fields/find_route'
export const registerRoutes = (
router: ElasticAssistantPluginRouter,
logger: Logger,
- plugins: ElasticAssistantPluginSetupDependencies
+ getElserId: GetElser
) => {
// Capabilities
getCapabilitiesRoute(router);
@@ -56,12 +51,6 @@ export const registerRoutes = (
// Knowledge Base
deleteKnowledgeBaseRoute(router);
- const getElserId: GetElser = once(
- async (request: KibanaRequest, savedObjectsClient: SavedObjectsClientContract) => {
- return (await plugins.ml.trainedModelsProvider(request, savedObjectsClient).getELSER())
- .model_id;
- }
- );
getKnowledgeBaseStatusRoute(router, getElserId);
postKnowledgeBaseRoute(router, getElserId);
diff --git a/x-pack/plugins/elastic_assistant/server/routes/request_context_factory.ts b/x-pack/plugins/elastic_assistant/server/routes/request_context_factory.ts
index 82e21a8cd8690..0a0864882df16 100644
--- a/x-pack/plugins/elastic_assistant/server/routes/request_context_factory.ts
+++ b/x-pack/plugins/elastic_assistant/server/routes/request_context_factory.ts
@@ -81,6 +81,18 @@ export class RequestContextFactory implements IRequestContextFactory {
telemetry: core.analytics,
+ // Note: Due to plugin lifecycle and feature flag registration timing, we need to pass in the feature flag here
+ // Remove `initializeKnowledgeBase` once 'assistantKnowledgeBaseByDefault' feature flag is removed
+ getAIAssistantKnowledgeBaseDataClient: memoize((initializeKnowledgeBase = false) => {
+ const currentUser = getCurrentUser();
+ return this.assistantService.createAIAssistantKnowledgeBaseDataClient({
+ spaceId: getSpaceId(),
+ logger: this.logger,
+ currentUser,
+ initializeKnowledgeBase,
+ });
+ }),
+
getAIAssistantPromptsDataClient: memoize(() => {
const currentUser = getCurrentUser();
return this.assistantService.createAIAssistantPromptsDataClient({
diff --git a/x-pack/plugins/elastic_assistant/server/services/app_context.test.ts b/x-pack/plugins/elastic_assistant/server/services/app_context.test.ts
index 57ca4ea18651c..e91a0ec024c9e 100644
--- a/x-pack/plugins/elastic_assistant/server/services/app_context.test.ts
+++ b/x-pack/plugins/elastic_assistant/server/services/app_context.test.ts
@@ -102,6 +102,7 @@ describe('AppContextService', () => {
it('should register and get features for a single plugin', () => {
const pluginName = 'pluginName';
const features: AssistantFeatures = {
+ ...defaultAssistantFeatures,
assistantModelEvaluation: true,
};
@@ -116,10 +117,12 @@ describe('AppContextService', () => {
it('should register and get features for multiple plugins', () => {
const pluginOne = 'plugin1';
const featuresOne: AssistantFeatures = {
+ ...defaultAssistantFeatures,
assistantModelEvaluation: true,
};
const pluginTwo = 'plugin2';
const featuresTwo: AssistantFeatures = {
+ ...defaultAssistantFeatures,
assistantModelEvaluation: false,
};
@@ -134,9 +137,11 @@ describe('AppContextService', () => {
it('should update features if registered again', () => {
const pluginName = 'pluginName';
const featuresOne: AssistantFeatures = {
+ ...defaultAssistantFeatures,
assistantModelEvaluation: true,
};
const featuresTwo: AssistantFeatures = {
+ ...defaultAssistantFeatures,
assistantModelEvaluation: false,
};
diff --git a/x-pack/plugins/elastic_assistant/server/types.ts b/x-pack/plugins/elastic_assistant/server/types.ts
index 63b62e8943c20..7278e104ac76a 100755
--- a/x-pack/plugins/elastic_assistant/server/types.ts
+++ b/x-pack/plugins/elastic_assistant/server/types.ts
@@ -17,7 +17,6 @@ import type {
IRouter,
KibanaRequest,
Logger,
- SavedObjectsClientContract,
} from '@kbn/core/server';
import { type MlPluginSetup } from '@kbn/ml-plugin/server';
import { DynamicStructuredTool, Tool } from '@langchain/core/tools';
@@ -42,6 +41,7 @@ import {
import { AIAssistantConversationsDataClient } from './ai_assistant_data_clients/conversations';
import type { GetRegisteredFeatures, GetRegisteredTools } from './services/app_context';
import { AIAssistantDataClient } from './ai_assistant_data_clients';
+import { AIAssistantKnowledgeBaseDataClient } from './ai_assistant_data_clients/knowledge_base';
export const PLUGIN_ID = 'elasticAssistant' as const;
@@ -110,6 +110,9 @@ export interface ElasticAssistantApiRequestHandlerContext {
getSpaceId: () => string;
getCurrentUser: () => AuthenticatedUser | null;
getAIAssistantConversationsDataClient: () => Promise;
+ getAIAssistantKnowledgeBaseDataClient: (
+ initializeKnowledgeBase: boolean
+ ) => Promise;
getAIAssistantPromptsDataClient: () => Promise;
getAIAssistantAnonymizationFieldsDataClient: () => Promise;
telemetry: AnalyticsServiceSetup;
@@ -129,10 +132,7 @@ export type ElasticAssistantPluginCoreSetupDependencies = CoreSetup<
ElasticAssistantPluginStart
>;
-export type GetElser = (
- request: KibanaRequest,
- savedObjectsClient: SavedObjectsClientContract
-) => Promise | never;
+export type GetElser = () => Promise | never;
export interface InitAssistantResult {
assistantResourcesInstalled: boolean;
@@ -144,30 +144,30 @@ export interface InitAssistantResult {
export interface AssistantResourceNames {
componentTemplate: {
conversations: string;
+ knowledgeBase: string;
prompts: string;
anonymizationFields: string;
- kb: string;
};
indexTemplate: {
conversations: string;
+ knowledgeBase: string;
prompts: string;
anonymizationFields: string;
- kb: string;
};
aliases: {
conversations: string;
+ knowledgeBase: string;
prompts: string;
anonymizationFields: string;
- kb: string;
};
indexPatterns: {
conversations: string;
+ knowledgeBase: string;
prompts: string;
anonymizationFields: string;
- kb: string;
};
pipelines: {
- kb: string;
+ knowledgeBase: string;
};
}
diff --git a/x-pack/plugins/elastic_assistant/tsconfig.json b/x-pack/plugins/elastic_assistant/tsconfig.json
index 20146c45df5fa..345949b866262 100644
--- a/x-pack/plugins/elastic_assistant/tsconfig.json
+++ b/x-pack/plugins/elastic_assistant/tsconfig.json
@@ -29,7 +29,6 @@
"@kbn/logging",
"@kbn/ml-plugin",
"@kbn/apm-utils",
- "@kbn/core-analytics-server",
"@kbn/elastic-assistant-common",
"@kbn/core-http-router-server-mocks",
"@kbn/data-stream-adapter",
@@ -45,6 +44,8 @@
"@kbn/ml-response-stream",
"@kbn/data-plugin",
"@kbn/i18n",
+ "@kbn/core-security-common",
+ "@kbn/core-saved-objects-api-server",
],
"exclude": [
"target/**/*",
diff --git a/x-pack/plugins/security_solution/common/experimental_features.ts b/x-pack/plugins/security_solution/common/experimental_features.ts
index 565177fa8b560..a11fb495795a9 100644
--- a/x-pack/plugins/security_solution/common/experimental_features.ts
+++ b/x-pack/plugins/security_solution/common/experimental_features.ts
@@ -138,6 +138,11 @@ export const allowedExperimentalValues = Object.freeze({
*/
assistantModelEvaluation: false,
+ /**
+ * Enables the Assistant Knowledge Base by default, introduced in `8.15.0`.
+ */
+ assistantKnowledgeBaseByDefault: false,
+
/**
* Enables the new user details flyout displayed on the Alerts table.
*/
diff --git a/x-pack/plugins/security_solution/server/plugin.ts b/x-pack/plugins/security_solution/server/plugin.ts
index a2440482f537e..369648f037df2 100644
--- a/x-pack/plugins/security_solution/server/plugin.ts
+++ b/x-pack/plugins/security_solution/server/plugin.ts
@@ -566,6 +566,7 @@ export class Plugin implements ISecuritySolutionPlugin {
// Assistant Tool and Feature Registration
plugins.elasticAssistant.registerTools(APP_UI_ID, getAssistantTools());
plugins.elasticAssistant.registerFeatures(APP_UI_ID, {
+ assistantKnowledgeBaseByDefault: config.experimentalFeatures.assistantKnowledgeBaseByDefault,
assistantModelEvaluation: config.experimentalFeatures.assistantModelEvaluation,
});
plugins.elasticAssistant.registerFeatures('management', {
From c529e5be09e684ffea1ad736c1e8faf66a8714fe Mon Sep 17 00:00:00 2001
From: Jen Huang
Date: Mon, 20 May 2024 15:58:44 -0700
Subject: [PATCH 28/82] [UII] Make request diagnostics expiration test more
tolerant (#183871)
## Summary
Resolves https://github.com/elastic/kibana/issues/183865. The test here
using `moment.diff` fails if the expiration and creation time are off
even by even a fraction of a second. This PR makes the test more
tolerant by seeing if the difference is minutes is 3 hours-ish.
---
.../fleet_api_integration/apis/agents/request_diagnostics.ts | 5 +++--
1 file changed, 3 insertions(+), 2 deletions(-)
diff --git a/x-pack/test/fleet_api_integration/apis/agents/request_diagnostics.ts b/x-pack/test/fleet_api_integration/apis/agents/request_diagnostics.ts
index 679f409b25602..45cca59da5e8e 100644
--- a/x-pack/test/fleet_api_integration/apis/agents/request_diagnostics.ts
+++ b/x-pack/test/fleet_api_integration/apis/agents/request_diagnostics.ts
@@ -41,8 +41,9 @@ export default function (providerContext: FtrProviderContext) {
expect(actionStatus.nbAgentsActionCreated).to.eql(agentCount);
expect(
- moment(actionStatus.expiration).diff(moment(actionStatus.creationTime), 'hours')
- ).to.eql(3);
+ moment(actionStatus.expiration).diff(moment(actionStatus.creationTime), 'minutes') > 170 &&
+ moment(actionStatus.expiration).diff(moment(actionStatus.creationTime), 'minutes') < 190
+ ).to.eql(true);
}
it('should respond 403 if user lacks fleet read permissions', async () => {
From 742dff0f222af55d1a8156e6d32bd22e2302a141 Mon Sep 17 00:00:00 2001
From: Kibana Machine <42973632+kibanamachine@users.noreply.github.com>
Date: Tue, 21 May 2024 01:07:19 -0400
Subject: [PATCH 29/82] [api-docs] 2024-05-21 Daily api_docs build (#183884)
Generated by
https://buildkite.com/elastic/kibana-api-docs-daily/builds/713
---
api_docs/actions.mdx | 2 +-
api_docs/advanced_settings.mdx | 2 +-
.../ai_assistant_management_selection.mdx | 2 +-
api_docs/aiops.mdx | 2 +-
api_docs/alerting.mdx | 2 +-
api_docs/apm.mdx | 2 +-
api_docs/apm_data_access.mdx | 2 +-
api_docs/asset_manager.mdx | 2 +-
api_docs/assets_data_access.mdx | 2 +-
api_docs/banners.mdx | 2 +-
api_docs/bfetch.mdx | 2 +-
api_docs/canvas.mdx | 2 +-
api_docs/cases.mdx | 2 +-
api_docs/charts.mdx | 2 +-
api_docs/cloud.mdx | 2 +-
api_docs/cloud_data_migration.mdx | 2 +-
api_docs/cloud_defend.mdx | 2 +-
api_docs/cloud_experiments.mdx | 2 +-
api_docs/cloud_security_posture.mdx | 2 +-
api_docs/console.mdx | 2 +-
api_docs/content_management.mdx | 2 +-
api_docs/controls.mdx | 2 +-
api_docs/custom_integrations.mdx | 2 +-
api_docs/dashboard.mdx | 2 +-
api_docs/dashboard_enhanced.mdx | 2 +-
api_docs/data.mdx | 2 +-
api_docs/data_query.mdx | 2 +-
api_docs/data_search.mdx | 2 +-
api_docs/data_view_editor.mdx | 2 +-
api_docs/data_view_field_editor.mdx | 2 +-
api_docs/data_view_management.mdx | 2 +-
api_docs/data_views.mdx | 2 +-
api_docs/data_visualizer.mdx | 2 +-
api_docs/dataset_quality.mdx | 2 +-
api_docs/deprecations_by_api.mdx | 2 +-
api_docs/deprecations_by_plugin.mdx | 2 +-
api_docs/deprecations_by_team.mdx | 2 +-
api_docs/dev_tools.mdx | 2 +-
api_docs/discover.mdx | 2 +-
api_docs/discover_enhanced.mdx | 2 +-
api_docs/discover_shared.mdx | 2 +-
api_docs/ecs_data_quality_dashboard.mdx | 2 +-
api_docs/elastic_assistant.mdx | 2 +-
api_docs/embeddable.mdx | 2 +-
api_docs/embeddable_enhanced.mdx | 2 +-
api_docs/encrypted_saved_objects.mdx | 2 +-
api_docs/enterprise_search.mdx | 2 +-
api_docs/es_ui_shared.mdx | 2 +-
api_docs/event_annotation.mdx | 2 +-
api_docs/event_annotation_listing.mdx | 2 +-
api_docs/event_log.mdx | 2 +-
api_docs/exploratory_view.mdx | 2 +-
api_docs/expression_error.mdx | 2 +-
api_docs/expression_gauge.mdx | 2 +-
api_docs/expression_heatmap.mdx | 2 +-
api_docs/expression_image.mdx | 2 +-
api_docs/expression_legacy_metric_vis.mdx | 2 +-
api_docs/expression_metric.mdx | 2 +-
api_docs/expression_metric_vis.mdx | 2 +-
api_docs/expression_partition_vis.mdx | 2 +-
api_docs/expression_repeat_image.mdx | 2 +-
api_docs/expression_reveal_image.mdx | 2 +-
api_docs/expression_shape.mdx | 2 +-
api_docs/expression_tagcloud.mdx | 2 +-
api_docs/expression_x_y.mdx | 2 +-
api_docs/expressions.devdocs.json | 279 +++-
api_docs/expressions.mdx | 4 +-
api_docs/features.mdx | 2 +-
api_docs/field_formats.mdx | 2 +-
api_docs/file_upload.mdx | 2 +-
api_docs/files.mdx | 2 +-
api_docs/files_management.mdx | 2 +-
api_docs/fleet.devdocs.json | 43 +
api_docs/fleet.mdx | 4 +-
api_docs/global_search.mdx | 2 +-
api_docs/guided_onboarding.mdx | 2 +-
api_docs/home.mdx | 2 +-
api_docs/image_embeddable.mdx | 2 +-
api_docs/index_lifecycle_management.mdx | 2 +-
api_docs/index_management.mdx | 2 +-
api_docs/infra.mdx | 2 +-
api_docs/ingest_pipelines.mdx | 2 +-
api_docs/inspector.mdx | 2 +-
api_docs/interactive_setup.mdx | 2 +-
api_docs/kbn_ace.mdx | 2 +-
api_docs/kbn_actions_types.mdx | 2 +-
api_docs/kbn_aiops_components.mdx | 2 +-
api_docs/kbn_aiops_log_pattern_analysis.mdx | 2 +-
api_docs/kbn_aiops_log_rate_analysis.mdx | 2 +-
.../kbn_alerting_api_integration_helpers.mdx | 2 +-
api_docs/kbn_alerting_state_types.mdx | 2 +-
api_docs/kbn_alerting_types.mdx | 2 +-
api_docs/kbn_alerts_as_data_utils.mdx | 2 +-
api_docs/kbn_alerts_ui_shared.mdx | 2 +-
api_docs/kbn_analytics.mdx | 2 +-
api_docs/kbn_analytics_client.mdx | 2 +-
api_docs/kbn_analytics_collection_utils.mdx | 2 +-
..._analytics_shippers_elastic_v3_browser.mdx | 2 +-
...n_analytics_shippers_elastic_v3_common.mdx | 2 +-
...n_analytics_shippers_elastic_v3_server.mdx | 2 +-
api_docs/kbn_analytics_shippers_fullstory.mdx | 2 +-
api_docs/kbn_apm_config_loader.mdx | 2 +-
api_docs/kbn_apm_data_view.mdx | 2 +-
api_docs/kbn_apm_synthtrace.mdx | 2 +-
api_docs/kbn_apm_synthtrace_client.mdx | 2 +-
api_docs/kbn_apm_utils.mdx | 2 +-
api_docs/kbn_axe_config.mdx | 2 +-
api_docs/kbn_bfetch_error.mdx | 2 +-
api_docs/kbn_calculate_auto.mdx | 2 +-
.../kbn_calculate_width_from_char_count.mdx | 2 +-
api_docs/kbn_cases_components.mdx | 2 +-
api_docs/kbn_cell_actions.mdx | 2 +-
api_docs/kbn_chart_expressions_common.mdx | 2 +-
api_docs/kbn_chart_icons.mdx | 2 +-
api_docs/kbn_ci_stats_core.mdx | 2 +-
api_docs/kbn_ci_stats_performance_metrics.mdx | 2 +-
api_docs/kbn_ci_stats_reporter.mdx | 2 +-
api_docs/kbn_cli_dev_mode.mdx | 2 +-
api_docs/kbn_code_editor.mdx | 2 +-
api_docs/kbn_code_editor_mock.mdx | 2 +-
api_docs/kbn_code_owners.mdx | 2 +-
api_docs/kbn_coloring.mdx | 2 +-
api_docs/kbn_config.mdx | 2 +-
api_docs/kbn_config_mocks.mdx | 2 +-
api_docs/kbn_config_schema.mdx | 2 +-
.../kbn_content_management_content_editor.mdx | 2 +-
...tent_management_tabbed_table_list_view.mdx | 2 +-
...kbn_content_management_table_list_view.mdx | 2 +-
...tent_management_table_list_view_common.mdx | 2 +-
...ntent_management_table_list_view_table.mdx | 2 +-
api_docs/kbn_content_management_utils.mdx | 2 +-
api_docs/kbn_core_analytics_browser.mdx | 2 +-
.../kbn_core_analytics_browser_internal.mdx | 2 +-
api_docs/kbn_core_analytics_browser_mocks.mdx | 2 +-
api_docs/kbn_core_analytics_server.mdx | 2 +-
.../kbn_core_analytics_server_internal.mdx | 2 +-
api_docs/kbn_core_analytics_server_mocks.mdx | 2 +-
api_docs/kbn_core_application_browser.mdx | 2 +-
.../kbn_core_application_browser_internal.mdx | 2 +-
.../kbn_core_application_browser_mocks.mdx | 2 +-
api_docs/kbn_core_application_common.mdx | 2 +-
api_docs/kbn_core_apps_browser_internal.mdx | 2 +-
api_docs/kbn_core_apps_browser_mocks.mdx | 2 +-
api_docs/kbn_core_apps_server_internal.mdx | 2 +-
api_docs/kbn_core_base_browser_mocks.mdx | 2 +-
api_docs/kbn_core_base_common.mdx | 2 +-
api_docs/kbn_core_base_server_internal.mdx | 2 +-
api_docs/kbn_core_base_server_mocks.mdx | 2 +-
.../kbn_core_capabilities_browser_mocks.mdx | 2 +-
api_docs/kbn_core_capabilities_common.mdx | 2 +-
api_docs/kbn_core_capabilities_server.mdx | 2 +-
.../kbn_core_capabilities_server_mocks.mdx | 2 +-
api_docs/kbn_core_chrome_browser.mdx | 2 +-
api_docs/kbn_core_chrome_browser_mocks.mdx | 2 +-
api_docs/kbn_core_config_server_internal.mdx | 2 +-
api_docs/kbn_core_custom_branding_browser.mdx | 2 +-
..._core_custom_branding_browser_internal.mdx | 2 +-
...kbn_core_custom_branding_browser_mocks.mdx | 2 +-
api_docs/kbn_core_custom_branding_common.mdx | 2 +-
api_docs/kbn_core_custom_branding_server.mdx | 2 +-
...n_core_custom_branding_server_internal.mdx | 2 +-
.../kbn_core_custom_branding_server_mocks.mdx | 2 +-
api_docs/kbn_core_deprecations_browser.mdx | 2 +-
...kbn_core_deprecations_browser_internal.mdx | 2 +-
.../kbn_core_deprecations_browser_mocks.mdx | 2 +-
api_docs/kbn_core_deprecations_common.mdx | 2 +-
api_docs/kbn_core_deprecations_server.mdx | 2 +-
.../kbn_core_deprecations_server_internal.mdx | 2 +-
.../kbn_core_deprecations_server_mocks.mdx | 2 +-
api_docs/kbn_core_doc_links_browser.mdx | 2 +-
api_docs/kbn_core_doc_links_browser_mocks.mdx | 2 +-
api_docs/kbn_core_doc_links_server.mdx | 2 +-
api_docs/kbn_core_doc_links_server_mocks.mdx | 2 +-
...e_elasticsearch_client_server_internal.mdx | 2 +-
...core_elasticsearch_client_server_mocks.mdx | 2 +-
api_docs/kbn_core_elasticsearch_server.mdx | 2 +-
...kbn_core_elasticsearch_server_internal.mdx | 2 +-
.../kbn_core_elasticsearch_server_mocks.mdx | 2 +-
.../kbn_core_environment_server_internal.mdx | 2 +-
.../kbn_core_environment_server_mocks.mdx | 2 +-
.../kbn_core_execution_context_browser.mdx | 2 +-
...ore_execution_context_browser_internal.mdx | 2 +-
...n_core_execution_context_browser_mocks.mdx | 2 +-
.../kbn_core_execution_context_common.mdx | 2 +-
.../kbn_core_execution_context_server.mdx | 2 +-
...core_execution_context_server_internal.mdx | 2 +-
...bn_core_execution_context_server_mocks.mdx | 2 +-
api_docs/kbn_core_fatal_errors_browser.mdx | 2 +-
.../kbn_core_fatal_errors_browser_mocks.mdx | 2 +-
api_docs/kbn_core_http_browser.mdx | 2 +-
api_docs/kbn_core_http_browser_internal.mdx | 2 +-
api_docs/kbn_core_http_browser_mocks.mdx | 2 +-
api_docs/kbn_core_http_common.mdx | 2 +-
.../kbn_core_http_context_server_mocks.mdx | 2 +-
...re_http_request_handler_context_server.mdx | 2 +-
api_docs/kbn_core_http_resources_server.mdx | 2 +-
...bn_core_http_resources_server_internal.mdx | 2 +-
.../kbn_core_http_resources_server_mocks.mdx | 2 +-
.../kbn_core_http_router_server_internal.mdx | 2 +-
.../kbn_core_http_router_server_mocks.mdx | 2 +-
api_docs/kbn_core_http_server.devdocs.json | 4 +
api_docs/kbn_core_http_server.mdx | 2 +-
api_docs/kbn_core_http_server_internal.mdx | 2 +-
api_docs/kbn_core_http_server_mocks.mdx | 2 +-
api_docs/kbn_core_i18n_browser.mdx | 2 +-
api_docs/kbn_core_i18n_browser_mocks.mdx | 2 +-
api_docs/kbn_core_i18n_server.mdx | 2 +-
api_docs/kbn_core_i18n_server_internal.mdx | 2 +-
api_docs/kbn_core_i18n_server_mocks.mdx | 2 +-
...n_core_injected_metadata_browser_mocks.mdx | 2 +-
...kbn_core_integrations_browser_internal.mdx | 2 +-
.../kbn_core_integrations_browser_mocks.mdx | 2 +-
api_docs/kbn_core_lifecycle_browser.mdx | 2 +-
api_docs/kbn_core_lifecycle_browser_mocks.mdx | 2 +-
api_docs/kbn_core_lifecycle_server.mdx | 2 +-
api_docs/kbn_core_lifecycle_server_mocks.mdx | 2 +-
api_docs/kbn_core_logging_browser_mocks.mdx | 2 +-
api_docs/kbn_core_logging_common_internal.mdx | 2 +-
api_docs/kbn_core_logging_server.mdx | 2 +-
api_docs/kbn_core_logging_server_internal.mdx | 2 +-
api_docs/kbn_core_logging_server_mocks.mdx | 2 +-
...ore_metrics_collectors_server_internal.mdx | 2 +-
...n_core_metrics_collectors_server_mocks.mdx | 2 +-
api_docs/kbn_core_metrics_server.mdx | 2 +-
api_docs/kbn_core_metrics_server_internal.mdx | 2 +-
api_docs/kbn_core_metrics_server_mocks.mdx | 2 +-
api_docs/kbn_core_mount_utils_browser.mdx | 2 +-
api_docs/kbn_core_node_server.mdx | 2 +-
api_docs/kbn_core_node_server_internal.mdx | 2 +-
api_docs/kbn_core_node_server_mocks.mdx | 2 +-
api_docs/kbn_core_notifications_browser.mdx | 2 +-
...bn_core_notifications_browser_internal.mdx | 2 +-
.../kbn_core_notifications_browser_mocks.mdx | 2 +-
api_docs/kbn_core_overlays_browser.mdx | 2 +-
.../kbn_core_overlays_browser_internal.mdx | 2 +-
api_docs/kbn_core_overlays_browser_mocks.mdx | 2 +-
api_docs/kbn_core_plugins_browser.mdx | 2 +-
api_docs/kbn_core_plugins_browser_mocks.mdx | 2 +-
.../kbn_core_plugins_contracts_browser.mdx | 2 +-
.../kbn_core_plugins_contracts_server.mdx | 2 +-
api_docs/kbn_core_plugins_server.mdx | 2 +-
api_docs/kbn_core_plugins_server_mocks.mdx | 2 +-
api_docs/kbn_core_preboot_server.mdx | 2 +-
api_docs/kbn_core_preboot_server_mocks.mdx | 2 +-
api_docs/kbn_core_rendering_browser_mocks.mdx | 2 +-
.../kbn_core_rendering_server_internal.mdx | 2 +-
api_docs/kbn_core_rendering_server_mocks.mdx | 2 +-
api_docs/kbn_core_root_server_internal.mdx | 2 +-
.../kbn_core_saved_objects_api_browser.mdx | 2 +-
.../kbn_core_saved_objects_api_server.mdx | 2 +-
...bn_core_saved_objects_api_server_mocks.mdx | 2 +-
...ore_saved_objects_base_server_internal.mdx | 2 +-
...n_core_saved_objects_base_server_mocks.mdx | 2 +-
api_docs/kbn_core_saved_objects_browser.mdx | 2 +-
...bn_core_saved_objects_browser_internal.mdx | 2 +-
.../kbn_core_saved_objects_browser_mocks.mdx | 2 +-
api_docs/kbn_core_saved_objects_common.mdx | 2 +-
..._objects_import_export_server_internal.mdx | 2 +-
...ved_objects_import_export_server_mocks.mdx | 2 +-
...aved_objects_migration_server_internal.mdx | 2 +-
...e_saved_objects_migration_server_mocks.mdx | 2 +-
api_docs/kbn_core_saved_objects_server.mdx | 2 +-
...kbn_core_saved_objects_server_internal.mdx | 2 +-
.../kbn_core_saved_objects_server_mocks.mdx | 2 +-
.../kbn_core_saved_objects_utils_server.mdx | 2 +-
api_docs/kbn_core_security_browser.mdx | 2 +-
.../kbn_core_security_browser_internal.mdx | 2 +-
api_docs/kbn_core_security_browser_mocks.mdx | 2 +-
api_docs/kbn_core_security_common.mdx | 2 +-
api_docs/kbn_core_security_server.mdx | 2 +-
.../kbn_core_security_server_internal.mdx | 2 +-
api_docs/kbn_core_security_server_mocks.mdx | 2 +-
api_docs/kbn_core_status_common.mdx | 2 +-
api_docs/kbn_core_status_common_internal.mdx | 2 +-
api_docs/kbn_core_status_server.mdx | 2 +-
api_docs/kbn_core_status_server_internal.mdx | 2 +-
api_docs/kbn_core_status_server_mocks.mdx | 2 +-
...core_test_helpers_deprecations_getters.mdx | 2 +-
...n_core_test_helpers_http_setup_browser.mdx | 2 +-
api_docs/kbn_core_test_helpers_kbn_server.mdx | 2 +-
.../kbn_core_test_helpers_model_versions.mdx | 2 +-
...n_core_test_helpers_so_type_serializer.mdx | 2 +-
api_docs/kbn_core_test_helpers_test_utils.mdx | 2 +-
api_docs/kbn_core_theme_browser.mdx | 2 +-
api_docs/kbn_core_theme_browser_mocks.mdx | 2 +-
api_docs/kbn_core_ui_settings_browser.mdx | 2 +-
.../kbn_core_ui_settings_browser_internal.mdx | 2 +-
.../kbn_core_ui_settings_browser_mocks.mdx | 2 +-
api_docs/kbn_core_ui_settings_common.mdx | 2 +-
api_docs/kbn_core_ui_settings_server.mdx | 2 +-
.../kbn_core_ui_settings_server_internal.mdx | 2 +-
.../kbn_core_ui_settings_server_mocks.mdx | 2 +-
api_docs/kbn_core_usage_data_server.mdx | 2 +-
.../kbn_core_usage_data_server_internal.mdx | 2 +-
api_docs/kbn_core_usage_data_server_mocks.mdx | 2 +-
api_docs/kbn_core_user_profile_browser.mdx | 2 +-
...kbn_core_user_profile_browser_internal.mdx | 2 +-
.../kbn_core_user_profile_browser_mocks.mdx | 2 +-
api_docs/kbn_core_user_profile_common.mdx | 2 +-
api_docs/kbn_core_user_profile_server.mdx | 2 +-
.../kbn_core_user_profile_server_internal.mdx | 2 +-
.../kbn_core_user_profile_server_mocks.mdx | 2 +-
api_docs/kbn_core_user_settings_server.mdx | 2 +-
.../kbn_core_user_settings_server_mocks.mdx | 2 +-
api_docs/kbn_crypto.mdx | 2 +-
api_docs/kbn_crypto_browser.mdx | 2 +-
api_docs/kbn_custom_icons.mdx | 2 +-
api_docs/kbn_custom_integrations.mdx | 2 +-
api_docs/kbn_cypress_config.mdx | 2 +-
api_docs/kbn_data_forge.devdocs.json | 293 +++-
api_docs/kbn_data_forge.mdx | 7 +-
api_docs/kbn_data_service.mdx | 2 +-
api_docs/kbn_data_stream_adapter.mdx | 2 +-
api_docs/kbn_data_view_utils.mdx | 2 +-
api_docs/kbn_datemath.mdx | 2 +-
api_docs/kbn_deeplinks_analytics.mdx | 2 +-
api_docs/kbn_deeplinks_devtools.mdx | 2 +-
api_docs/kbn_deeplinks_fleet.mdx | 2 +-
api_docs/kbn_deeplinks_management.mdx | 2 +-
api_docs/kbn_deeplinks_ml.mdx | 2 +-
api_docs/kbn_deeplinks_observability.mdx | 2 +-
api_docs/kbn_deeplinks_search.mdx | 2 +-
api_docs/kbn_deeplinks_security.mdx | 2 +-
api_docs/kbn_deeplinks_shared.mdx | 2 +-
api_docs/kbn_default_nav_analytics.mdx | 2 +-
api_docs/kbn_default_nav_devtools.mdx | 2 +-
api_docs/kbn_default_nav_management.mdx | 2 +-
api_docs/kbn_default_nav_ml.mdx | 2 +-
api_docs/kbn_dev_cli_errors.mdx | 2 +-
api_docs/kbn_dev_cli_runner.mdx | 2 +-
api_docs/kbn_dev_proc_runner.mdx | 2 +-
api_docs/kbn_dev_utils.mdx | 2 +-
api_docs/kbn_discover_utils.mdx | 2 +-
api_docs/kbn_doc_links.mdx | 2 +-
api_docs/kbn_docs_utils.mdx | 2 +-
api_docs/kbn_dom_drag_drop.mdx | 2 +-
api_docs/kbn_ebt_tools.mdx | 2 +-
api_docs/kbn_ecs_data_quality_dashboard.mdx | 2 +-
api_docs/kbn_elastic_agent_utils.mdx | 2 +-
api_docs/kbn_elastic_assistant.devdocs.json | 111 --
api_docs/kbn_elastic_assistant.mdx | 4 +-
.../kbn_elastic_assistant_common.devdocs.json | 1377 ++++++++++++++---
api_docs/kbn_elastic_assistant_common.mdx | 4 +-
api_docs/kbn_entities_schema.mdx | 2 +-
api_docs/kbn_es.mdx | 2 +-
api_docs/kbn_es_archiver.mdx | 2 +-
api_docs/kbn_es_errors.mdx | 2 +-
api_docs/kbn_es_query.mdx | 2 +-
api_docs/kbn_es_types.mdx | 2 +-
api_docs/kbn_eslint_plugin_imports.mdx | 2 +-
api_docs/kbn_esql_ast.mdx | 2 +-
api_docs/kbn_esql_utils.mdx | 2 +-
api_docs/kbn_esql_validation_autocomplete.mdx | 2 +-
api_docs/kbn_event_annotation_common.mdx | 2 +-
api_docs/kbn_event_annotation_components.mdx | 2 +-
api_docs/kbn_expandable_flyout.mdx | 2 +-
api_docs/kbn_field_types.mdx | 2 +-
api_docs/kbn_field_utils.mdx | 2 +-
api_docs/kbn_find_used_node_modules.mdx | 2 +-
api_docs/kbn_formatters.mdx | 2 +-
.../kbn_ftr_common_functional_services.mdx | 2 +-
.../kbn_ftr_common_functional_ui_services.mdx | 2 +-
api_docs/kbn_generate.mdx | 2 +-
api_docs/kbn_generate_console_definitions.mdx | 2 +-
api_docs/kbn_generate_csv.mdx | 2 +-
api_docs/kbn_guided_onboarding.mdx | 2 +-
api_docs/kbn_handlebars.mdx | 2 +-
api_docs/kbn_hapi_mocks.mdx | 2 +-
api_docs/kbn_health_gateway_server.mdx | 2 +-
api_docs/kbn_home_sample_data_card.mdx | 2 +-
api_docs/kbn_home_sample_data_tab.mdx | 2 +-
api_docs/kbn_i18n.mdx | 2 +-
api_docs/kbn_i18n_react.mdx | 2 +-
api_docs/kbn_import_resolver.mdx | 2 +-
api_docs/kbn_index_management.mdx | 2 +-
api_docs/kbn_inference_integration_flyout.mdx | 2 +-
api_docs/kbn_infra_forge.mdx | 2 +-
api_docs/kbn_interpreter.mdx | 2 +-
api_docs/kbn_io_ts_utils.mdx | 2 +-
api_docs/kbn_ipynb.mdx | 2 +-
api_docs/kbn_jest_serializers.mdx | 2 +-
api_docs/kbn_journeys.mdx | 2 +-
api_docs/kbn_json_ast.mdx | 2 +-
api_docs/kbn_kibana_manifest_schema.mdx | 2 +-
.../kbn_language_documentation_popover.mdx | 2 +-
api_docs/kbn_lens_embeddable_utils.mdx | 2 +-
api_docs/kbn_lens_formula_docs.mdx | 2 +-
api_docs/kbn_logging.mdx | 2 +-
api_docs/kbn_logging_mocks.mdx | 2 +-
api_docs/kbn_managed_content_badge.mdx | 2 +-
api_docs/kbn_managed_vscode_config.mdx | 2 +-
api_docs/kbn_management_cards_navigation.mdx | 2 +-
.../kbn_management_settings_application.mdx | 2 +-
...ent_settings_components_field_category.mdx | 2 +-
...gement_settings_components_field_input.mdx | 2 +-
...nagement_settings_components_field_row.mdx | 2 +-
...bn_management_settings_components_form.mdx | 2 +-
...n_management_settings_field_definition.mdx | 2 +-
api_docs/kbn_management_settings_ids.mdx | 2 +-
...n_management_settings_section_registry.mdx | 2 +-
api_docs/kbn_management_settings_types.mdx | 2 +-
.../kbn_management_settings_utilities.mdx | 2 +-
api_docs/kbn_management_storybook_config.mdx | 2 +-
api_docs/kbn_mapbox_gl.mdx | 2 +-
api_docs/kbn_maps_vector_tile_utils.mdx | 2 +-
api_docs/kbn_ml_agg_utils.mdx | 2 +-
api_docs/kbn_ml_anomaly_utils.mdx | 2 +-
api_docs/kbn_ml_cancellable_search.mdx | 2 +-
api_docs/kbn_ml_category_validator.mdx | 2 +-
api_docs/kbn_ml_chi2test.mdx | 2 +-
.../kbn_ml_data_frame_analytics_utils.mdx | 2 +-
api_docs/kbn_ml_data_grid.mdx | 2 +-
api_docs/kbn_ml_date_picker.mdx | 2 +-
api_docs/kbn_ml_date_utils.mdx | 2 +-
api_docs/kbn_ml_error_utils.mdx | 2 +-
api_docs/kbn_ml_in_memory_table.mdx | 2 +-
api_docs/kbn_ml_is_defined.mdx | 2 +-
api_docs/kbn_ml_is_populated_object.mdx | 2 +-
api_docs/kbn_ml_kibana_theme.mdx | 2 +-
api_docs/kbn_ml_local_storage.mdx | 2 +-
api_docs/kbn_ml_nested_property.mdx | 2 +-
api_docs/kbn_ml_number_utils.mdx | 2 +-
api_docs/kbn_ml_query_utils.mdx | 2 +-
api_docs/kbn_ml_random_sampler_utils.mdx | 2 +-
api_docs/kbn_ml_route_utils.mdx | 2 +-
api_docs/kbn_ml_runtime_field_utils.mdx | 2 +-
api_docs/kbn_ml_string_hash.mdx | 2 +-
api_docs/kbn_ml_time_buckets.mdx | 2 +-
api_docs/kbn_ml_trained_models_utils.mdx | 2 +-
api_docs/kbn_ml_ui_actions.mdx | 2 +-
api_docs/kbn_ml_url_state.mdx | 2 +-
api_docs/kbn_mock_idp_utils.mdx | 2 +-
api_docs/kbn_monaco.mdx | 2 +-
api_docs/kbn_object_versioning.mdx | 2 +-
api_docs/kbn_observability_alert_details.mdx | 2 +-
.../kbn_observability_alerting_test_data.mdx | 2 +-
...ility_get_padded_alert_time_range_util.mdx | 2 +-
api_docs/kbn_openapi_bundler.mdx | 2 +-
api_docs/kbn_openapi_generator.mdx | 2 +-
api_docs/kbn_optimizer.mdx | 2 +-
api_docs/kbn_optimizer_webpack_helpers.mdx | 2 +-
api_docs/kbn_osquery_io_ts_types.mdx | 2 +-
api_docs/kbn_panel_loader.mdx | 2 +-
..._performance_testing_dataset_extractor.mdx | 2 +-
api_docs/kbn_plugin_check.mdx | 2 +-
api_docs/kbn_plugin_generator.mdx | 2 +-
api_docs/kbn_plugin_helpers.mdx | 2 +-
api_docs/kbn_presentation_containers.mdx | 2 +-
api_docs/kbn_presentation_publishing.mdx | 2 +-
api_docs/kbn_profiling_utils.mdx | 2 +-
api_docs/kbn_random_sampling.mdx | 2 +-
api_docs/kbn_react_field.mdx | 2 +-
api_docs/kbn_react_hooks.mdx | 2 +-
api_docs/kbn_react_kibana_context_common.mdx | 2 +-
api_docs/kbn_react_kibana_context_render.mdx | 2 +-
api_docs/kbn_react_kibana_context_root.mdx | 2 +-
api_docs/kbn_react_kibana_context_styled.mdx | 2 +-
api_docs/kbn_react_kibana_context_theme.mdx | 2 +-
api_docs/kbn_react_kibana_mount.mdx | 2 +-
api_docs/kbn_repo_file_maps.mdx | 2 +-
api_docs/kbn_repo_linter.mdx | 2 +-
api_docs/kbn_repo_path.mdx | 2 +-
api_docs/kbn_repo_source_classifier.mdx | 2 +-
api_docs/kbn_reporting_common.mdx | 2 +-
api_docs/kbn_reporting_csv_share_panel.mdx | 2 +-
api_docs/kbn_reporting_export_types_csv.mdx | 2 +-
.../kbn_reporting_export_types_csv_common.mdx | 2 +-
api_docs/kbn_reporting_export_types_pdf.mdx | 2 +-
.../kbn_reporting_export_types_pdf_common.mdx | 2 +-
api_docs/kbn_reporting_export_types_png.mdx | 2 +-
.../kbn_reporting_export_types_png_common.mdx | 2 +-
api_docs/kbn_reporting_mocks_server.mdx | 2 +-
api_docs/kbn_reporting_public.mdx | 2 +-
api_docs/kbn_reporting_server.mdx | 2 +-
api_docs/kbn_resizable_layout.mdx | 2 +-
api_docs/kbn_rison.mdx | 2 +-
api_docs/kbn_router_to_openapispec.mdx | 2 +-
api_docs/kbn_router_utils.mdx | 2 +-
api_docs/kbn_rrule.mdx | 2 +-
api_docs/kbn_rule_data_utils.mdx | 2 +-
api_docs/kbn_saved_objects_settings.mdx | 2 +-
api_docs/kbn_search_api_panels.mdx | 2 +-
api_docs/kbn_search_connectors.mdx | 2 +-
api_docs/kbn_search_errors.mdx | 2 +-
api_docs/kbn_search_index_documents.mdx | 2 +-
api_docs/kbn_search_response_warnings.mdx | 2 +-
api_docs/kbn_search_types.mdx | 2 +-
api_docs/kbn_security_hardening.mdx | 2 +-
api_docs/kbn_security_plugin_types_common.mdx | 2 +-
api_docs/kbn_security_plugin_types_public.mdx | 2 +-
api_docs/kbn_security_plugin_types_server.mdx | 2 +-
api_docs/kbn_security_solution_features.mdx | 2 +-
api_docs/kbn_security_solution_navigation.mdx | 2 +-
api_docs/kbn_security_solution_side_nav.mdx | 2 +-
...kbn_security_solution_storybook_config.mdx | 2 +-
.../kbn_securitysolution_autocomplete.mdx | 2 +-
api_docs/kbn_securitysolution_data_table.mdx | 2 +-
api_docs/kbn_securitysolution_ecs.mdx | 2 +-
api_docs/kbn_securitysolution_es_utils.mdx | 2 +-
...ritysolution_exception_list_components.mdx | 2 +-
api_docs/kbn_securitysolution_grouping.mdx | 2 +-
api_docs/kbn_securitysolution_hook_utils.mdx | 2 +-
..._securitysolution_io_ts_alerting_types.mdx | 2 +-
.../kbn_securitysolution_io_ts_list_types.mdx | 2 +-
api_docs/kbn_securitysolution_io_ts_types.mdx | 2 +-
api_docs/kbn_securitysolution_io_ts_utils.mdx | 2 +-
api_docs/kbn_securitysolution_list_api.mdx | 2 +-
.../kbn_securitysolution_list_constants.mdx | 2 +-
api_docs/kbn_securitysolution_list_hooks.mdx | 2 +-
api_docs/kbn_securitysolution_list_utils.mdx | 2 +-
api_docs/kbn_securitysolution_rules.mdx | 2 +-
api_docs/kbn_securitysolution_t_grid.mdx | 2 +-
api_docs/kbn_securitysolution_utils.mdx | 2 +-
api_docs/kbn_server_http_tools.mdx | 2 +-
api_docs/kbn_server_route_repository.mdx | 2 +-
api_docs/kbn_serverless_common_settings.mdx | 2 +-
.../kbn_serverless_observability_settings.mdx | 2 +-
api_docs/kbn_serverless_project_switcher.mdx | 2 +-
api_docs/kbn_serverless_search_settings.mdx | 2 +-
api_docs/kbn_serverless_security_settings.mdx | 2 +-
api_docs/kbn_serverless_storybook_config.mdx | 2 +-
api_docs/kbn_shared_svg.mdx | 2 +-
api_docs/kbn_shared_ux_avatar_solution.mdx | 2 +-
.../kbn_shared_ux_button_exit_full_screen.mdx | 2 +-
api_docs/kbn_shared_ux_button_toolbar.mdx | 2 +-
api_docs/kbn_shared_ux_card_no_data.mdx | 2 +-
api_docs/kbn_shared_ux_card_no_data_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_chrome_navigation.mdx | 2 +-
api_docs/kbn_shared_ux_error_boundary.mdx | 2 +-
api_docs/kbn_shared_ux_file_context.mdx | 2 +-
api_docs/kbn_shared_ux_file_image.mdx | 2 +-
api_docs/kbn_shared_ux_file_image_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_file_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_file_picker.mdx | 2 +-
api_docs/kbn_shared_ux_file_types.mdx | 2 +-
api_docs/kbn_shared_ux_file_upload.mdx | 2 +-
api_docs/kbn_shared_ux_file_util.mdx | 2 +-
api_docs/kbn_shared_ux_link_redirect_app.mdx | 2 +-
.../kbn_shared_ux_link_redirect_app_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_markdown.mdx | 2 +-
api_docs/kbn_shared_ux_markdown_mocks.mdx | 2 +-
.../kbn_shared_ux_page_analytics_no_data.mdx | 2 +-
...shared_ux_page_analytics_no_data_mocks.mdx | 2 +-
.../kbn_shared_ux_page_kibana_no_data.mdx | 2 +-
...bn_shared_ux_page_kibana_no_data_mocks.mdx | 2 +-
.../kbn_shared_ux_page_kibana_template.mdx | 2 +-
...n_shared_ux_page_kibana_template_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_page_no_data.mdx | 2 +-
.../kbn_shared_ux_page_no_data_config.mdx | 2 +-
...bn_shared_ux_page_no_data_config_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_page_no_data_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_page_solution_nav.mdx | 2 +-
.../kbn_shared_ux_prompt_no_data_views.mdx | 2 +-
...n_shared_ux_prompt_no_data_views_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_prompt_not_found.mdx | 2 +-
api_docs/kbn_shared_ux_router.mdx | 2 +-
api_docs/kbn_shared_ux_router_mocks.mdx | 2 +-
api_docs/kbn_shared_ux_storybook_config.mdx | 2 +-
api_docs/kbn_shared_ux_storybook_mock.mdx | 2 +-
api_docs/kbn_shared_ux_tabbed_modal.mdx | 2 +-
api_docs/kbn_shared_ux_utility.mdx | 2 +-
api_docs/kbn_slo_schema.mdx | 2 +-
api_docs/kbn_solution_nav_es.mdx | 2 +-
api_docs/kbn_solution_nav_oblt.mdx | 2 +-
api_docs/kbn_some_dev_log.mdx | 2 +-
api_docs/kbn_sort_predicates.mdx | 2 +-
api_docs/kbn_std.mdx | 2 +-
api_docs/kbn_stdio_dev_helpers.mdx | 2 +-
api_docs/kbn_storybook.mdx | 2 +-
api_docs/kbn_telemetry_tools.mdx | 2 +-
api_docs/kbn_test.mdx | 2 +-
api_docs/kbn_test_eui_helpers.mdx | 2 +-
api_docs/kbn_test_jest_helpers.mdx | 2 +-
api_docs/kbn_test_subj_selector.mdx | 2 +-
api_docs/kbn_text_based_editor.mdx | 2 +-
api_docs/kbn_timerange.mdx | 2 +-
api_docs/kbn_tooling_log.mdx | 2 +-
api_docs/kbn_triggers_actions_ui_types.mdx | 2 +-
api_docs/kbn_try_in_console.mdx | 2 +-
api_docs/kbn_ts_projects.mdx | 2 +-
api_docs/kbn_typed_react_router_config.mdx | 2 +-
api_docs/kbn_ui_actions_browser.mdx | 2 +-
api_docs/kbn_ui_shared_deps_src.mdx | 2 +-
api_docs/kbn_ui_theme.mdx | 2 +-
api_docs/kbn_unified_data_table.mdx | 2 +-
api_docs/kbn_unified_doc_viewer.mdx | 2 +-
api_docs/kbn_unified_field_list.mdx | 2 +-
api_docs/kbn_unsaved_changes_badge.mdx | 2 +-
api_docs/kbn_use_tracked_promise.mdx | 2 +-
.../kbn_user_profile_components.devdocs.json | 4 +-
api_docs/kbn_user_profile_components.mdx | 2 +-
api_docs/kbn_utility_types.mdx | 2 +-
api_docs/kbn_utility_types_jest.mdx | 2 +-
api_docs/kbn_utils.mdx | 2 +-
api_docs/kbn_visualization_ui_components.mdx | 2 +-
api_docs/kbn_visualization_utils.mdx | 2 +-
api_docs/kbn_xstate_utils.mdx | 2 +-
api_docs/kbn_yarn_lock_validator.mdx | 2 +-
api_docs/kbn_zod_helpers.mdx | 2 +-
api_docs/kibana_overview.mdx | 2 +-
api_docs/kibana_react.mdx | 2 +-
api_docs/kibana_utils.mdx | 2 +-
api_docs/kubernetes_security.mdx | 2 +-
api_docs/lens.mdx | 2 +-
api_docs/license_api_guard.mdx | 2 +-
api_docs/license_management.mdx | 2 +-
api_docs/licensing.mdx | 2 +-
api_docs/links.mdx | 2 +-
api_docs/lists.mdx | 2 +-
api_docs/logs_data_access.mdx | 2 +-
api_docs/logs_explorer.mdx | 2 +-
api_docs/logs_shared.mdx | 2 +-
api_docs/management.mdx | 2 +-
api_docs/maps.mdx | 2 +-
api_docs/maps_ems.mdx | 2 +-
api_docs/metrics_data_access.mdx | 2 +-
api_docs/ml.mdx | 2 +-
api_docs/mock_idp_plugin.mdx | 2 +-
api_docs/monitoring.mdx | 2 +-
api_docs/monitoring_collection.mdx | 2 +-
api_docs/navigation.mdx | 2 +-
api_docs/newsfeed.mdx | 2 +-
api_docs/no_data_page.mdx | 2 +-
api_docs/notifications.mdx | 2 +-
api_docs/observability.mdx | 2 +-
api_docs/observability_a_i_assistant.mdx | 2 +-
api_docs/observability_a_i_assistant_app.mdx | 2 +-
.../observability_ai_assistant_management.mdx | 2 +-
api_docs/observability_logs_explorer.mdx | 2 +-
api_docs/observability_onboarding.mdx | 2 +-
api_docs/observability_shared.mdx | 2 +-
api_docs/osquery.mdx | 2 +-
api_docs/painless_lab.mdx | 2 +-
api_docs/plugin_directory.mdx | 14 +-
api_docs/presentation_panel.mdx | 2 +-
api_docs/presentation_util.mdx | 2 +-
api_docs/profiling.mdx | 2 +-
api_docs/profiling_data_access.mdx | 2 +-
api_docs/remote_clusters.mdx | 2 +-
api_docs/reporting.mdx | 2 +-
api_docs/rollup.mdx | 2 +-
api_docs/rule_registry.mdx | 2 +-
api_docs/runtime_fields.mdx | 2 +-
api_docs/saved_objects.mdx | 2 +-
api_docs/saved_objects_finder.mdx | 2 +-
api_docs/saved_objects_management.mdx | 2 +-
api_docs/saved_objects_tagging.mdx | 2 +-
api_docs/saved_objects_tagging_oss.mdx | 2 +-
api_docs/saved_search.mdx | 2 +-
api_docs/screenshot_mode.mdx | 2 +-
api_docs/screenshotting.mdx | 2 +-
api_docs/search_connectors.mdx | 2 +-
api_docs/search_notebooks.mdx | 2 +-
api_docs/search_playground.mdx | 2 +-
api_docs/security.mdx | 2 +-
api_docs/security_solution.devdocs.json | 14 +-
api_docs/security_solution.mdx | 2 +-
api_docs/security_solution_ess.mdx | 2 +-
api_docs/security_solution_serverless.mdx | 2 +-
api_docs/serverless.mdx | 2 +-
api_docs/serverless_observability.mdx | 2 +-
api_docs/serverless_search.mdx | 2 +-
api_docs/session_view.mdx | 2 +-
api_docs/share.mdx | 2 +-
api_docs/slo.mdx | 2 +-
api_docs/snapshot_restore.mdx | 2 +-
api_docs/spaces.mdx | 2 +-
api_docs/stack_alerts.mdx | 2 +-
api_docs/stack_connectors.mdx | 2 +-
api_docs/task_manager.mdx | 2 +-
api_docs/telemetry.mdx | 2 +-
api_docs/telemetry_collection_manager.mdx | 2 +-
api_docs/telemetry_collection_xpack.mdx | 2 +-
api_docs/telemetry_management_section.mdx | 2 +-
api_docs/text_based_languages.mdx | 2 +-
api_docs/threat_intelligence.mdx | 2 +-
api_docs/timelines.mdx | 2 +-
api_docs/transform.mdx | 2 +-
api_docs/triggers_actions_ui.mdx | 2 +-
api_docs/ui_actions.mdx | 2 +-
api_docs/ui_actions_enhanced.mdx | 2 +-
api_docs/unified_doc_viewer.mdx | 2 +-
api_docs/unified_histogram.mdx | 2 +-
api_docs/unified_search.mdx | 2 +-
api_docs/unified_search_autocomplete.mdx | 2 +-
api_docs/uptime.mdx | 2 +-
api_docs/url_forwarding.mdx | 2 +-
api_docs/usage_collection.mdx | 2 +-
api_docs/ux.mdx | 2 +-
api_docs/vis_default_editor.mdx | 2 +-
api_docs/vis_type_gauge.mdx | 2 +-
api_docs/vis_type_heatmap.mdx | 2 +-
api_docs/vis_type_pie.mdx | 2 +-
api_docs/vis_type_table.mdx | 2 +-
api_docs/vis_type_timelion.mdx | 2 +-
api_docs/vis_type_timeseries.mdx | 2 +-
api_docs/vis_type_vega.mdx | 2 +-
api_docs/vis_type_vislib.mdx | 2 +-
api_docs/vis_type_xy.mdx | 2 +-
api_docs/visualizations.mdx | 2 +-
700 files changed, 2454 insertions(+), 1080 deletions(-)
diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx
index 0d8591b85a84c..493c0cd4a1d39 100644
--- a/api_docs/actions.mdx
+++ b/api_docs/actions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/actions
title: "actions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the actions plugin
-date: 2024-05-20
+date: 2024-05-21
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 e9a421e888be2..2b08b8f1d9668 100644
--- a/api_docs/advanced_settings.mdx
+++ b/api_docs/advanced_settings.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/advancedSettings
title: "advancedSettings"
image: https://source.unsplash.com/400x175/?github
description: API docs for the advancedSettings plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'advancedSettings']
---
import advancedSettingsObj from './advanced_settings.devdocs.json';
diff --git a/api_docs/ai_assistant_management_selection.mdx b/api_docs/ai_assistant_management_selection.mdx
index e02245146f91b..d34fbace90d10 100644
--- a/api_docs/ai_assistant_management_selection.mdx
+++ b/api_docs/ai_assistant_management_selection.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiAssistantManagementSelection
title: "aiAssistantManagementSelection"
image: https://source.unsplash.com/400x175/?github
description: API docs for the aiAssistantManagementSelection plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiAssistantManagementSelection']
---
import aiAssistantManagementSelectionObj from './ai_assistant_management_selection.devdocs.json';
diff --git a/api_docs/aiops.mdx b/api_docs/aiops.mdx
index 7ecce04ce1e65..b5be478a5bd8b 100644
--- a/api_docs/aiops.mdx
+++ b/api_docs/aiops.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/aiops
title: "aiops"
image: https://source.unsplash.com/400x175/?github
description: API docs for the aiops plugin
-date: 2024-05-20
+date: 2024-05-21
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 b28eb1bfdaf88..bc94f0a8c9296 100644
--- a/api_docs/alerting.mdx
+++ b/api_docs/alerting.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting
title: "alerting"
image: https://source.unsplash.com/400x175/?github
description: API docs for the alerting plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting']
---
import alertingObj from './alerting.devdocs.json';
diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx
index 2c3da0893ff2a..624abe5f51a00 100644
--- a/api_docs/apm.mdx
+++ b/api_docs/apm.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apm
title: "apm"
image: https://source.unsplash.com/400x175/?github
description: API docs for the apm plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm']
---
import apmObj from './apm.devdocs.json';
diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx
index f50b0eea77370..e4f1826bd6e79 100644
--- a/api_docs/apm_data_access.mdx
+++ b/api_docs/apm_data_access.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/apmDataAccess
title: "apmDataAccess"
image: https://source.unsplash.com/400x175/?github
description: API docs for the apmDataAccess plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apmDataAccess']
---
import apmDataAccessObj from './apm_data_access.devdocs.json';
diff --git a/api_docs/asset_manager.mdx b/api_docs/asset_manager.mdx
index b0ff0227b6d01..cfd7c5a5350ce 100644
--- a/api_docs/asset_manager.mdx
+++ b/api_docs/asset_manager.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetManager
title: "assetManager"
image: https://source.unsplash.com/400x175/?github
description: API docs for the assetManager plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager']
---
import assetManagerObj from './asset_manager.devdocs.json';
diff --git a/api_docs/assets_data_access.mdx b/api_docs/assets_data_access.mdx
index 401513ef27e18..50af728439c5e 100644
--- a/api_docs/assets_data_access.mdx
+++ b/api_docs/assets_data_access.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/assetsDataAccess
title: "assetsDataAccess"
image: https://source.unsplash.com/400x175/?github
description: API docs for the assetsDataAccess plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetsDataAccess']
---
import assetsDataAccessObj from './assets_data_access.devdocs.json';
diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx
index 31fbbf7e94578..b40d5bf144f5d 100644
--- a/api_docs/banners.mdx
+++ b/api_docs/banners.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/banners
title: "banners"
image: https://source.unsplash.com/400x175/?github
description: API docs for the banners plugin
-date: 2024-05-20
+date: 2024-05-21
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 bba0e4c29bab6..d196abe7007e0 100644
--- a/api_docs/bfetch.mdx
+++ b/api_docs/bfetch.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/bfetch
title: "bfetch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the bfetch plugin
-date: 2024-05-20
+date: 2024-05-21
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 24ed742c77f02..0c5c8d17d4c7f 100644
--- a/api_docs/canvas.mdx
+++ b/api_docs/canvas.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/canvas
title: "canvas"
image: https://source.unsplash.com/400x175/?github
description: API docs for the canvas plugin
-date: 2024-05-20
+date: 2024-05-21
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 1c3da2e8f7236..d5a1d12f353fd 100644
--- a/api_docs/cases.mdx
+++ b/api_docs/cases.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cases
title: "cases"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cases plugin
-date: 2024-05-20
+date: 2024-05-21
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 1307d78b19c43..debf6ad62db82 100644
--- a/api_docs/charts.mdx
+++ b/api_docs/charts.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/charts
title: "charts"
image: https://source.unsplash.com/400x175/?github
description: API docs for the charts plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'charts']
---
import chartsObj from './charts.devdocs.json';
diff --git a/api_docs/cloud.mdx b/api_docs/cloud.mdx
index ae1f4c9893e4f..ca37a9d2cd0cd 100644
--- a/api_docs/cloud.mdx
+++ b/api_docs/cloud.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloud
title: "cloud"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloud plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloud']
---
import cloudObj from './cloud.devdocs.json';
diff --git a/api_docs/cloud_data_migration.mdx b/api_docs/cloud_data_migration.mdx
index 3c32678ea6a9d..f69b4e3ef89e2 100644
--- a/api_docs/cloud_data_migration.mdx
+++ b/api_docs/cloud_data_migration.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDataMigration
title: "cloudDataMigration"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudDataMigration plugin
-date: 2024-05-20
+date: 2024-05-21
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 8de28a174848f..5c5f142213aa2 100644
--- a/api_docs/cloud_defend.mdx
+++ b/api_docs/cloud_defend.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudDefend
title: "cloudDefend"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudDefend plugin
-date: 2024-05-20
+date: 2024-05-21
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 e6e64081f4816..5fe6e545b60df 100644
--- a/api_docs/cloud_experiments.mdx
+++ b/api_docs/cloud_experiments.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudExperiments
title: "cloudExperiments"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudExperiments plugin
-date: 2024-05-20
+date: 2024-05-21
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 d3be4f1ecfc58..cbfefb9e0f06e 100644
--- a/api_docs/cloud_security_posture.mdx
+++ b/api_docs/cloud_security_posture.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/cloudSecurityPosture
title: "cloudSecurityPosture"
image: https://source.unsplash.com/400x175/?github
description: API docs for the cloudSecurityPosture plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture']
---
import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json';
diff --git a/api_docs/console.mdx b/api_docs/console.mdx
index c8c436075e006..8b42d370625fb 100644
--- a/api_docs/console.mdx
+++ b/api_docs/console.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/console
title: "console"
image: https://source.unsplash.com/400x175/?github
description: API docs for the console plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console']
---
import consoleObj from './console.devdocs.json';
diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx
index 3d97d8d324d82..3cb7c10ef9cf3 100644
--- a/api_docs/content_management.mdx
+++ b/api_docs/content_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/contentManagement
title: "contentManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the contentManagement plugin
-date: 2024-05-20
+date: 2024-05-21
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 4bb2d4f5b695e..73f8d134dd24f 100644
--- a/api_docs/controls.mdx
+++ b/api_docs/controls.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/controls
title: "controls"
image: https://source.unsplash.com/400x175/?github
description: API docs for the controls plugin
-date: 2024-05-20
+date: 2024-05-21
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 d20c0d817bad2..98cb679153804 100644
--- a/api_docs/custom_integrations.mdx
+++ b/api_docs/custom_integrations.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/customIntegrations
title: "customIntegrations"
image: https://source.unsplash.com/400x175/?github
description: API docs for the customIntegrations plugin
-date: 2024-05-20
+date: 2024-05-21
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 ebc2ca136d543..56721a63df610 100644
--- a/api_docs/dashboard.mdx
+++ b/api_docs/dashboard.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboard
title: "dashboard"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dashboard plugin
-date: 2024-05-20
+date: 2024-05-21
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 ed8a799c2e890..0508847662fe2 100644
--- a/api_docs/dashboard_enhanced.mdx
+++ b/api_docs/dashboard_enhanced.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dashboardEnhanced
title: "dashboardEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dashboardEnhanced plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dashboardEnhanced']
---
import dashboardEnhancedObj from './dashboard_enhanced.devdocs.json';
diff --git a/api_docs/data.mdx b/api_docs/data.mdx
index 1a5d1f793c624..2eee287830232 100644
--- a/api_docs/data.mdx
+++ b/api_docs/data.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data
title: "data"
image: https://source.unsplash.com/400x175/?github
description: API docs for the data plugin
-date: 2024-05-20
+date: 2024-05-21
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 72ec9098d970b..25b786dc3e132 100644
--- a/api_docs/data_query.mdx
+++ b/api_docs/data_query.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-query
title: "data.query"
image: https://source.unsplash.com/400x175/?github
description: API docs for the data.query plugin
-date: 2024-05-20
+date: 2024-05-21
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 f9e1313b825b5..d13b29c37c66e 100644
--- a/api_docs/data_search.mdx
+++ b/api_docs/data_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/data-search
title: "data.search"
image: https://source.unsplash.com/400x175/?github
description: API docs for the data.search plugin
-date: 2024-05-20
+date: 2024-05-21
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 e14fbb84c8c3e..2c0ded36b5ef5 100644
--- a/api_docs/data_view_editor.mdx
+++ b/api_docs/data_view_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewEditor
title: "dataViewEditor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViewEditor plugin
-date: 2024-05-20
+date: 2024-05-21
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 47f679b648687..36bea2d273a68 100644
--- a/api_docs/data_view_field_editor.mdx
+++ b/api_docs/data_view_field_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewFieldEditor
title: "dataViewFieldEditor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViewFieldEditor plugin
-date: 2024-05-20
+date: 2024-05-21
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 dc854eb2bc307..e31a93de692af 100644
--- a/api_docs/data_view_management.mdx
+++ b/api_docs/data_view_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViewManagement
title: "dataViewManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViewManagement plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViewManagement']
---
import dataViewManagementObj from './data_view_management.devdocs.json';
diff --git a/api_docs/data_views.mdx b/api_docs/data_views.mdx
index be2d13723e34b..764cabf1a8464 100644
--- a/api_docs/data_views.mdx
+++ b/api_docs/data_views.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataViews
title: "dataViews"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataViews plugin
-date: 2024-05-20
+date: 2024-05-21
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 0ce9929024c75..19861a85c2117 100644
--- a/api_docs/data_visualizer.mdx
+++ b/api_docs/data_visualizer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/dataVisualizer
title: "dataVisualizer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the dataVisualizer plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer']
---
import dataVisualizerObj from './data_visualizer.devdocs.json';
diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx
index 5cc8ac5c6b11b..4a70997bf3f42 100644
--- a/api_docs/dataset_quality.mdx
+++ b/api_docs/dataset_quality.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/datasetQuality
title: "datasetQuality"
image: https://source.unsplash.com/400x175/?github
description: API docs for the datasetQuality plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'datasetQuality']
---
import datasetQualityObj from './dataset_quality.devdocs.json';
diff --git a/api_docs/deprecations_by_api.mdx b/api_docs/deprecations_by_api.mdx
index 7fdfb650df82d..6ff52b7f2d9eb 100644
--- a/api_docs/deprecations_by_api.mdx
+++ b/api_docs/deprecations_by_api.mdx
@@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByApi
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-api
title: Deprecated API usage by API
description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx
index 18390038fa500..a7eff036be5c0 100644
--- a/api_docs/deprecations_by_plugin.mdx
+++ b/api_docs/deprecations_by_plugin.mdx
@@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsByPlugin
slug: /kibana-dev-docs/api-meta/deprecated-api-list-by-plugin
title: Deprecated API usage by plugin
description: A list of deprecated APIs, which plugins are still referencing them, and when they need to be removed by.
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx
index 919da7d93a174..246f46bbd5593 100644
--- a/api_docs/deprecations_by_team.mdx
+++ b/api_docs/deprecations_by_team.mdx
@@ -7,7 +7,7 @@ id: kibDevDocsDeprecationsDueByTeam
slug: /kibana-dev-docs/api-meta/deprecations-due-by-team
title: Deprecated APIs due to be removed, by team
description: Lists the teams that are referencing deprecated APIs with a remove by date.
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana']
---
diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx
index fe61ae6d29a50..216c269ca32dd 100644
--- a/api_docs/dev_tools.mdx
+++ b/api_docs/dev_tools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/devTools
title: "devTools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the devTools plugin
-date: 2024-05-20
+date: 2024-05-21
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 14de89d8f6e4b..6ccef85bc389c 100644
--- a/api_docs/discover.mdx
+++ b/api_docs/discover.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discover
title: "discover"
image: https://source.unsplash.com/400x175/?github
description: API docs for the discover plugin
-date: 2024-05-20
+date: 2024-05-21
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 653c09fe0385f..e99b8dd51c4c9 100644
--- a/api_docs/discover_enhanced.mdx
+++ b/api_docs/discover_enhanced.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverEnhanced
title: "discoverEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the discoverEnhanced plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced']
---
import discoverEnhancedObj from './discover_enhanced.devdocs.json';
diff --git a/api_docs/discover_shared.mdx b/api_docs/discover_shared.mdx
index 97c75e0d7949e..a43cb711ef34c 100644
--- a/api_docs/discover_shared.mdx
+++ b/api_docs/discover_shared.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/discoverShared
title: "discoverShared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the discoverShared plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverShared']
---
import discoverSharedObj from './discover_shared.devdocs.json';
diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx
index 4c6d8f24223ab..b646fa67ec3bd 100644
--- a/api_docs/ecs_data_quality_dashboard.mdx
+++ b/api_docs/ecs_data_quality_dashboard.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ecsDataQualityDashboard
title: "ecsDataQualityDashboard"
image: https://source.unsplash.com/400x175/?github
description: API docs for the ecsDataQualityDashboard plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard']
---
import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json';
diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx
index c1d9e7f1f3dab..38ba832b6a27d 100644
--- a/api_docs/elastic_assistant.mdx
+++ b/api_docs/elastic_assistant.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/elasticAssistant
title: "elasticAssistant"
image: https://source.unsplash.com/400x175/?github
description: API docs for the elasticAssistant plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'elasticAssistant']
---
import elasticAssistantObj from './elastic_assistant.devdocs.json';
diff --git a/api_docs/embeddable.mdx b/api_docs/embeddable.mdx
index 757f36c217e31..da37c85a887e1 100644
--- a/api_docs/embeddable.mdx
+++ b/api_docs/embeddable.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddable
title: "embeddable"
image: https://source.unsplash.com/400x175/?github
description: API docs for the embeddable plugin
-date: 2024-05-20
+date: 2024-05-21
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 3bd9e45fbb55f..2bf59add4087a 100644
--- a/api_docs/embeddable_enhanced.mdx
+++ b/api_docs/embeddable_enhanced.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/embeddableEnhanced
title: "embeddableEnhanced"
image: https://source.unsplash.com/400x175/?github
description: API docs for the embeddableEnhanced plugin
-date: 2024-05-20
+date: 2024-05-21
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 0f027d6476aab..071e90c08e901 100644
--- a/api_docs/encrypted_saved_objects.mdx
+++ b/api_docs/encrypted_saved_objects.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/encryptedSavedObjects
title: "encryptedSavedObjects"
image: https://source.unsplash.com/400x175/?github
description: API docs for the encryptedSavedObjects plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'encryptedSavedObjects']
---
import encryptedSavedObjectsObj from './encrypted_saved_objects.devdocs.json';
diff --git a/api_docs/enterprise_search.mdx b/api_docs/enterprise_search.mdx
index df612f3ba58c0..9a71b04a06135 100644
--- a/api_docs/enterprise_search.mdx
+++ b/api_docs/enterprise_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/enterpriseSearch
title: "enterpriseSearch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the enterpriseSearch plugin
-date: 2024-05-20
+date: 2024-05-21
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 bfbce14d2f28a..639bd870d2f3b 100644
--- a/api_docs/es_ui_shared.mdx
+++ b/api_docs/es_ui_shared.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/esUiShared
title: "esUiShared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the esUiShared plugin
-date: 2024-05-20
+date: 2024-05-21
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 a143a6710e4fa..8a079ca44054b 100644
--- a/api_docs/event_annotation.mdx
+++ b/api_docs/event_annotation.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotation
title: "eventAnnotation"
image: https://source.unsplash.com/400x175/?github
description: API docs for the eventAnnotation plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotation']
---
import eventAnnotationObj from './event_annotation.devdocs.json';
diff --git a/api_docs/event_annotation_listing.mdx b/api_docs/event_annotation_listing.mdx
index 6305e112cb763..8bec7ed5069bf 100644
--- a/api_docs/event_annotation_listing.mdx
+++ b/api_docs/event_annotation_listing.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventAnnotationListing
title: "eventAnnotationListing"
image: https://source.unsplash.com/400x175/?github
description: API docs for the eventAnnotationListing plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'eventAnnotationListing']
---
import eventAnnotationListingObj from './event_annotation_listing.devdocs.json';
diff --git a/api_docs/event_log.mdx b/api_docs/event_log.mdx
index 67bf2d55c88ca..2100558fb1cd4 100644
--- a/api_docs/event_log.mdx
+++ b/api_docs/event_log.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/eventLog
title: "eventLog"
image: https://source.unsplash.com/400x175/?github
description: API docs for the eventLog plugin
-date: 2024-05-20
+date: 2024-05-21
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 ea5ad4f14611c..c87a73aae0c8c 100644
--- a/api_docs/exploratory_view.mdx
+++ b/api_docs/exploratory_view.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/exploratoryView
title: "exploratoryView"
image: https://source.unsplash.com/400x175/?github
description: API docs for the exploratoryView plugin
-date: 2024-05-20
+date: 2024-05-21
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 13ddadc0355f1..9f51faee139e4 100644
--- a/api_docs/expression_error.mdx
+++ b/api_docs/expression_error.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionError
title: "expressionError"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionError plugin
-date: 2024-05-20
+date: 2024-05-21
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 7b7e8b16fe3d9..b3c26e0418ce3 100644
--- a/api_docs/expression_gauge.mdx
+++ b/api_docs/expression_gauge.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionGauge
title: "expressionGauge"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionGauge plugin
-date: 2024-05-20
+date: 2024-05-21
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 36a025e989bd6..17f3e8018dd8a 100644
--- a/api_docs/expression_heatmap.mdx
+++ b/api_docs/expression_heatmap.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionHeatmap
title: "expressionHeatmap"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionHeatmap plugin
-date: 2024-05-20
+date: 2024-05-21
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 2ed037401a5ee..cbde1df5a1bd7 100644
--- a/api_docs/expression_image.mdx
+++ b/api_docs/expression_image.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionImage
title: "expressionImage"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionImage plugin
-date: 2024-05-20
+date: 2024-05-21
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 0a2f7f52ae824..e2fc0ad78bf7b 100644
--- a/api_docs/expression_legacy_metric_vis.mdx
+++ b/api_docs/expression_legacy_metric_vis.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionLegacyMetricVis
title: "expressionLegacyMetricVis"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionLegacyMetricVis plugin
-date: 2024-05-20
+date: 2024-05-21
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 de0d33b3fe139..ee1d04f2a85f9 100644
--- a/api_docs/expression_metric.mdx
+++ b/api_docs/expression_metric.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetric
title: "expressionMetric"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionMetric plugin
-date: 2024-05-20
+date: 2024-05-21
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 81552f2a71390..020a7489e26c7 100644
--- a/api_docs/expression_metric_vis.mdx
+++ b/api_docs/expression_metric_vis.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionMetricVis
title: "expressionMetricVis"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionMetricVis plugin
-date: 2024-05-20
+date: 2024-05-21
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 0d361a1ef6ee5..7e0d8f41e3641 100644
--- a/api_docs/expression_partition_vis.mdx
+++ b/api_docs/expression_partition_vis.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionPartitionVis
title: "expressionPartitionVis"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionPartitionVis plugin
-date: 2024-05-20
+date: 2024-05-21
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 3221b1bc91391..54ce1f13ae8fa 100644
--- a/api_docs/expression_repeat_image.mdx
+++ b/api_docs/expression_repeat_image.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRepeatImage
title: "expressionRepeatImage"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionRepeatImage plugin
-date: 2024-05-20
+date: 2024-05-21
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 c41d008ceab6d..7744cf7e8d7ce 100644
--- a/api_docs/expression_reveal_image.mdx
+++ b/api_docs/expression_reveal_image.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionRevealImage
title: "expressionRevealImage"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionRevealImage plugin
-date: 2024-05-20
+date: 2024-05-21
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 857bb8256b2ec..5c04fb6b3cd7b 100644
--- a/api_docs/expression_shape.mdx
+++ b/api_docs/expression_shape.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionShape
title: "expressionShape"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionShape plugin
-date: 2024-05-20
+date: 2024-05-21
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 36feeaee47c02..88c6814e49aa6 100644
--- a/api_docs/expression_tagcloud.mdx
+++ b/api_docs/expression_tagcloud.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionTagcloud
title: "expressionTagcloud"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionTagcloud plugin
-date: 2024-05-20
+date: 2024-05-21
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 9a90063d9957a..80308f6eb6b3a 100644
--- a/api_docs/expression_x_y.mdx
+++ b/api_docs/expression_x_y.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressionXY
title: "expressionXY"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressionXY plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY']
---
import expressionXYObj from './expression_x_y.devdocs.json';
diff --git a/api_docs/expressions.devdocs.json b/api_docs/expressions.devdocs.json
index 550863a9a75e6..9f91694efe0cf 100644
--- a/api_docs/expressions.devdocs.json
+++ b/api_docs/expressions.devdocs.json
@@ -270,6 +270,23 @@
"deprecated": false,
"trackAdoption": false,
"isRequired": false
+ },
+ {
+ "parentPluginId": "expressions",
+ "id": "def-public.Execution.Unnamed.$3",
+ "type": "Object",
+ "tags": [],
+ "label": "functionCache",
+ "description": [],
+ "signature": [
+ "Map"
+ ],
+ "path": "src/plugins/expressions/common/execution/execution.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
}
],
"returnComment": []
@@ -1271,6 +1288,23 @@
"deprecated": false,
"trackAdoption": false,
"isRequired": false
+ },
+ {
+ "parentPluginId": "expressions",
+ "id": "def-public.Executor.Unnamed.$3",
+ "type": "Object",
+ "tags": [],
+ "label": "functionCache",
+ "description": [],
+ "signature": [
+ "Map"
+ ],
+ "path": "src/plugins/expressions/common/executor/executor.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
}
],
"returnComment": []
@@ -2197,6 +2231,19 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "expressions",
+ "id": "def-public.ExpressionFunction.allowCache",
+ "type": "boolean",
+ "tags": [],
+ "label": "allowCache",
+ "description": [
+ "\nOpt-in to caching this function. By default function outputs are cached and given the same inputs cached result is returned."
+ ],
+ "path": "src/plugins/expressions/common/expression_functions/expression_function.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "expressions",
"id": "def-public.ExpressionFunction.fn",
@@ -7146,6 +7193,22 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "expressions",
+ "id": "def-public.ExecutionContext.allowCache",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "allowCache",
+ "description": [
+ "\nAllow caching in the current execution."
+ ],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/expressions/common/execution/types.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "expressions",
"id": "def-public.ExecutionContext.abortSignal",
@@ -8383,6 +8446,22 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "expressions",
+ "id": "def-public.ExpressionFunctionDefinition.allowCache",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "allowCache",
+ "description": [
+ "\nOpt-in to caching this function. By default function outputs are cached and given the same inputs cached result is returned."
+ ],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/expressions/common/expression_functions/types.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "expressions",
"id": "def-public.ExpressionFunctionDefinition.inputTypes",
@@ -10726,20 +10805,6 @@
"deprecated": false,
"trackAdoption": false
},
- {
- "parentPluginId": "expressions",
- "id": "def-public.IExpressionLoaderParams.disableCaching",
- "type": "CompoundType",
- "tags": [],
- "label": "disableCaching",
- "description": [],
- "signature": [
- "boolean | undefined"
- ],
- "path": "src/plugins/expressions/public/types/index.ts",
- "deprecated": false,
- "trackAdoption": false
- },
{
"parentPluginId": "expressions",
"id": "def-public.IExpressionLoaderParams.customFunctions",
@@ -11011,6 +11076,20 @@
"path": "src/plugins/expressions/public/types/index.ts",
"deprecated": false,
"trackAdoption": false
+ },
+ {
+ "parentPluginId": "expressions",
+ "id": "def-public.IExpressionLoaderParams.allowCache",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "allowCache",
+ "description": [],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/expressions/public/types/index.ts",
+ "deprecated": false,
+ "trackAdoption": false
}
],
"initialIsOpen": false
@@ -13813,6 +13892,23 @@
"deprecated": false,
"trackAdoption": false,
"isRequired": false
+ },
+ {
+ "parentPluginId": "expressions",
+ "id": "def-server.Execution.Unnamed.$3",
+ "type": "Object",
+ "tags": [],
+ "label": "functionCache",
+ "description": [],
+ "signature": [
+ "Map"
+ ],
+ "path": "src/plugins/expressions/common/execution/execution.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
}
],
"returnComment": []
@@ -14595,6 +14691,23 @@
"deprecated": false,
"trackAdoption": false,
"isRequired": false
+ },
+ {
+ "parentPluginId": "expressions",
+ "id": "def-server.Executor.Unnamed.$3",
+ "type": "Object",
+ "tags": [],
+ "label": "functionCache",
+ "description": [],
+ "signature": [
+ "Map"
+ ],
+ "path": "src/plugins/expressions/common/executor/executor.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
}
],
"returnComment": []
@@ -15521,6 +15634,19 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "expressions",
+ "id": "def-server.ExpressionFunction.allowCache",
+ "type": "boolean",
+ "tags": [],
+ "label": "allowCache",
+ "description": [
+ "\nOpt-in to caching this function. By default function outputs are cached and given the same inputs cached result is returned."
+ ],
+ "path": "src/plugins/expressions/common/expression_functions/expression_function.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "expressions",
"id": "def-server.ExpressionFunction.fn",
@@ -18575,6 +18701,22 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "expressions",
+ "id": "def-server.ExecutionContext.allowCache",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "allowCache",
+ "description": [
+ "\nAllow caching in the current execution."
+ ],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/expressions/common/execution/types.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "expressions",
"id": "def-server.ExecutionContext.abortSignal",
@@ -19781,6 +19923,22 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "expressions",
+ "id": "def-server.ExpressionFunctionDefinition.allowCache",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "allowCache",
+ "description": [
+ "\nOpt-in to caching this function. By default function outputs are cached and given the same inputs cached result is returned."
+ ],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/expressions/common/expression_functions/types.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "expressions",
"id": "def-server.ExpressionFunctionDefinition.inputTypes",
@@ -22974,6 +23132,23 @@
"deprecated": false,
"trackAdoption": false,
"isRequired": false
+ },
+ {
+ "parentPluginId": "expressions",
+ "id": "def-common.Execution.Unnamed.$3",
+ "type": "Object",
+ "tags": [],
+ "label": "functionCache",
+ "description": [],
+ "signature": [
+ "Map"
+ ],
+ "path": "src/plugins/expressions/common/execution/execution.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
}
],
"returnComment": []
@@ -23975,6 +24150,23 @@
"deprecated": false,
"trackAdoption": false,
"isRequired": false
+ },
+ {
+ "parentPluginId": "expressions",
+ "id": "def-common.Executor.Unnamed.$3",
+ "type": "Object",
+ "tags": [],
+ "label": "functionCache",
+ "description": [],
+ "signature": [
+ "Map"
+ ],
+ "path": "src/plugins/expressions/common/executor/executor.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
}
],
"returnComment": []
@@ -24901,6 +25093,19 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "expressions",
+ "id": "def-common.ExpressionFunction.allowCache",
+ "type": "boolean",
+ "tags": [],
+ "label": "allowCache",
+ "description": [
+ "\nOpt-in to caching this function. By default function outputs are cached and given the same inputs cached result is returned."
+ ],
+ "path": "src/plugins/expressions/common/expression_functions/expression_function.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "expressions",
"id": "def-common.ExpressionFunction.fn",
@@ -30648,6 +30853,22 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "expressions",
+ "id": "def-common.ExecutionContext.allowCache",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "allowCache",
+ "description": [
+ "\nAllow caching in the current execution."
+ ],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/expressions/common/execution/types.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "expressions",
"id": "def-common.ExecutionContext.abortSignal",
@@ -32523,6 +32744,20 @@
"path": "src/plugins/expressions/common/service/expressions_services.ts",
"deprecated": false,
"trackAdoption": false
+ },
+ {
+ "parentPluginId": "expressions",
+ "id": "def-common.ExpressionExecutionParams.allowCache",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "allowCache",
+ "description": [],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/expressions/common/service/expressions_services.ts",
+ "deprecated": false,
+ "trackAdoption": false
}
],
"initialIsOpen": false
@@ -32675,6 +32910,22 @@
"deprecated": false,
"trackAdoption": false
},
+ {
+ "parentPluginId": "expressions",
+ "id": "def-common.ExpressionFunctionDefinition.allowCache",
+ "type": "CompoundType",
+ "tags": [],
+ "label": "allowCache",
+ "description": [
+ "\nOpt-in to caching this function. By default function outputs are cached and given the same inputs cached result is returned."
+ ],
+ "signature": [
+ "boolean | undefined"
+ ],
+ "path": "src/plugins/expressions/common/expression_functions/types.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
{
"parentPluginId": "expressions",
"id": "def-common.ExpressionFunctionDefinition.inputTypes",
diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx
index 8e952fd651860..dba7bd5ae3fa9 100644
--- a/api_docs/expressions.mdx
+++ b/api_docs/expressions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/expressions
title: "expressions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the expressions plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions']
---
import expressionsObj from './expressions.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 2217 | 17 | 1756 | 5 |
+| 2233 | 17 | 1763 | 6 |
## Client
diff --git a/api_docs/features.mdx b/api_docs/features.mdx
index e06c1d1c23064..1775b2effece9 100644
--- a/api_docs/features.mdx
+++ b/api_docs/features.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/features
title: "features"
image: https://source.unsplash.com/400x175/?github
description: API docs for the features plugin
-date: 2024-05-20
+date: 2024-05-21
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 a693e34dcd748..865347fd794cb 100644
--- a/api_docs/field_formats.mdx
+++ b/api_docs/field_formats.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fieldFormats
title: "fieldFormats"
image: https://source.unsplash.com/400x175/?github
description: API docs for the fieldFormats plugin
-date: 2024-05-20
+date: 2024-05-21
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 870212a3293ee..6c692683ca534 100644
--- a/api_docs/file_upload.mdx
+++ b/api_docs/file_upload.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fileUpload
title: "fileUpload"
image: https://source.unsplash.com/400x175/?github
description: API docs for the fileUpload plugin
-date: 2024-05-20
+date: 2024-05-21
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 7bb838c05c90f..a8f0822dcce5c 100644
--- a/api_docs/files.mdx
+++ b/api_docs/files.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/files
title: "files"
image: https://source.unsplash.com/400x175/?github
description: API docs for the files plugin
-date: 2024-05-20
+date: 2024-05-21
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 ac9ae8788cf90..da07c2c9e15c4 100644
--- a/api_docs/files_management.mdx
+++ b/api_docs/files_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/filesManagement
title: "filesManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the filesManagement plugin
-date: 2024-05-20
+date: 2024-05-21
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 9767c0c9487f8..4cab4f1eb96b0 100644
--- a/api_docs/fleet.devdocs.json
+++ b/api_docs/fleet.devdocs.json
@@ -27389,6 +27389,17 @@
"path": "x-pack/plugins/fleet/common/constants/routes.ts",
"deprecated": false,
"trackAdoption": false
+ },
+ {
+ "parentPluginId": "fleet",
+ "id": "def-common.AGENT_API_ROUTES.DELETE_UPLOAD_FILE_PATTERN",
+ "type": "string",
+ "tags": [],
+ "label": "DELETE_UPLOAD_FILE_PATTERN",
+ "description": [],
+ "path": "x-pack/plugins/fleet/common/constants/routes.ts",
+ "deprecated": false,
+ "trackAdoption": false
}
],
"initialIsOpen": false
@@ -28361,6 +28372,38 @@
],
"returnComment": []
},
+ {
+ "parentPluginId": "fleet",
+ "id": "def-common.agentRouteService.getAgentFileDeletePath",
+ "type": "Function",
+ "tags": [],
+ "label": "getAgentFileDeletePath",
+ "description": [],
+ "signature": [
+ "(fileId: string) => string"
+ ],
+ "path": "x-pack/plugins/fleet/common/services/routes.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "fleet",
+ "id": "def-common.agentRouteService.getAgentFileDeletePath.$1",
+ "type": "string",
+ "tags": [],
+ "label": "fileId",
+ "description": [],
+ "signature": [
+ "string"
+ ],
+ "path": "x-pack/plugins/fleet/common/services/routes.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": true
+ }
+ ],
+ "returnComment": []
+ },
{
"parentPluginId": "fleet",
"id": "def-common.agentRouteService.getAgentsByActionsPath",
diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx
index 75ac3909b9408..6812c5063c514 100644
--- a/api_docs/fleet.mdx
+++ b/api_docs/fleet.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/fleet
title: "fleet"
image: https://source.unsplash.com/400x175/?github
description: API docs for the fleet plugin
-date: 2024-05-20
+date: 2024-05-21
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 |
|-------------------|-----------|------------------------|-----------------|
-| 1305 | 5 | 1184 | 66 |
+| 1308 | 5 | 1187 | 66 |
## Client
diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx
index ee0269cb007a6..b5d06b112b881 100644
--- a/api_docs/global_search.mdx
+++ b/api_docs/global_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/globalSearch
title: "globalSearch"
image: https://source.unsplash.com/400x175/?github
description: API docs for the globalSearch plugin
-date: 2024-05-20
+date: 2024-05-21
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 3541f8296b9b6..82111931abdcf 100644
--- a/api_docs/guided_onboarding.mdx
+++ b/api_docs/guided_onboarding.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/guidedOnboarding
title: "guidedOnboarding"
image: https://source.unsplash.com/400x175/?github
description: API docs for the guidedOnboarding plugin
-date: 2024-05-20
+date: 2024-05-21
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 8f14b511df193..672072da5318f 100644
--- a/api_docs/home.mdx
+++ b/api_docs/home.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/home
title: "home"
image: https://source.unsplash.com/400x175/?github
description: API docs for the home plugin
-date: 2024-05-20
+date: 2024-05-21
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 5f558f384c873..3cc78b07194b7 100644
--- a/api_docs/image_embeddable.mdx
+++ b/api_docs/image_embeddable.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/imageEmbeddable
title: "imageEmbeddable"
image: https://source.unsplash.com/400x175/?github
description: API docs for the imageEmbeddable plugin
-date: 2024-05-20
+date: 2024-05-21
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 3f71772224b12..c1a970c3960f7 100644
--- a/api_docs/index_lifecycle_management.mdx
+++ b/api_docs/index_lifecycle_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexLifecycleManagement
title: "indexLifecycleManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the indexLifecycleManagement plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'indexLifecycleManagement']
---
import indexLifecycleManagementObj from './index_lifecycle_management.devdocs.json';
diff --git a/api_docs/index_management.mdx b/api_docs/index_management.mdx
index ac72aa6d904f7..11616878befde 100644
--- a/api_docs/index_management.mdx
+++ b/api_docs/index_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/indexManagement
title: "indexManagement"
image: https://source.unsplash.com/400x175/?github
description: API docs for the indexManagement plugin
-date: 2024-05-20
+date: 2024-05-21
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 d85f5f4552cb1..0b79d170f8b57 100644
--- a/api_docs/infra.mdx
+++ b/api_docs/infra.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/infra
title: "infra"
image: https://source.unsplash.com/400x175/?github
description: API docs for the infra plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'infra']
---
import infraObj from './infra.devdocs.json';
diff --git a/api_docs/ingest_pipelines.mdx b/api_docs/ingest_pipelines.mdx
index a72b9a6905658..0cdf1a4faf51f 100644
--- a/api_docs/ingest_pipelines.mdx
+++ b/api_docs/ingest_pipelines.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ingestPipelines
title: "ingestPipelines"
image: https://source.unsplash.com/400x175/?github
description: API docs for the ingestPipelines plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ingestPipelines']
---
import ingestPipelinesObj from './ingest_pipelines.devdocs.json';
diff --git a/api_docs/inspector.mdx b/api_docs/inspector.mdx
index ce43a012265d9..8ee4e69fdda84 100644
--- a/api_docs/inspector.mdx
+++ b/api_docs/inspector.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/inspector
title: "inspector"
image: https://source.unsplash.com/400x175/?github
description: API docs for the inspector plugin
-date: 2024-05-20
+date: 2024-05-21
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 5d01194336435..ab7b213498f1b 100644
--- a/api_docs/interactive_setup.mdx
+++ b/api_docs/interactive_setup.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/interactiveSetup
title: "interactiveSetup"
image: https://source.unsplash.com/400x175/?github
description: API docs for the interactiveSetup plugin
-date: 2024-05-20
+date: 2024-05-21
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 75116cba2206b..afc5eced5219b 100644
--- a/api_docs/kbn_ace.mdx
+++ b/api_docs/kbn_ace.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ace
title: "@kbn/ace"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ace plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ace']
---
import kbnAceObj from './kbn_ace.devdocs.json';
diff --git a/api_docs/kbn_actions_types.mdx b/api_docs/kbn_actions_types.mdx
index 2218cc06aec6f..e26e3184d8d9d 100644
--- a/api_docs/kbn_actions_types.mdx
+++ b/api_docs/kbn_actions_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-actions-types
title: "@kbn/actions-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/actions-types plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types']
---
import kbnActionsTypesObj from './kbn_actions_types.devdocs.json';
diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx
index 37b1ce851614a..de54740076465 100644
--- a/api_docs/kbn_aiops_components.mdx
+++ b/api_docs/kbn_aiops_components.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-components
title: "@kbn/aiops-components"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/aiops-components plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components']
---
import kbnAiopsComponentsObj from './kbn_aiops_components.devdocs.json';
diff --git a/api_docs/kbn_aiops_log_pattern_analysis.mdx b/api_docs/kbn_aiops_log_pattern_analysis.mdx
index 6d2d3f466d0b7..86505dababd65 100644
--- a/api_docs/kbn_aiops_log_pattern_analysis.mdx
+++ b/api_docs/kbn_aiops_log_pattern_analysis.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-log-pattern-analysis
title: "@kbn/aiops-log-pattern-analysis"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/aiops-log-pattern-analysis plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-log-pattern-analysis']
---
import kbnAiopsLogPatternAnalysisObj from './kbn_aiops_log_pattern_analysis.devdocs.json';
diff --git a/api_docs/kbn_aiops_log_rate_analysis.mdx b/api_docs/kbn_aiops_log_rate_analysis.mdx
index a244910fe2af8..19d50b3ad6f1c 100644
--- a/api_docs/kbn_aiops_log_rate_analysis.mdx
+++ b/api_docs/kbn_aiops_log_rate_analysis.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-aiops-log-rate-analysis
title: "@kbn/aiops-log-rate-analysis"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/aiops-log-rate-analysis plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-log-rate-analysis']
---
import kbnAiopsLogRateAnalysisObj from './kbn_aiops_log_rate_analysis.devdocs.json';
diff --git a/api_docs/kbn_alerting_api_integration_helpers.mdx b/api_docs/kbn_alerting_api_integration_helpers.mdx
index bd3e35c910950..231b0981f8fd5 100644
--- a/api_docs/kbn_alerting_api_integration_helpers.mdx
+++ b/api_docs/kbn_alerting_api_integration_helpers.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-api-integration-helpers
title: "@kbn/alerting-api-integration-helpers"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerting-api-integration-helpers plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-api-integration-helpers']
---
import kbnAlertingApiIntegrationHelpersObj from './kbn_alerting_api_integration_helpers.devdocs.json';
diff --git a/api_docs/kbn_alerting_state_types.mdx b/api_docs/kbn_alerting_state_types.mdx
index f8a768273a666..925f18a8ed40f 100644
--- a/api_docs/kbn_alerting_state_types.mdx
+++ b/api_docs/kbn_alerting_state_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-state-types
title: "@kbn/alerting-state-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerting-state-types plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-state-types']
---
import kbnAlertingStateTypesObj from './kbn_alerting_state_types.devdocs.json';
diff --git a/api_docs/kbn_alerting_types.mdx b/api_docs/kbn_alerting_types.mdx
index f69d8259e7554..dac12c4b6610c 100644
--- a/api_docs/kbn_alerting_types.mdx
+++ b/api_docs/kbn_alerting_types.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerting-types
title: "@kbn/alerting-types"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerting-types plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/alerting-types']
---
import kbnAlertingTypesObj from './kbn_alerting_types.devdocs.json';
diff --git a/api_docs/kbn_alerts_as_data_utils.mdx b/api_docs/kbn_alerts_as_data_utils.mdx
index a40a003ea3ad4..6074aab369cfd 100644
--- a/api_docs/kbn_alerts_as_data_utils.mdx
+++ b/api_docs/kbn_alerts_as_data_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-as-data-utils
title: "@kbn/alerts-as-data-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerts-as-data-utils plugin
-date: 2024-05-20
+date: 2024-05-21
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 0ceaddc5d97c6..ff23dfc6f4292 100644
--- a/api_docs/kbn_alerts_ui_shared.mdx
+++ b/api_docs/kbn_alerts_ui_shared.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-alerts-ui-shared
title: "@kbn/alerts-ui-shared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/alerts-ui-shared plugin
-date: 2024-05-20
+date: 2024-05-21
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 e6d44f5fc12af..56ed799d5ab03 100644
--- a/api_docs/kbn_analytics.mdx
+++ b/api_docs/kbn_analytics.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics
title: "@kbn/analytics"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics plugin
-date: 2024-05-20
+date: 2024-05-21
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 11475be46c8e8..2f82e9c74fc99 100644
--- a/api_docs/kbn_analytics_client.mdx
+++ b/api_docs/kbn_analytics_client.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-client
title: "@kbn/analytics-client"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-client plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-client']
---
import kbnAnalyticsClientObj from './kbn_analytics_client.devdocs.json';
diff --git a/api_docs/kbn_analytics_collection_utils.mdx b/api_docs/kbn_analytics_collection_utils.mdx
index a63f4e6cc0ff2..ef1746b96a6de 100644
--- a/api_docs/kbn_analytics_collection_utils.mdx
+++ b/api_docs/kbn_analytics_collection_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-collection-utils
title: "@kbn/analytics-collection-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-collection-utils plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-collection-utils']
---
import kbnAnalyticsCollectionUtilsObj from './kbn_analytics_collection_utils.devdocs.json';
diff --git a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx
index 7d57f62f66383..ce5a83b678ec4 100644
--- a/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx
+++ b/api_docs/kbn_analytics_shippers_elastic_v3_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-browser
title: "@kbn/analytics-shippers-elastic-v3-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-shippers-elastic-v3-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 2454fb1be5b45..3240d66b53c1a 100644
--- a/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx
+++ b/api_docs/kbn_analytics_shippers_elastic_v3_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-common
title: "@kbn/analytics-shippers-elastic-v3-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-shippers-elastic-v3-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 3a6988d2f1083..39367c29bc3c5 100644
--- a/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx
+++ b/api_docs/kbn_analytics_shippers_elastic_v3_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-elastic-v3-server
title: "@kbn/analytics-shippers-elastic-v3-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-shippers-elastic-v3-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 2194b53b01c67..9fc7be4585770 100644
--- a/api_docs/kbn_analytics_shippers_fullstory.mdx
+++ b/api_docs/kbn_analytics_shippers_fullstory.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-analytics-shippers-fullstory
title: "@kbn/analytics-shippers-fullstory"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/analytics-shippers-fullstory plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics-shippers-fullstory']
---
import kbnAnalyticsShippersFullstoryObj from './kbn_analytics_shippers_fullstory.devdocs.json';
diff --git a/api_docs/kbn_apm_config_loader.mdx b/api_docs/kbn_apm_config_loader.mdx
index d24056e55af3a..5b1113a7692a4 100644
--- a/api_docs/kbn_apm_config_loader.mdx
+++ b/api_docs/kbn_apm_config_loader.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-config-loader
title: "@kbn/apm-config-loader"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/apm-config-loader plugin
-date: 2024-05-20
+date: 2024-05-21
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_data_view.mdx b/api_docs/kbn_apm_data_view.mdx
index 4ebcfcea51128..8554e502a6866 100644
--- a/api_docs/kbn_apm_data_view.mdx
+++ b/api_docs/kbn_apm_data_view.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-data-view
title: "@kbn/apm-data-view"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/apm-data-view plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/apm-data-view']
---
import kbnApmDataViewObj from './kbn_apm_data_view.devdocs.json';
diff --git a/api_docs/kbn_apm_synthtrace.mdx b/api_docs/kbn_apm_synthtrace.mdx
index 5a2b271647f7a..9cd34ec9160fe 100644
--- a/api_docs/kbn_apm_synthtrace.mdx
+++ b/api_docs/kbn_apm_synthtrace.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace
title: "@kbn/apm-synthtrace"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/apm-synthtrace plugin
-date: 2024-05-20
+date: 2024-05-21
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 33a7e8454d362..d1efdca260000 100644
--- a/api_docs/kbn_apm_synthtrace_client.mdx
+++ b/api_docs/kbn_apm_synthtrace_client.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-synthtrace-client
title: "@kbn/apm-synthtrace-client"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/apm-synthtrace-client plugin
-date: 2024-05-20
+date: 2024-05-21
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 b8771eaff3bb9..981a2d1c01124 100644
--- a/api_docs/kbn_apm_utils.mdx
+++ b/api_docs/kbn_apm_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-apm-utils
title: "@kbn/apm-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/apm-utils plugin
-date: 2024-05-20
+date: 2024-05-21
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 cd2250bbfe5ac..5ff994e9c3807 100644
--- a/api_docs/kbn_axe_config.mdx
+++ b/api_docs/kbn_axe_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-axe-config
title: "@kbn/axe-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/axe-config plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/axe-config']
---
import kbnAxeConfigObj from './kbn_axe_config.devdocs.json';
diff --git a/api_docs/kbn_bfetch_error.mdx b/api_docs/kbn_bfetch_error.mdx
index 18493c8dc8718..db2e7000cadff 100644
--- a/api_docs/kbn_bfetch_error.mdx
+++ b/api_docs/kbn_bfetch_error.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-bfetch-error
title: "@kbn/bfetch-error"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/bfetch-error plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/bfetch-error']
---
import kbnBfetchErrorObj from './kbn_bfetch_error.devdocs.json';
diff --git a/api_docs/kbn_calculate_auto.mdx b/api_docs/kbn_calculate_auto.mdx
index d2b31ce98859c..64d381578b562 100644
--- a/api_docs/kbn_calculate_auto.mdx
+++ b/api_docs/kbn_calculate_auto.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-auto
title: "@kbn/calculate-auto"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/calculate-auto plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-auto']
---
import kbnCalculateAutoObj from './kbn_calculate_auto.devdocs.json';
diff --git a/api_docs/kbn_calculate_width_from_char_count.mdx b/api_docs/kbn_calculate_width_from_char_count.mdx
index 0eee9d95b4a8f..3b38b3b7e866c 100644
--- a/api_docs/kbn_calculate_width_from_char_count.mdx
+++ b/api_docs/kbn_calculate_width_from_char_count.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-calculate-width-from-char-count
title: "@kbn/calculate-width-from-char-count"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/calculate-width-from-char-count plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/calculate-width-from-char-count']
---
import kbnCalculateWidthFromCharCountObj from './kbn_calculate_width_from_char_count.devdocs.json';
diff --git a/api_docs/kbn_cases_components.mdx b/api_docs/kbn_cases_components.mdx
index 29518f89e5848..5dc7f1fb876f1 100644
--- a/api_docs/kbn_cases_components.mdx
+++ b/api_docs/kbn_cases_components.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cases-components
title: "@kbn/cases-components"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/cases-components plugin
-date: 2024-05-20
+date: 2024-05-21
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 6188e8d4e4310..ca3d27b71f473 100644
--- a/api_docs/kbn_cell_actions.mdx
+++ b/api_docs/kbn_cell_actions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cell-actions
title: "@kbn/cell-actions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/cell-actions plugin
-date: 2024-05-20
+date: 2024-05-21
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 d1060783d23e5..11a5b79866b10 100644
--- a/api_docs/kbn_chart_expressions_common.mdx
+++ b/api_docs/kbn_chart_expressions_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-expressions-common
title: "@kbn/chart-expressions-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/chart-expressions-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 534410c9302da..cdc6a0f565e04 100644
--- a/api_docs/kbn_chart_icons.mdx
+++ b/api_docs/kbn_chart_icons.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-chart-icons
title: "@kbn/chart-icons"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/chart-icons plugin
-date: 2024-05-20
+date: 2024-05-21
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 b0e473d635928..db9e773a289fc 100644
--- a/api_docs/kbn_ci_stats_core.mdx
+++ b/api_docs/kbn_ci_stats_core.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-core
title: "@kbn/ci-stats-core"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ci-stats-core plugin
-date: 2024-05-20
+date: 2024-05-21
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 9f8ec810a0beb..86487c67b169c 100644
--- a/api_docs/kbn_ci_stats_performance_metrics.mdx
+++ b/api_docs/kbn_ci_stats_performance_metrics.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-performance-metrics
title: "@kbn/ci-stats-performance-metrics"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ci-stats-performance-metrics plugin
-date: 2024-05-20
+date: 2024-05-21
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 ce73f8f8cca07..8616b3d3f10a1 100644
--- a/api_docs/kbn_ci_stats_reporter.mdx
+++ b/api_docs/kbn_ci_stats_reporter.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ci-stats-reporter
title: "@kbn/ci-stats-reporter"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ci-stats-reporter plugin
-date: 2024-05-20
+date: 2024-05-21
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 69067a211490d..4290c8f0548af 100644
--- a/api_docs/kbn_cli_dev_mode.mdx
+++ b/api_docs/kbn_cli_dev_mode.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cli-dev-mode
title: "@kbn/cli-dev-mode"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/cli-dev-mode plugin
-date: 2024-05-20
+date: 2024-05-21
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 6ab116495d9bb..d70152e49ad99 100644
--- a/api_docs/kbn_code_editor.mdx
+++ b/api_docs/kbn_code_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor
title: "@kbn/code-editor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/code-editor plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor']
---
import kbnCodeEditorObj from './kbn_code_editor.devdocs.json';
diff --git a/api_docs/kbn_code_editor_mock.mdx b/api_docs/kbn_code_editor_mock.mdx
index e5a09418a4cf7..7f5a50ea60493 100644
--- a/api_docs/kbn_code_editor_mock.mdx
+++ b/api_docs/kbn_code_editor_mock.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-editor-mock
title: "@kbn/code-editor-mock"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/code-editor-mock plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-editor-mock']
---
import kbnCodeEditorMockObj from './kbn_code_editor_mock.devdocs.json';
diff --git a/api_docs/kbn_code_owners.mdx b/api_docs/kbn_code_owners.mdx
index 86fa8a1239df4..1225fd91a0ec4 100644
--- a/api_docs/kbn_code_owners.mdx
+++ b/api_docs/kbn_code_owners.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-code-owners
title: "@kbn/code-owners"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/code-owners plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/code-owners']
---
import kbnCodeOwnersObj from './kbn_code_owners.devdocs.json';
diff --git a/api_docs/kbn_coloring.mdx b/api_docs/kbn_coloring.mdx
index cd38f5bf1a8d2..3b3d0b9fd2602 100644
--- a/api_docs/kbn_coloring.mdx
+++ b/api_docs/kbn_coloring.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-coloring
title: "@kbn/coloring"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/coloring plugin
-date: 2024-05-20
+date: 2024-05-21
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 3f71b281bebfe..e95e262ee1245 100644
--- a/api_docs/kbn_config.mdx
+++ b/api_docs/kbn_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config
title: "@kbn/config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/config plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config']
---
import kbnConfigObj from './kbn_config.devdocs.json';
diff --git a/api_docs/kbn_config_mocks.mdx b/api_docs/kbn_config_mocks.mdx
index b860f3d4dbb49..76058ad0f7e24 100644
--- a/api_docs/kbn_config_mocks.mdx
+++ b/api_docs/kbn_config_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-mocks
title: "@kbn/config-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/config-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 99427ae691302..23a5749bbf8b9 100644
--- a/api_docs/kbn_config_schema.mdx
+++ b/api_docs/kbn_config_schema.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-config-schema
title: "@kbn/config-schema"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/config-schema plugin
-date: 2024-05-20
+date: 2024-05-21
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 282e87f93cf19..17903ee2887b9 100644
--- a/api_docs/kbn_content_management_content_editor.mdx
+++ b/api_docs/kbn_content_management_content_editor.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-content-editor
title: "@kbn/content-management-content-editor"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-content-editor plugin
-date: 2024-05-20
+date: 2024-05-21
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 f0730ac49dc9f..f86cf637c3f77 100644
--- a/api_docs/kbn_content_management_tabbed_table_list_view.mdx
+++ b/api_docs/kbn_content_management_tabbed_table_list_view.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-tabbed-table-list-view
title: "@kbn/content-management-tabbed-table-list-view"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-tabbed-table-list-view plugin
-date: 2024-05-20
+date: 2024-05-21
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 e9dd9c590fe78..8a50f3bccb8c6 100644
--- a/api_docs/kbn_content_management_table_list_view.mdx
+++ b/api_docs/kbn_content_management_table_list_view.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view
title: "@kbn/content-management-table-list-view"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-table-list-view plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view']
---
import kbnContentManagementTableListViewObj from './kbn_content_management_table_list_view.devdocs.json';
diff --git a/api_docs/kbn_content_management_table_list_view_common.mdx b/api_docs/kbn_content_management_table_list_view_common.mdx
index 4ea257e9f4693..1bff99f484f51 100644
--- a/api_docs/kbn_content_management_table_list_view_common.mdx
+++ b/api_docs/kbn_content_management_table_list_view_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-common
title: "@kbn/content-management-table-list-view-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-table-list-view-common plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/content-management-table-list-view-common']
---
import kbnContentManagementTableListViewCommonObj from './kbn_content_management_table_list_view_common.devdocs.json';
diff --git a/api_docs/kbn_content_management_table_list_view_table.mdx b/api_docs/kbn_content_management_table_list_view_table.mdx
index eba7e73df28e3..8c6281c1d7c95 100644
--- a/api_docs/kbn_content_management_table_list_view_table.mdx
+++ b/api_docs/kbn_content_management_table_list_view_table.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-table-list-view-table
title: "@kbn/content-management-table-list-view-table"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-table-list-view-table plugin
-date: 2024-05-20
+date: 2024-05-21
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 f5ad856df42f2..5db024b9a19f9 100644
--- a/api_docs/kbn_content_management_utils.mdx
+++ b/api_docs/kbn_content_management_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-content-management-utils
title: "@kbn/content-management-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/content-management-utils plugin
-date: 2024-05-20
+date: 2024-05-21
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 60a7faf24d75e..84efe23ba71d4 100644
--- a/api_docs/kbn_core_analytics_browser.mdx
+++ b/api_docs/kbn_core_analytics_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser
title: "@kbn/core-analytics-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 52d781de782fc..48addf197c45a 100644
--- a/api_docs/kbn_core_analytics_browser_internal.mdx
+++ b/api_docs/kbn_core_analytics_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-internal
title: "@kbn/core-analytics-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 f1cf5126f992e..9987ec96a08f3 100644
--- a/api_docs/kbn_core_analytics_browser_mocks.mdx
+++ b/api_docs/kbn_core_analytics_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-browser-mocks
title: "@kbn/core-analytics-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 2f4a695a3ed53..9e4dc12d40a3d 100644
--- a/api_docs/kbn_core_analytics_server.mdx
+++ b/api_docs/kbn_core_analytics_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server
title: "@kbn/core-analytics-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 eff968fe20d2d..a86b8b4214e72 100644
--- a/api_docs/kbn_core_analytics_server_internal.mdx
+++ b/api_docs/kbn_core_analytics_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-internal
title: "@kbn/core-analytics-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 185158860feee..7a96c8128d085 100644
--- a/api_docs/kbn_core_analytics_server_mocks.mdx
+++ b/api_docs/kbn_core_analytics_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-analytics-server-mocks
title: "@kbn/core-analytics-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-analytics-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 3d0ea8e3ec7d6..1c805c411eaaf 100644
--- a/api_docs/kbn_core_application_browser.mdx
+++ b/api_docs/kbn_core_application_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser
title: "@kbn/core-application-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-application-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 ecc47ebaa0cfc..ba5717307fb0a 100644
--- a/api_docs/kbn_core_application_browser_internal.mdx
+++ b/api_docs/kbn_core_application_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-internal
title: "@kbn/core-application-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-application-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-application-browser-internal']
---
import kbnCoreApplicationBrowserInternalObj from './kbn_core_application_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_application_browser_mocks.mdx b/api_docs/kbn_core_application_browser_mocks.mdx
index c776bc132b635..a3bfbbb43b0f1 100644
--- a/api_docs/kbn_core_application_browser_mocks.mdx
+++ b/api_docs/kbn_core_application_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-browser-mocks
title: "@kbn/core-application-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-application-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 9e4c892189ffa..ac8527534d296 100644
--- a/api_docs/kbn_core_application_common.mdx
+++ b/api_docs/kbn_core_application_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-application-common
title: "@kbn/core-application-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-application-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 c7cdaa131350d..64d4d7c5617cd 100644
--- a/api_docs/kbn_core_apps_browser_internal.mdx
+++ b/api_docs/kbn_core_apps_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-internal
title: "@kbn/core-apps-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-apps-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 8b8ceb5dcdc30..98eac7c903d80 100644
--- a/api_docs/kbn_core_apps_browser_mocks.mdx
+++ b/api_docs/kbn_core_apps_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-browser-mocks
title: "@kbn/core-apps-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-apps-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 86c9e52e0e3f0..effbb223c8b5a 100644
--- a/api_docs/kbn_core_apps_server_internal.mdx
+++ b/api_docs/kbn_core_apps_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-apps-server-internal
title: "@kbn/core-apps-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-apps-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 81f88c68b532c..a038cbfdbfc4c 100644
--- a/api_docs/kbn_core_base_browser_mocks.mdx
+++ b/api_docs/kbn_core_base_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-browser-mocks
title: "@kbn/core-base-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-base-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 119defe80e8d8..0eb6d780baf6a 100644
--- a/api_docs/kbn_core_base_common.mdx
+++ b/api_docs/kbn_core_base_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-common
title: "@kbn/core-base-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-base-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 c2898e2946b88..411d63eff470d 100644
--- a/api_docs/kbn_core_base_server_internal.mdx
+++ b/api_docs/kbn_core_base_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-internal
title: "@kbn/core-base-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-base-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 5f13b1c5433d8..9be18c065bcfa 100644
--- a/api_docs/kbn_core_base_server_mocks.mdx
+++ b/api_docs/kbn_core_base_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-base-server-mocks
title: "@kbn/core-base-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-base-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 b52877a793a78..3f9f6c5d89be9 100644
--- a/api_docs/kbn_core_capabilities_browser_mocks.mdx
+++ b/api_docs/kbn_core_capabilities_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-browser-mocks
title: "@kbn/core-capabilities-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-capabilities-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 893d300a007c7..c62456937b33d 100644
--- a/api_docs/kbn_core_capabilities_common.mdx
+++ b/api_docs/kbn_core_capabilities_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-common
title: "@kbn/core-capabilities-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-capabilities-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 a79edf2889cc0..07f379942fa21 100644
--- a/api_docs/kbn_core_capabilities_server.mdx
+++ b/api_docs/kbn_core_capabilities_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server
title: "@kbn/core-capabilities-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-capabilities-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 af6110cdeb0d0..0a78e0f36196b 100644
--- a/api_docs/kbn_core_capabilities_server_mocks.mdx
+++ b/api_docs/kbn_core_capabilities_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-capabilities-server-mocks
title: "@kbn/core-capabilities-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-capabilities-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 561f388dc4856..6ddd27acb6675 100644
--- a/api_docs/kbn_core_chrome_browser.mdx
+++ b/api_docs/kbn_core_chrome_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser
title: "@kbn/core-chrome-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-chrome-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 6b1c3c2669c58..06cd5f2c24107 100644
--- a/api_docs/kbn_core_chrome_browser_mocks.mdx
+++ b/api_docs/kbn_core_chrome_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-chrome-browser-mocks
title: "@kbn/core-chrome-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-chrome-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 809ec82628dc2..45c42785dde0b 100644
--- a/api_docs/kbn_core_config_server_internal.mdx
+++ b/api_docs/kbn_core_config_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-config-server-internal
title: "@kbn/core-config-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-config-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 1888c71dc222e..ce2996b119a51 100644
--- a/api_docs/kbn_core_custom_branding_browser.mdx
+++ b/api_docs/kbn_core_custom_branding_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser
title: "@kbn/core-custom-branding-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 d872ef0b244f0..60aef229bbb44 100644
--- a/api_docs/kbn_core_custom_branding_browser_internal.mdx
+++ b/api_docs/kbn_core_custom_branding_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-internal
title: "@kbn/core-custom-branding-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 8dc1b7e7b1d64..3509cd9d53419 100644
--- a/api_docs/kbn_core_custom_branding_browser_mocks.mdx
+++ b/api_docs/kbn_core_custom_branding_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-browser-mocks
title: "@kbn/core-custom-branding-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 c71457189c7b0..e04f152ef0112 100644
--- a/api_docs/kbn_core_custom_branding_common.mdx
+++ b/api_docs/kbn_core_custom_branding_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-common
title: "@kbn/core-custom-branding-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 cd134fe1ca899..72dcad581873d 100644
--- a/api_docs/kbn_core_custom_branding_server.mdx
+++ b/api_docs/kbn_core_custom_branding_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server
title: "@kbn/core-custom-branding-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 30e01ce4f57fe..ad15c5e0be901 100644
--- a/api_docs/kbn_core_custom_branding_server_internal.mdx
+++ b/api_docs/kbn_core_custom_branding_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-internal
title: "@kbn/core-custom-branding-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-custom-branding-server-internal']
---
import kbnCoreCustomBrandingServerInternalObj from './kbn_core_custom_branding_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_custom_branding_server_mocks.mdx b/api_docs/kbn_core_custom_branding_server_mocks.mdx
index 3dd58bffce2a1..727d38f12c51c 100644
--- a/api_docs/kbn_core_custom_branding_server_mocks.mdx
+++ b/api_docs/kbn_core_custom_branding_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-custom-branding-server-mocks
title: "@kbn/core-custom-branding-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-custom-branding-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 bb4457182fb78..a5d11dd99b118 100644
--- a/api_docs/kbn_core_deprecations_browser.mdx
+++ b/api_docs/kbn_core_deprecations_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser
title: "@kbn/core-deprecations-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 b92742537b0cf..77fbf58a23b2f 100644
--- a/api_docs/kbn_core_deprecations_browser_internal.mdx
+++ b/api_docs/kbn_core_deprecations_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-internal
title: "@kbn/core-deprecations-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 5a8c0b1d390ec..3fbf18af55c0c 100644
--- a/api_docs/kbn_core_deprecations_browser_mocks.mdx
+++ b/api_docs/kbn_core_deprecations_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-browser-mocks
title: "@kbn/core-deprecations-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 11cbe6769aca8..79de786d4ee07 100644
--- a/api_docs/kbn_core_deprecations_common.mdx
+++ b/api_docs/kbn_core_deprecations_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-common
title: "@kbn/core-deprecations-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 4ebdebbcefc41..3f3637aafe914 100644
--- a/api_docs/kbn_core_deprecations_server.mdx
+++ b/api_docs/kbn_core_deprecations_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server
title: "@kbn/core-deprecations-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 d1d60c1286e56..735124fe5edc9 100644
--- a/api_docs/kbn_core_deprecations_server_internal.mdx
+++ b/api_docs/kbn_core_deprecations_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-internal
title: "@kbn/core-deprecations-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 65ddf2ae2bfa3..7be7bf6f41b8c 100644
--- a/api_docs/kbn_core_deprecations_server_mocks.mdx
+++ b/api_docs/kbn_core_deprecations_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-deprecations-server-mocks
title: "@kbn/core-deprecations-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-deprecations-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 21b4324465695..a818c75c1d48e 100644
--- a/api_docs/kbn_core_doc_links_browser.mdx
+++ b/api_docs/kbn_core_doc_links_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser
title: "@kbn/core-doc-links-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-doc-links-browser plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-doc-links-browser']
---
import kbnCoreDocLinksBrowserObj from './kbn_core_doc_links_browser.devdocs.json';
diff --git a/api_docs/kbn_core_doc_links_browser_mocks.mdx b/api_docs/kbn_core_doc_links_browser_mocks.mdx
index 936e409ff66d3..ada1a389551b6 100644
--- a/api_docs/kbn_core_doc_links_browser_mocks.mdx
+++ b/api_docs/kbn_core_doc_links_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-browser-mocks
title: "@kbn/core-doc-links-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-doc-links-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 8b86585b41685..b6e48d96fcb19 100644
--- a/api_docs/kbn_core_doc_links_server.mdx
+++ b/api_docs/kbn_core_doc_links_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server
title: "@kbn/core-doc-links-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-doc-links-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 58cb78c71fe10..1766a73c5f660 100644
--- a/api_docs/kbn_core_doc_links_server_mocks.mdx
+++ b/api_docs/kbn_core_doc_links_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-doc-links-server-mocks
title: "@kbn/core-doc-links-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-doc-links-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 8ac84befbf69c..1f21d0b643ab8 100644
--- a/api_docs/kbn_core_elasticsearch_client_server_internal.mdx
+++ b/api_docs/kbn_core_elasticsearch_client_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-internal
title: "@kbn/core-elasticsearch-client-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-client-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-client-server-internal']
---
import kbnCoreElasticsearchClientServerInternalObj from './kbn_core_elasticsearch_client_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx
index 30511a404be73..65580810ba245 100644
--- a/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx
+++ b/api_docs/kbn_core_elasticsearch_client_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-client-server-mocks
title: "@kbn/core-elasticsearch-client-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-client-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 d0ff8f1de473f..eee212da47264 100644
--- a/api_docs/kbn_core_elasticsearch_server.mdx
+++ b/api_docs/kbn_core_elasticsearch_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server
title: "@kbn/core-elasticsearch-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 d7f6cc3720387..a171ecc7cc4bb 100644
--- a/api_docs/kbn_core_elasticsearch_server_internal.mdx
+++ b/api_docs/kbn_core_elasticsearch_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-internal
title: "@kbn/core-elasticsearch-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-elasticsearch-server-internal']
---
import kbnCoreElasticsearchServerInternalObj from './kbn_core_elasticsearch_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_elasticsearch_server_mocks.mdx b/api_docs/kbn_core_elasticsearch_server_mocks.mdx
index fac72a013f43b..f7a26bb71fbdc 100644
--- a/api_docs/kbn_core_elasticsearch_server_mocks.mdx
+++ b/api_docs/kbn_core_elasticsearch_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-elasticsearch-server-mocks
title: "@kbn/core-elasticsearch-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-elasticsearch-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 4127b49887220..5345e4ba14045 100644
--- a/api_docs/kbn_core_environment_server_internal.mdx
+++ b/api_docs/kbn_core_environment_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-internal
title: "@kbn/core-environment-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-environment-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 cdeced5ebdd5f..4bac1efcf366b 100644
--- a/api_docs/kbn_core_environment_server_mocks.mdx
+++ b/api_docs/kbn_core_environment_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-environment-server-mocks
title: "@kbn/core-environment-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-environment-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 013294e2d7622..69257f9ba447a 100644
--- a/api_docs/kbn_core_execution_context_browser.mdx
+++ b/api_docs/kbn_core_execution_context_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser
title: "@kbn/core-execution-context-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 8621e8d3c2e2e..6bff2e205795b 100644
--- a/api_docs/kbn_core_execution_context_browser_internal.mdx
+++ b/api_docs/kbn_core_execution_context_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-internal
title: "@kbn/core-execution-context-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 69587202b0f55..05f5c88695f86 100644
--- a/api_docs/kbn_core_execution_context_browser_mocks.mdx
+++ b/api_docs/kbn_core_execution_context_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-browser-mocks
title: "@kbn/core-execution-context-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 2c43e99c5be70..fe68d9db331bb 100644
--- a/api_docs/kbn_core_execution_context_common.mdx
+++ b/api_docs/kbn_core_execution_context_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-common
title: "@kbn/core-execution-context-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 650c2c5883b56..d3ed9407dffa3 100644
--- a/api_docs/kbn_core_execution_context_server.mdx
+++ b/api_docs/kbn_core_execution_context_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server
title: "@kbn/core-execution-context-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 58ee74f837063..156aefa40e543 100644
--- a/api_docs/kbn_core_execution_context_server_internal.mdx
+++ b/api_docs/kbn_core_execution_context_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-internal
title: "@kbn/core-execution-context-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 a1a31922adb06..ebf5bc3981120 100644
--- a/api_docs/kbn_core_execution_context_server_mocks.mdx
+++ b/api_docs/kbn_core_execution_context_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-execution-context-server-mocks
title: "@kbn/core-execution-context-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-execution-context-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 81ffc36c9db11..a87a8b446be9b 100644
--- a/api_docs/kbn_core_fatal_errors_browser.mdx
+++ b/api_docs/kbn_core_fatal_errors_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser
title: "@kbn/core-fatal-errors-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-fatal-errors-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 d79fa0cc8cb87..64c1c6285c5b0 100644
--- a/api_docs/kbn_core_fatal_errors_browser_mocks.mdx
+++ b/api_docs/kbn_core_fatal_errors_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-fatal-errors-browser-mocks
title: "@kbn/core-fatal-errors-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-fatal-errors-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 2ffc1dac97282..8a9d0782da7d3 100644
--- a/api_docs/kbn_core_http_browser.mdx
+++ b/api_docs/kbn_core_http_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser
title: "@kbn/core-http-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 51ab111ca359b..e8b52ca7be7d9 100644
--- a/api_docs/kbn_core_http_browser_internal.mdx
+++ b/api_docs/kbn_core_http_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-internal
title: "@kbn/core-http-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-browser-internal']
---
import kbnCoreHttpBrowserInternalObj from './kbn_core_http_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_http_browser_mocks.mdx b/api_docs/kbn_core_http_browser_mocks.mdx
index 426ce00b4bd15..878a78ddcbb47 100644
--- a/api_docs/kbn_core_http_browser_mocks.mdx
+++ b/api_docs/kbn_core_http_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-browser-mocks
title: "@kbn/core-http-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 9d396f7034a82..c03d22d3dcd4d 100644
--- a/api_docs/kbn_core_http_common.mdx
+++ b/api_docs/kbn_core_http_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-common
title: "@kbn/core-http-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-common plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-common']
---
import kbnCoreHttpCommonObj from './kbn_core_http_common.devdocs.json';
diff --git a/api_docs/kbn_core_http_context_server_mocks.mdx b/api_docs/kbn_core_http_context_server_mocks.mdx
index f1d3850165adb..9853283bd7a6b 100644
--- a/api_docs/kbn_core_http_context_server_mocks.mdx
+++ b/api_docs/kbn_core_http_context_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-context-server-mocks
title: "@kbn/core-http-context-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-context-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 41b759d54336b..cdb221757ff38 100644
--- a/api_docs/kbn_core_http_request_handler_context_server.mdx
+++ b/api_docs/kbn_core_http_request_handler_context_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-request-handler-context-server
title: "@kbn/core-http-request-handler-context-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-request-handler-context-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 510eb73db7c09..196a576faa9c4 100644
--- a/api_docs/kbn_core_http_resources_server.mdx
+++ b/api_docs/kbn_core_http_resources_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server
title: "@kbn/core-http-resources-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-resources-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 c5f3f2ba85268..09429bb7cc45c 100644
--- a/api_docs/kbn_core_http_resources_server_internal.mdx
+++ b/api_docs/kbn_core_http_resources_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-internal
title: "@kbn/core-http-resources-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-resources-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-resources-server-internal']
---
import kbnCoreHttpResourcesServerInternalObj from './kbn_core_http_resources_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_http_resources_server_mocks.mdx b/api_docs/kbn_core_http_resources_server_mocks.mdx
index f6791e889e18f..2fa8c727c2cf4 100644
--- a/api_docs/kbn_core_http_resources_server_mocks.mdx
+++ b/api_docs/kbn_core_http_resources_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-resources-server-mocks
title: "@kbn/core-http-resources-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-resources-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 32b1a6dcafc43..a476ab2c88c5b 100644
--- a/api_docs/kbn_core_http_router_server_internal.mdx
+++ b/api_docs/kbn_core_http_router_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-internal
title: "@kbn/core-http-router-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-router-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal']
---
import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx
index f5febc6f53764..f3cb3cb789c95 100644
--- a/api_docs/kbn_core_http_router_server_mocks.mdx
+++ b/api_docs/kbn_core_http_router_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-router-server-mocks
title: "@kbn/core-http-router-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-router-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 33341437b0c70..bc7e599284bc6 100644
--- a/api_docs/kbn_core_http_server.devdocs.json
+++ b/api_docs/kbn_core_http_server.devdocs.json
@@ -16017,6 +16017,10 @@
"plugin": "synthetics",
"path": "x-pack/plugins/observability_solution/synthetics/server/server.ts"
},
+ {
+ "plugin": "elasticAssistant",
+ "path": "x-pack/plugins/elastic_assistant/server/routes/knowledge_base/entries/create_route.ts"
+ },
{
"plugin": "controls",
"path": "src/plugins/controls/server/options_list/options_list_suggestions_route.ts"
diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx
index cfd001143db62..10620dd88d449 100644
--- a/api_docs/kbn_core_http_server.mdx
+++ b/api_docs/kbn_core_http_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server
title: "@kbn/core-http-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 f12330784e868..e942d48af5b7d 100644
--- a/api_docs/kbn_core_http_server_internal.mdx
+++ b/api_docs/kbn_core_http_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-internal
title: "@kbn/core-http-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal']
---
import kbnCoreHttpServerInternalObj from './kbn_core_http_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx
index ae39c8aa3f7a7..4c4715d702c3a 100644
--- a/api_docs/kbn_core_http_server_mocks.mdx
+++ b/api_docs/kbn_core_http_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-http-server-mocks
title: "@kbn/core-http-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-http-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 23a25a57d3eb2..c932da1756522 100644
--- a/api_docs/kbn_core_i18n_browser.mdx
+++ b/api_docs/kbn_core_i18n_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser
title: "@kbn/core-i18n-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 8ad00b1a48823..f238a9bb97c59 100644
--- a/api_docs/kbn_core_i18n_browser_mocks.mdx
+++ b/api_docs/kbn_core_i18n_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-browser-mocks
title: "@kbn/core-i18n-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 32cd401da773a..aaee85c887187 100644
--- a/api_docs/kbn_core_i18n_server.mdx
+++ b/api_docs/kbn_core_i18n_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server
title: "@kbn/core-i18n-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 0854f4c38ea98..216d0a76e0a13 100644
--- a/api_docs/kbn_core_i18n_server_internal.mdx
+++ b/api_docs/kbn_core_i18n_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-internal
title: "@kbn/core-i18n-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 7f47ab316c544..88eac30a0bd4b 100644
--- a/api_docs/kbn_core_i18n_server_mocks.mdx
+++ b/api_docs/kbn_core_i18n_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-i18n-server-mocks
title: "@kbn/core-i18n-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-i18n-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 34a1c90381629..fc1270bdb981d 100644
--- a/api_docs/kbn_core_injected_metadata_browser_mocks.mdx
+++ b/api_docs/kbn_core_injected_metadata_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-injected-metadata-browser-mocks
title: "@kbn/core-injected-metadata-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-injected-metadata-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 9c91f7b5c652e..db683a698abce 100644
--- a/api_docs/kbn_core_integrations_browser_internal.mdx
+++ b/api_docs/kbn_core_integrations_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-internal
title: "@kbn/core-integrations-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-integrations-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-integrations-browser-internal']
---
import kbnCoreIntegrationsBrowserInternalObj from './kbn_core_integrations_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_integrations_browser_mocks.mdx b/api_docs/kbn_core_integrations_browser_mocks.mdx
index 84709ef3d39ae..df19f19a83e7e 100644
--- a/api_docs/kbn_core_integrations_browser_mocks.mdx
+++ b/api_docs/kbn_core_integrations_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-integrations-browser-mocks
title: "@kbn/core-integrations-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-integrations-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 1b414a10e89b7..d884c97064898 100644
--- a/api_docs/kbn_core_lifecycle_browser.mdx
+++ b/api_docs/kbn_core_lifecycle_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser
title: "@kbn/core-lifecycle-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-lifecycle-browser plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-browser']
---
import kbnCoreLifecycleBrowserObj from './kbn_core_lifecycle_browser.devdocs.json';
diff --git a/api_docs/kbn_core_lifecycle_browser_mocks.mdx b/api_docs/kbn_core_lifecycle_browser_mocks.mdx
index de22679913fb2..16961e1955753 100644
--- a/api_docs/kbn_core_lifecycle_browser_mocks.mdx
+++ b/api_docs/kbn_core_lifecycle_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-browser-mocks
title: "@kbn/core-lifecycle-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-lifecycle-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 d25d1d6e7ca21..ca0f5b0a05034 100644
--- a/api_docs/kbn_core_lifecycle_server.mdx
+++ b/api_docs/kbn_core_lifecycle_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server
title: "@kbn/core-lifecycle-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-lifecycle-server plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-lifecycle-server']
---
import kbnCoreLifecycleServerObj from './kbn_core_lifecycle_server.devdocs.json';
diff --git a/api_docs/kbn_core_lifecycle_server_mocks.mdx b/api_docs/kbn_core_lifecycle_server_mocks.mdx
index ee4919ebf5e8a..45ae482982aee 100644
--- a/api_docs/kbn_core_lifecycle_server_mocks.mdx
+++ b/api_docs/kbn_core_lifecycle_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-lifecycle-server-mocks
title: "@kbn/core-lifecycle-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-lifecycle-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 1714bfd184514..64858847dda0f 100644
--- a/api_docs/kbn_core_logging_browser_mocks.mdx
+++ b/api_docs/kbn_core_logging_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-browser-mocks
title: "@kbn/core-logging-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 1880edca44f26..cfa1fbe582421 100644
--- a/api_docs/kbn_core_logging_common_internal.mdx
+++ b/api_docs/kbn_core_logging_common_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-common-internal
title: "@kbn/core-logging-common-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-common-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 c552d5b5c66d8..dc6528e53de59 100644
--- a/api_docs/kbn_core_logging_server.mdx
+++ b/api_docs/kbn_core_logging_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server
title: "@kbn/core-logging-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 e23a75f178d16..fa536dcc16259 100644
--- a/api_docs/kbn_core_logging_server_internal.mdx
+++ b/api_docs/kbn_core_logging_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-internal
title: "@kbn/core-logging-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 fa24293b7e312..fe5deb1657526 100644
--- a/api_docs/kbn_core_logging_server_mocks.mdx
+++ b/api_docs/kbn_core_logging_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-logging-server-mocks
title: "@kbn/core-logging-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-logging-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 f3b2b9e9767aa..403af98f43e92 100644
--- a/api_docs/kbn_core_metrics_collectors_server_internal.mdx
+++ b/api_docs/kbn_core_metrics_collectors_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-internal
title: "@kbn/core-metrics-collectors-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-collectors-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 0d9a4d1466990..dca8559402417 100644
--- a/api_docs/kbn_core_metrics_collectors_server_mocks.mdx
+++ b/api_docs/kbn_core_metrics_collectors_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-collectors-server-mocks
title: "@kbn/core-metrics-collectors-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-collectors-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 6d5a874cdcab8..98156fe581aed 100644
--- a/api_docs/kbn_core_metrics_server.mdx
+++ b/api_docs/kbn_core_metrics_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server
title: "@kbn/core-metrics-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 b3f6385ab4c76..65d81d3719530 100644
--- a/api_docs/kbn_core_metrics_server_internal.mdx
+++ b/api_docs/kbn_core_metrics_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-internal
title: "@kbn/core-metrics-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 74375c8683d14..132e06155928f 100644
--- a/api_docs/kbn_core_metrics_server_mocks.mdx
+++ b/api_docs/kbn_core_metrics_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-metrics-server-mocks
title: "@kbn/core-metrics-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-metrics-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 f40af57c33616..34201d5a834cb 100644
--- a/api_docs/kbn_core_mount_utils_browser.mdx
+++ b/api_docs/kbn_core_mount_utils_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-mount-utils-browser
title: "@kbn/core-mount-utils-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-mount-utils-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 0d23253462dfb..e872a6cd3b1db 100644
--- a/api_docs/kbn_core_node_server.mdx
+++ b/api_docs/kbn_core_node_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server
title: "@kbn/core-node-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-node-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 3687e2abd36c7..148dc728e8ce9 100644
--- a/api_docs/kbn_core_node_server_internal.mdx
+++ b/api_docs/kbn_core_node_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-internal
title: "@kbn/core-node-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-node-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 394035fd76cfd..254ba75a86b3f 100644
--- a/api_docs/kbn_core_node_server_mocks.mdx
+++ b/api_docs/kbn_core_node_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-node-server-mocks
title: "@kbn/core-node-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-node-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 79b00ba864792..8fea11522f70a 100644
--- a/api_docs/kbn_core_notifications_browser.mdx
+++ b/api_docs/kbn_core_notifications_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser
title: "@kbn/core-notifications-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-notifications-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 64b82ef3698b9..01f71ada1bac7 100644
--- a/api_docs/kbn_core_notifications_browser_internal.mdx
+++ b/api_docs/kbn_core_notifications_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-internal
title: "@kbn/core-notifications-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-notifications-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 d754835110cb8..b5e5d770e8b5a 100644
--- a/api_docs/kbn_core_notifications_browser_mocks.mdx
+++ b/api_docs/kbn_core_notifications_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-notifications-browser-mocks
title: "@kbn/core-notifications-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-notifications-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 477ae5b057835..92789ea95228c 100644
--- a/api_docs/kbn_core_overlays_browser.mdx
+++ b/api_docs/kbn_core_overlays_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser
title: "@kbn/core-overlays-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-overlays-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 3327fa9b318ae..54e92a8565571 100644
--- a/api_docs/kbn_core_overlays_browser_internal.mdx
+++ b/api_docs/kbn_core_overlays_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-internal
title: "@kbn/core-overlays-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-overlays-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 c657290d23f3b..46dc987555e2e 100644
--- a/api_docs/kbn_core_overlays_browser_mocks.mdx
+++ b/api_docs/kbn_core_overlays_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-overlays-browser-mocks
title: "@kbn/core-overlays-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-overlays-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 f87edc5118822..cc74e9f929c63 100644
--- a/api_docs/kbn_core_plugins_browser.mdx
+++ b/api_docs/kbn_core_plugins_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser
title: "@kbn/core-plugins-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 6a85a491636be..b25ef90189874 100644
--- a/api_docs/kbn_core_plugins_browser_mocks.mdx
+++ b/api_docs/kbn_core_plugins_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-browser-mocks
title: "@kbn/core-plugins-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-browser-mocks']
---
import kbnCorePluginsBrowserMocksObj from './kbn_core_plugins_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_plugins_contracts_browser.mdx b/api_docs/kbn_core_plugins_contracts_browser.mdx
index a147aae398d78..eee0260280ea6 100644
--- a/api_docs/kbn_core_plugins_contracts_browser.mdx
+++ b/api_docs/kbn_core_plugins_contracts_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-browser
title: "@kbn/core-plugins-contracts-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-contracts-browser plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-browser']
---
import kbnCorePluginsContractsBrowserObj from './kbn_core_plugins_contracts_browser.devdocs.json';
diff --git a/api_docs/kbn_core_plugins_contracts_server.mdx b/api_docs/kbn_core_plugins_contracts_server.mdx
index 41d446c49fd61..ce757748d30b0 100644
--- a/api_docs/kbn_core_plugins_contracts_server.mdx
+++ b/api_docs/kbn_core_plugins_contracts_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-contracts-server
title: "@kbn/core-plugins-contracts-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-contracts-server plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-plugins-contracts-server']
---
import kbnCorePluginsContractsServerObj from './kbn_core_plugins_contracts_server.devdocs.json';
diff --git a/api_docs/kbn_core_plugins_server.mdx b/api_docs/kbn_core_plugins_server.mdx
index b088e990af2aa..92368d680c928 100644
--- a/api_docs/kbn_core_plugins_server.mdx
+++ b/api_docs/kbn_core_plugins_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server
title: "@kbn/core-plugins-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 e93e9f10e0655..93ecf1f1574fe 100644
--- a/api_docs/kbn_core_plugins_server_mocks.mdx
+++ b/api_docs/kbn_core_plugins_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-plugins-server-mocks
title: "@kbn/core-plugins-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-plugins-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 6f5cdb2cc81af..8c54aa97e4fe1 100644
--- a/api_docs/kbn_core_preboot_server.mdx
+++ b/api_docs/kbn_core_preboot_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server
title: "@kbn/core-preboot-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-preboot-server plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-preboot-server']
---
import kbnCorePrebootServerObj from './kbn_core_preboot_server.devdocs.json';
diff --git a/api_docs/kbn_core_preboot_server_mocks.mdx b/api_docs/kbn_core_preboot_server_mocks.mdx
index c7620c8dab10a..ef034254b46da 100644
--- a/api_docs/kbn_core_preboot_server_mocks.mdx
+++ b/api_docs/kbn_core_preboot_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-preboot-server-mocks
title: "@kbn/core-preboot-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-preboot-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 983f50bf92863..54cf6156507a4 100644
--- a/api_docs/kbn_core_rendering_browser_mocks.mdx
+++ b/api_docs/kbn_core_rendering_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-browser-mocks
title: "@kbn/core-rendering-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-rendering-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 8edd076bae49f..a6b3f62735d31 100644
--- a/api_docs/kbn_core_rendering_server_internal.mdx
+++ b/api_docs/kbn_core_rendering_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-internal
title: "@kbn/core-rendering-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-rendering-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 a6c75edb284e3..56968d88c3735 100644
--- a/api_docs/kbn_core_rendering_server_mocks.mdx
+++ b/api_docs/kbn_core_rendering_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-rendering-server-mocks
title: "@kbn/core-rendering-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-rendering-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 646f86ddffb1d..3a33b1c688999 100644
--- a/api_docs/kbn_core_root_server_internal.mdx
+++ b/api_docs/kbn_core_root_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-root-server-internal
title: "@kbn/core-root-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-root-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 d054658727353..ad0bc1e878c5f 100644
--- a/api_docs/kbn_core_saved_objects_api_browser.mdx
+++ b/api_docs/kbn_core_saved_objects_api_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-browser
title: "@kbn/core-saved-objects-api-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-api-browser plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-browser']
---
import kbnCoreSavedObjectsApiBrowserObj from './kbn_core_saved_objects_api_browser.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_api_server.mdx b/api_docs/kbn_core_saved_objects_api_server.mdx
index bf16f75d077d5..931bc0e436d2d 100644
--- a/api_docs/kbn_core_saved_objects_api_server.mdx
+++ b/api_docs/kbn_core_saved_objects_api_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server
title: "@kbn/core-saved-objects-api-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-api-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 69104f882c95b..ee3aa2fb3eb4a 100644
--- a/api_docs/kbn_core_saved_objects_api_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_api_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-api-server-mocks
title: "@kbn/core-saved-objects-api-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-api-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 1215cbdf6be48..f21e3b41a8820 100644
--- a/api_docs/kbn_core_saved_objects_base_server_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_base_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-internal
title: "@kbn/core-saved-objects-base-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-base-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 c684ae28d93d7..9ef5ce8c2f862 100644
--- a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-base-server-mocks
title: "@kbn/core-saved-objects-base-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-base-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 873f0c5a8ca7c..849a57777e1a8 100644
--- a/api_docs/kbn_core_saved_objects_browser.mdx
+++ b/api_docs/kbn_core_saved_objects_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser
title: "@kbn/core-saved-objects-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 558e408949bc1..03c0992651f89 100644
--- a/api_docs/kbn_core_saved_objects_browser_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-internal
title: "@kbn/core-saved-objects-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 385b9057258c1..891eeef901294 100644
--- a/api_docs/kbn_core_saved_objects_browser_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-browser-mocks
title: "@kbn/core-saved-objects-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 0567167730911..964831594087b 100644
--- a/api_docs/kbn_core_saved_objects_common.mdx
+++ b/api_docs/kbn_core_saved_objects_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-common
title: "@kbn/core-saved-objects-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 787138c6f15cf..7d5408d4013ae 100644
--- a/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_import_export_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-internal
title: "@kbn/core-saved-objects-import-export-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-import-export-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 af20d6a5b716a..bfd42adfe619a 100644
--- a/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_import_export_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-import-export-server-mocks
title: "@kbn/core-saved-objects-import-export-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-import-export-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 547e8c067421e..0267126c7155e 100644
--- a/api_docs/kbn_core_saved_objects_migration_server_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_migration_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-internal
title: "@kbn/core-saved-objects-migration-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-migration-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 afc85c60d3b77..cf8ad7cfa7a4a 100644
--- a/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_migration_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-migration-server-mocks
title: "@kbn/core-saved-objects-migration-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-migration-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-migration-server-mocks']
---
import kbnCoreSavedObjectsMigrationServerMocksObj from './kbn_core_saved_objects_migration_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_saved_objects_server.mdx b/api_docs/kbn_core_saved_objects_server.mdx
index 7a316b93c571d..277f6ca3178bd 100644
--- a/api_docs/kbn_core_saved_objects_server.mdx
+++ b/api_docs/kbn_core_saved_objects_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server
title: "@kbn/core-saved-objects-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 3d4f73061547b..45913c8764915 100644
--- a/api_docs/kbn_core_saved_objects_server_internal.mdx
+++ b/api_docs/kbn_core_saved_objects_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-internal
title: "@kbn/core-saved-objects-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 9075e80015302..73c19e3ef1e73 100644
--- a/api_docs/kbn_core_saved_objects_server_mocks.mdx
+++ b/api_docs/kbn_core_saved_objects_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-server-mocks
title: "@kbn/core-saved-objects-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 4cd03e888abab..2cca629fafa55 100644
--- a/api_docs/kbn_core_saved_objects_utils_server.mdx
+++ b/api_docs/kbn_core_saved_objects_utils_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-saved-objects-utils-server
title: "@kbn/core-saved-objects-utils-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-saved-objects-utils-server plugin
-date: 2024-05-20
+date: 2024-05-21
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_security_browser.mdx b/api_docs/kbn_core_security_browser.mdx
index a130b207b281d..8503558028983 100644
--- a/api_docs/kbn_core_security_browser.mdx
+++ b/api_docs/kbn_core_security_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-browser
title: "@kbn/core-security-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-security-browser plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-browser']
---
import kbnCoreSecurityBrowserObj from './kbn_core_security_browser.devdocs.json';
diff --git a/api_docs/kbn_core_security_browser_internal.mdx b/api_docs/kbn_core_security_browser_internal.mdx
index 886714cdf8b5c..d9254f2f2a4b0 100644
--- a/api_docs/kbn_core_security_browser_internal.mdx
+++ b/api_docs/kbn_core_security_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-browser-internal
title: "@kbn/core-security-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-security-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-browser-internal']
---
import kbnCoreSecurityBrowserInternalObj from './kbn_core_security_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_security_browser_mocks.mdx b/api_docs/kbn_core_security_browser_mocks.mdx
index 9a4e4ab30250c..466d72ac6118b 100644
--- a/api_docs/kbn_core_security_browser_mocks.mdx
+++ b/api_docs/kbn_core_security_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-browser-mocks
title: "@kbn/core-security-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-security-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-browser-mocks']
---
import kbnCoreSecurityBrowserMocksObj from './kbn_core_security_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_security_common.mdx b/api_docs/kbn_core_security_common.mdx
index 784b57ee9703f..d5b5b93b33a72 100644
--- a/api_docs/kbn_core_security_common.mdx
+++ b/api_docs/kbn_core_security_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-common
title: "@kbn/core-security-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-security-common plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-common']
---
import kbnCoreSecurityCommonObj from './kbn_core_security_common.devdocs.json';
diff --git a/api_docs/kbn_core_security_server.mdx b/api_docs/kbn_core_security_server.mdx
index d0e080e22ff5d..046440497ac26 100644
--- a/api_docs/kbn_core_security_server.mdx
+++ b/api_docs/kbn_core_security_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-server
title: "@kbn/core-security-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-security-server plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-server']
---
import kbnCoreSecurityServerObj from './kbn_core_security_server.devdocs.json';
diff --git a/api_docs/kbn_core_security_server_internal.mdx b/api_docs/kbn_core_security_server_internal.mdx
index 699fa40e70673..5dc94b17e20b7 100644
--- a/api_docs/kbn_core_security_server_internal.mdx
+++ b/api_docs/kbn_core_security_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-server-internal
title: "@kbn/core-security-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-security-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-server-internal']
---
import kbnCoreSecurityServerInternalObj from './kbn_core_security_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_security_server_mocks.mdx b/api_docs/kbn_core_security_server_mocks.mdx
index 81cb5989b1a83..dbda028dadf00 100644
--- a/api_docs/kbn_core_security_server_mocks.mdx
+++ b/api_docs/kbn_core_security_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-security-server-mocks
title: "@kbn/core-security-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-security-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-security-server-mocks']
---
import kbnCoreSecurityServerMocksObj from './kbn_core_security_server_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_status_common.mdx b/api_docs/kbn_core_status_common.mdx
index cbe81ddc53c79..28c7e6a3e8746 100644
--- a/api_docs/kbn_core_status_common.mdx
+++ b/api_docs/kbn_core_status_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common
title: "@kbn/core-status-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 a6ab0cdded4ae..3f4d7e340e7fe 100644
--- a/api_docs/kbn_core_status_common_internal.mdx
+++ b/api_docs/kbn_core_status_common_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-common-internal
title: "@kbn/core-status-common-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-common-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 0b6f7c0cb560d..2abe5da009ab6 100644
--- a/api_docs/kbn_core_status_server.mdx
+++ b/api_docs/kbn_core_status_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server
title: "@kbn/core-status-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 6727001ea7d80..e1cbf2f3e2d29 100644
--- a/api_docs/kbn_core_status_server_internal.mdx
+++ b/api_docs/kbn_core_status_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-internal
title: "@kbn/core-status-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 557c4a6e00dd4..eb86051255f33 100644
--- a/api_docs/kbn_core_status_server_mocks.mdx
+++ b/api_docs/kbn_core_status_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-status-server-mocks
title: "@kbn/core-status-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-status-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 660b3da203adc..5dff130bfa26f 100644
--- a/api_docs/kbn_core_test_helpers_deprecations_getters.mdx
+++ b/api_docs/kbn_core_test_helpers_deprecations_getters.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-deprecations-getters
title: "@kbn/core-test-helpers-deprecations-getters"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-deprecations-getters plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-deprecations-getters']
---
import kbnCoreTestHelpersDeprecationsGettersObj from './kbn_core_test_helpers_deprecations_getters.devdocs.json';
diff --git a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx
index 3e666591c8547..fdd90dfd2f95f 100644
--- a/api_docs/kbn_core_test_helpers_http_setup_browser.mdx
+++ b/api_docs/kbn_core_test_helpers_http_setup_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-http-setup-browser
title: "@kbn/core-test-helpers-http-setup-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-http-setup-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 8c77a30d6bbca..ef574cec1397f 100644
--- a/api_docs/kbn_core_test_helpers_kbn_server.mdx
+++ b/api_docs/kbn_core_test_helpers_kbn_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-kbn-server
title: "@kbn/core-test-helpers-kbn-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-kbn-server plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-kbn-server']
---
import kbnCoreTestHelpersKbnServerObj from './kbn_core_test_helpers_kbn_server.devdocs.json';
diff --git a/api_docs/kbn_core_test_helpers_model_versions.mdx b/api_docs/kbn_core_test_helpers_model_versions.mdx
index 4ba5a9bde15ba..d6655876071c3 100644
--- a/api_docs/kbn_core_test_helpers_model_versions.mdx
+++ b/api_docs/kbn_core_test_helpers_model_versions.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-model-versions
title: "@kbn/core-test-helpers-model-versions"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-model-versions plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-test-helpers-model-versions']
---
import kbnCoreTestHelpersModelVersionsObj from './kbn_core_test_helpers_model_versions.devdocs.json';
diff --git a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx
index 60f194cd061db..3ae6d799d7e31 100644
--- a/api_docs/kbn_core_test_helpers_so_type_serializer.mdx
+++ b/api_docs/kbn_core_test_helpers_so_type_serializer.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-so-type-serializer
title: "@kbn/core-test-helpers-so-type-serializer"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-so-type-serializer plugin
-date: 2024-05-20
+date: 2024-05-21
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 36bc1e3ebba5f..14766657721b5 100644
--- a/api_docs/kbn_core_test_helpers_test_utils.mdx
+++ b/api_docs/kbn_core_test_helpers_test_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-test-helpers-test-utils
title: "@kbn/core-test-helpers-test-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-test-helpers-test-utils plugin
-date: 2024-05-20
+date: 2024-05-21
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 0655750340378..c3c06de504c42 100644
--- a/api_docs/kbn_core_theme_browser.mdx
+++ b/api_docs/kbn_core_theme_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser
title: "@kbn/core-theme-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-theme-browser plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-theme-browser']
---
import kbnCoreThemeBrowserObj from './kbn_core_theme_browser.devdocs.json';
diff --git a/api_docs/kbn_core_theme_browser_mocks.mdx b/api_docs/kbn_core_theme_browser_mocks.mdx
index 3a597038edc1c..7573692c723b7 100644
--- a/api_docs/kbn_core_theme_browser_mocks.mdx
+++ b/api_docs/kbn_core_theme_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-theme-browser-mocks
title: "@kbn/core-theme-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-theme-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 4a3ef71a5ee38..308082b213238 100644
--- a/api_docs/kbn_core_ui_settings_browser.mdx
+++ b/api_docs/kbn_core_ui_settings_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser
title: "@kbn/core-ui-settings-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-browser plugin
-date: 2024-05-20
+date: 2024-05-21
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 03c8cea813f47..ed0ecfd9ce4f7 100644
--- a/api_docs/kbn_core_ui_settings_browser_internal.mdx
+++ b/api_docs/kbn_core_ui_settings_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-internal
title: "@kbn/core-ui-settings-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 7681ee0ad948e..ceac968d43bf8 100644
--- a/api_docs/kbn_core_ui_settings_browser_mocks.mdx
+++ b/api_docs/kbn_core_ui_settings_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-browser-mocks
title: "@kbn/core-ui-settings-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 c92582e578de8..79ea823b801a8 100644
--- a/api_docs/kbn_core_ui_settings_common.mdx
+++ b/api_docs/kbn_core_ui_settings_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-common
title: "@kbn/core-ui-settings-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-common plugin
-date: 2024-05-20
+date: 2024-05-21
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 878d3a8d57db0..caf44af4454dd 100644
--- a/api_docs/kbn_core_ui_settings_server.mdx
+++ b/api_docs/kbn_core_ui_settings_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server
title: "@kbn/core-ui-settings-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-server plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-ui-settings-server']
---
import kbnCoreUiSettingsServerObj from './kbn_core_ui_settings_server.devdocs.json';
diff --git a/api_docs/kbn_core_ui_settings_server_internal.mdx b/api_docs/kbn_core_ui_settings_server_internal.mdx
index 4cf558fca1530..94174251d70a2 100644
--- a/api_docs/kbn_core_ui_settings_server_internal.mdx
+++ b/api_docs/kbn_core_ui_settings_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-internal
title: "@kbn/core-ui-settings-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
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 e5f208c7e76b1..4ae6c2db4c990 100644
--- a/api_docs/kbn_core_ui_settings_server_mocks.mdx
+++ b/api_docs/kbn_core_ui_settings_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-ui-settings-server-mocks
title: "@kbn/core-ui-settings-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-ui-settings-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 a70b2f2ef2e5d..59845ca8678fa 100644
--- a/api_docs/kbn_core_usage_data_server.mdx
+++ b/api_docs/kbn_core_usage_data_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server
title: "@kbn/core-usage-data-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-usage-data-server plugin
-date: 2024-05-20
+date: 2024-05-21
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 6c242087b79ee..c814d8b92c128 100644
--- a/api_docs/kbn_core_usage_data_server_internal.mdx
+++ b/api_docs/kbn_core_usage_data_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-internal
title: "@kbn/core-usage-data-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-usage-data-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-internal']
---
import kbnCoreUsageDataServerInternalObj from './kbn_core_usage_data_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_usage_data_server_mocks.mdx b/api_docs/kbn_core_usage_data_server_mocks.mdx
index da199ae391538..29a7c0b87f974 100644
--- a/api_docs/kbn_core_usage_data_server_mocks.mdx
+++ b/api_docs/kbn_core_usage_data_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-usage-data-server-mocks
title: "@kbn/core-usage-data-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-usage-data-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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_profile_browser.mdx b/api_docs/kbn_core_user_profile_browser.mdx
index f6a183e6ed410..5ab1528d462a4 100644
--- a/api_docs/kbn_core_user_profile_browser.mdx
+++ b/api_docs/kbn_core_user_profile_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-browser
title: "@kbn/core-user-profile-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-profile-browser plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-browser']
---
import kbnCoreUserProfileBrowserObj from './kbn_core_user_profile_browser.devdocs.json';
diff --git a/api_docs/kbn_core_user_profile_browser_internal.mdx b/api_docs/kbn_core_user_profile_browser_internal.mdx
index 081ba81ed87c2..ccd6c1aee6de7 100644
--- a/api_docs/kbn_core_user_profile_browser_internal.mdx
+++ b/api_docs/kbn_core_user_profile_browser_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-browser-internal
title: "@kbn/core-user-profile-browser-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-profile-browser-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-browser-internal']
---
import kbnCoreUserProfileBrowserInternalObj from './kbn_core_user_profile_browser_internal.devdocs.json';
diff --git a/api_docs/kbn_core_user_profile_browser_mocks.mdx b/api_docs/kbn_core_user_profile_browser_mocks.mdx
index d501ff9d9abfa..7f1512f9c3887 100644
--- a/api_docs/kbn_core_user_profile_browser_mocks.mdx
+++ b/api_docs/kbn_core_user_profile_browser_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-browser-mocks
title: "@kbn/core-user-profile-browser-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-profile-browser-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-browser-mocks']
---
import kbnCoreUserProfileBrowserMocksObj from './kbn_core_user_profile_browser_mocks.devdocs.json';
diff --git a/api_docs/kbn_core_user_profile_common.mdx b/api_docs/kbn_core_user_profile_common.mdx
index 51a6773703431..b72600245c0e4 100644
--- a/api_docs/kbn_core_user_profile_common.mdx
+++ b/api_docs/kbn_core_user_profile_common.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-common
title: "@kbn/core-user-profile-common"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-profile-common plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-common']
---
import kbnCoreUserProfileCommonObj from './kbn_core_user_profile_common.devdocs.json';
diff --git a/api_docs/kbn_core_user_profile_server.mdx b/api_docs/kbn_core_user_profile_server.mdx
index 62077a80f00a4..f8f8ec2faa629 100644
--- a/api_docs/kbn_core_user_profile_server.mdx
+++ b/api_docs/kbn_core_user_profile_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-server
title: "@kbn/core-user-profile-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-profile-server plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-server']
---
import kbnCoreUserProfileServerObj from './kbn_core_user_profile_server.devdocs.json';
diff --git a/api_docs/kbn_core_user_profile_server_internal.mdx b/api_docs/kbn_core_user_profile_server_internal.mdx
index c2f3a4d5bba48..25593dc5c6f8e 100644
--- a/api_docs/kbn_core_user_profile_server_internal.mdx
+++ b/api_docs/kbn_core_user_profile_server_internal.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-server-internal
title: "@kbn/core-user-profile-server-internal"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-profile-server-internal plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-server-internal']
---
import kbnCoreUserProfileServerInternalObj from './kbn_core_user_profile_server_internal.devdocs.json';
diff --git a/api_docs/kbn_core_user_profile_server_mocks.mdx b/api_docs/kbn_core_user_profile_server_mocks.mdx
index 24df1b2fc824e..178bcdc7c1fa8 100644
--- a/api_docs/kbn_core_user_profile_server_mocks.mdx
+++ b/api_docs/kbn_core_user_profile_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-profile-server-mocks
title: "@kbn/core-user-profile-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-profile-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-profile-server-mocks']
---
import kbnCoreUserProfileServerMocksObj from './kbn_core_user_profile_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 93aec5bc15e44..8e2d34af1f4d6 100644
--- a/api_docs/kbn_core_user_settings_server.mdx
+++ b/api_docs/kbn_core_user_settings_server.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server
title: "@kbn/core-user-settings-server"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-settings-server plugin
-date: 2024-05-20
+date: 2024-05-21
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_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx
index beeb99f06dba5..cf34805088352 100644
--- a/api_docs/kbn_core_user_settings_server_mocks.mdx
+++ b/api_docs/kbn_core_user_settings_server_mocks.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-mocks
title: "@kbn/core-user-settings-server-mocks"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/core-user-settings-server-mocks plugin
-date: 2024-05-20
+date: 2024-05-21
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 e48726adf6cb9..457998988796f 100644
--- a/api_docs/kbn_crypto.mdx
+++ b/api_docs/kbn_crypto.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto
title: "@kbn/crypto"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/crypto plugin
-date: 2024-05-20
+date: 2024-05-21
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 a63c76df61ca3..7baceae269dfd 100644
--- a/api_docs/kbn_crypto_browser.mdx
+++ b/api_docs/kbn_crypto_browser.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-crypto-browser
title: "@kbn/crypto-browser"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/crypto-browser plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/crypto-browser']
---
import kbnCryptoBrowserObj from './kbn_crypto_browser.devdocs.json';
diff --git a/api_docs/kbn_custom_icons.mdx b/api_docs/kbn_custom_icons.mdx
index 8f60f2d77a286..f46c04b8e1c46 100644
--- a/api_docs/kbn_custom_icons.mdx
+++ b/api_docs/kbn_custom_icons.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-icons
title: "@kbn/custom-icons"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/custom-icons plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-icons']
---
import kbnCustomIconsObj from './kbn_custom_icons.devdocs.json';
diff --git a/api_docs/kbn_custom_integrations.mdx b/api_docs/kbn_custom_integrations.mdx
index cd8b527a77f95..b7790aac1df5d 100644
--- a/api_docs/kbn_custom_integrations.mdx
+++ b/api_docs/kbn_custom_integrations.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-custom-integrations
title: "@kbn/custom-integrations"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/custom-integrations plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/custom-integrations']
---
import kbnCustomIntegrationsObj from './kbn_custom_integrations.devdocs.json';
diff --git a/api_docs/kbn_cypress_config.mdx b/api_docs/kbn_cypress_config.mdx
index 18e59134e133e..e27ba76907a2d 100644
--- a/api_docs/kbn_cypress_config.mdx
+++ b/api_docs/kbn_cypress_config.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-cypress-config
title: "@kbn/cypress-config"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/cypress-config plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config']
---
import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json';
diff --git a/api_docs/kbn_data_forge.devdocs.json b/api_docs/kbn_data_forge.devdocs.json
index abc002a41da4b..232f42faa35b7 100644
--- a/api_docs/kbn_data_forge.devdocs.json
+++ b/api_docs/kbn_data_forge.devdocs.json
@@ -116,12 +116,31 @@
"label": "cli",
"description": [],
"signature": [
- "() => Promise"
+ "(cliOptions: ",
+ "CliOptions",
+ " | undefined) => Promise"
],
"path": "x-pack/packages/kbn-data-forge/src/cli.ts",
"deprecated": false,
"trackAdoption": false,
- "children": [],
+ "children": [
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.cli.$1",
+ "type": "Object",
+ "tags": [],
+ "label": "cliOptions",
+ "description": [],
+ "signature": [
+ "CliOptions",
+ " | undefined"
+ ],
+ "path": "x-pack/packages/kbn-data-forge/src/cli.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "isRequired": false
+ }
+ ],
"returnComment": [],
"initialIsOpen": false
},
@@ -469,6 +488,274 @@
"initialIsOpen": false
}
],
- "objects": []
+ "objects": [
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS",
+ "type": "Object",
+ "tags": [],
+ "label": "DEFAULTS",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "children": [
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.EVENTS_PER_CYCLE",
+ "type": "number",
+ "tags": [],
+ "label": "EVENTS_PER_CYCLE",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.PAYLOAD_SIZE",
+ "type": "number",
+ "tags": [],
+ "label": "PAYLOAD_SIZE",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.CONCURRENCY",
+ "type": "number",
+ "tags": [],
+ "label": "CONCURRENCY",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.SERVERLESS",
+ "type": "boolean",
+ "tags": [],
+ "label": "SERVERLESS",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.INDEX_INTERVAL",
+ "type": "number",
+ "tags": [],
+ "label": "INDEX_INTERVAL",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.DATASET",
+ "type": "string",
+ "tags": [],
+ "label": "DATASET",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.SCENARIO",
+ "type": "string",
+ "tags": [],
+ "label": "SCENARIO",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.ELASTICSEARCH_HOST",
+ "type": "string",
+ "tags": [],
+ "label": "ELASTICSEARCH_HOST",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.ELASTICSEARCH_USERNAME",
+ "type": "string",
+ "tags": [],
+ "label": "ELASTICSEARCH_USERNAME",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.ELASTICSEARCH_PASSWORD",
+ "type": "string",
+ "tags": [],
+ "label": "ELASTICSEARCH_PASSWORD",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.ELASTICSEARCH_API_KEY",
+ "type": "string",
+ "tags": [],
+ "label": "ELASTICSEARCH_API_KEY",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.SKIP_KIBANA_USER",
+ "type": "boolean",
+ "tags": [],
+ "label": "SKIP_KIBANA_USER",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.INSTALL_KIBANA_ASSETS",
+ "type": "boolean",
+ "tags": [],
+ "label": "INSTALL_KIBANA_ASSETS",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.DELAY_IN_MINUTES",
+ "type": "number",
+ "tags": [],
+ "label": "DELAY_IN_MINUTES",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.DELAY_EVERY_MINUTES",
+ "type": "number",
+ "tags": [],
+ "label": "DELAY_EVERY_MINUTES",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.LOOKBACK",
+ "type": "string",
+ "tags": [],
+ "label": "LOOKBACK",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.KIBANA_URL",
+ "type": "string",
+ "tags": [],
+ "label": "KIBANA_URL",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.KIBANA_USERNAME",
+ "type": "string",
+ "tags": [],
+ "label": "KIBANA_USERNAME",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.KIBANA_PASSWORD",
+ "type": "string",
+ "tags": [],
+ "label": "KIBANA_PASSWORD",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.EVENT_TEMPLATE",
+ "type": "string",
+ "tags": [],
+ "label": "EVENT_TEMPLATE",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.REDUCE_WEEKEND_TRAFFIC_BY",
+ "type": "number",
+ "tags": [],
+ "label": "REDUCE_WEEKEND_TRAFFIC_BY",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.EPHEMERAL_PROJECT_IDS",
+ "type": "number",
+ "tags": [],
+ "label": "EPHEMERAL_PROJECT_IDS",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ },
+ {
+ "parentPluginId": "@kbn/data-forge",
+ "id": "def-common.DEFAULTS.ALIGN_EVENTS_TO_INTERVAL",
+ "type": "boolean",
+ "tags": [],
+ "label": "ALIGN_EVENTS_TO_INTERVAL",
+ "description": [],
+ "path": "x-pack/packages/kbn-data-forge/src/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false
+ }
+ ],
+ "initialIsOpen": false
+ }
+ ]
}
}
\ No newline at end of file
diff --git a/api_docs/kbn_data_forge.mdx b/api_docs/kbn_data_forge.mdx
index 77b427641fd06..eb48471c5d7cf 100644
--- a/api_docs/kbn_data_forge.mdx
+++ b/api_docs/kbn_data_forge.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-forge
title: "@kbn/data-forge"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/data-forge plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-forge']
---
import kbnDataForgeObj from './kbn_data_forge.devdocs.json';
@@ -21,10 +21,13 @@ Contact [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 26 | 0 | 26 | 0 |
+| 51 | 0 | 51 | 1 |
## Common
+### Objects
+
+
### Functions
diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx
index f7c8cd4f79e50..c61d2d3a90e9a 100644
--- a/api_docs/kbn_data_service.mdx
+++ b/api_docs/kbn_data_service.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-service
title: "@kbn/data-service"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/data-service plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-service']
---
import kbnDataServiceObj from './kbn_data_service.devdocs.json';
diff --git a/api_docs/kbn_data_stream_adapter.mdx b/api_docs/kbn_data_stream_adapter.mdx
index b3122f7ae51bd..32069f179aaa0 100644
--- a/api_docs/kbn_data_stream_adapter.mdx
+++ b/api_docs/kbn_data_stream_adapter.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-stream-adapter
title: "@kbn/data-stream-adapter"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/data-stream-adapter plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-stream-adapter']
---
import kbnDataStreamAdapterObj from './kbn_data_stream_adapter.devdocs.json';
diff --git a/api_docs/kbn_data_view_utils.mdx b/api_docs/kbn_data_view_utils.mdx
index aa2394b3a95fd..4d99e14c5aac7 100644
--- a/api_docs/kbn_data_view_utils.mdx
+++ b/api_docs/kbn_data_view_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-data-view-utils
title: "@kbn/data-view-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/data-view-utils plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-view-utils']
---
import kbnDataViewUtilsObj from './kbn_data_view_utils.devdocs.json';
diff --git a/api_docs/kbn_datemath.mdx b/api_docs/kbn_datemath.mdx
index 1d246c0a39d21..5af987d623bc8 100644
--- a/api_docs/kbn_datemath.mdx
+++ b/api_docs/kbn_datemath.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-datemath
title: "@kbn/datemath"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/datemath plugin
-date: 2024-05-20
+date: 2024-05-21
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 c07271541acd8..4b92e6de06c53 100644
--- a/api_docs/kbn_deeplinks_analytics.mdx
+++ b/api_docs/kbn_deeplinks_analytics.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-analytics
title: "@kbn/deeplinks-analytics"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-analytics plugin
-date: 2024-05-20
+date: 2024-05-21
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 6adb69716e382..ea25b14490c8e 100644
--- a/api_docs/kbn_deeplinks_devtools.mdx
+++ b/api_docs/kbn_deeplinks_devtools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-devtools
title: "@kbn/deeplinks-devtools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-devtools plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-devtools']
---
import kbnDeeplinksDevtoolsObj from './kbn_deeplinks_devtools.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_fleet.mdx b/api_docs/kbn_deeplinks_fleet.mdx
index 4fc9389ec9b65..95807f6acd159 100644
--- a/api_docs/kbn_deeplinks_fleet.mdx
+++ b/api_docs/kbn_deeplinks_fleet.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-fleet
title: "@kbn/deeplinks-fleet"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-fleet plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-fleet']
---
import kbnDeeplinksFleetObj from './kbn_deeplinks_fleet.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_management.mdx b/api_docs/kbn_deeplinks_management.mdx
index 7b777f89de6b1..203f723f09943 100644
--- a/api_docs/kbn_deeplinks_management.mdx
+++ b/api_docs/kbn_deeplinks_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-management
title: "@kbn/deeplinks-management"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-management plugin
-date: 2024-05-20
+date: 2024-05-21
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 ed60480d3d0fe..221ec5c72ade0 100644
--- a/api_docs/kbn_deeplinks_ml.mdx
+++ b/api_docs/kbn_deeplinks_ml.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-ml
title: "@kbn/deeplinks-ml"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-ml plugin
-date: 2024-05-20
+date: 2024-05-21
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 8d3ff8af26804..cf6cf91b3cbb4 100644
--- a/api_docs/kbn_deeplinks_observability.mdx
+++ b/api_docs/kbn_deeplinks_observability.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-observability
title: "@kbn/deeplinks-observability"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-observability plugin
-date: 2024-05-20
+date: 2024-05-21
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 aa1a17f089365..6b3d11269f695 100644
--- a/api_docs/kbn_deeplinks_search.mdx
+++ b/api_docs/kbn_deeplinks_search.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-search
title: "@kbn/deeplinks-search"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-search plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search']
---
import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_security.mdx b/api_docs/kbn_deeplinks_security.mdx
index 187a9890bda0d..94676c7eedda8 100644
--- a/api_docs/kbn_deeplinks_security.mdx
+++ b/api_docs/kbn_deeplinks_security.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-security
title: "@kbn/deeplinks-security"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-security plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-security']
---
import kbnDeeplinksSecurityObj from './kbn_deeplinks_security.devdocs.json';
diff --git a/api_docs/kbn_deeplinks_shared.mdx b/api_docs/kbn_deeplinks_shared.mdx
index a4b5c02061939..073365645cfe3 100644
--- a/api_docs/kbn_deeplinks_shared.mdx
+++ b/api_docs/kbn_deeplinks_shared.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-deeplinks-shared
title: "@kbn/deeplinks-shared"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/deeplinks-shared plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-shared']
---
import kbnDeeplinksSharedObj from './kbn_deeplinks_shared.devdocs.json';
diff --git a/api_docs/kbn_default_nav_analytics.mdx b/api_docs/kbn_default_nav_analytics.mdx
index 03124f5a248c1..6244ee25d29a0 100644
--- a/api_docs/kbn_default_nav_analytics.mdx
+++ b/api_docs/kbn_default_nav_analytics.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-analytics
title: "@kbn/default-nav-analytics"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/default-nav-analytics plugin
-date: 2024-05-20
+date: 2024-05-21
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 36894a36fd468..96ed3c0ac7c90 100644
--- a/api_docs/kbn_default_nav_devtools.mdx
+++ b/api_docs/kbn_default_nav_devtools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-devtools
title: "@kbn/default-nav-devtools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/default-nav-devtools plugin
-date: 2024-05-20
+date: 2024-05-21
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 7dd0d287bacf4..28a3f370b7941 100644
--- a/api_docs/kbn_default_nav_management.mdx
+++ b/api_docs/kbn_default_nav_management.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-management
title: "@kbn/default-nav-management"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/default-nav-management plugin
-date: 2024-05-20
+date: 2024-05-21
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 ce652d54e07ab..e944710396350 100644
--- a/api_docs/kbn_default_nav_ml.mdx
+++ b/api_docs/kbn_default_nav_ml.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-default-nav-ml
title: "@kbn/default-nav-ml"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/default-nav-ml plugin
-date: 2024-05-20
+date: 2024-05-21
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 c46e74bd04532..62359a21e4d22 100644
--- a/api_docs/kbn_dev_cli_errors.mdx
+++ b/api_docs/kbn_dev_cli_errors.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-errors
title: "@kbn/dev-cli-errors"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dev-cli-errors plugin
-date: 2024-05-20
+date: 2024-05-21
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 6918c4038640c..304306b3521fb 100644
--- a/api_docs/kbn_dev_cli_runner.mdx
+++ b/api_docs/kbn_dev_cli_runner.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-cli-runner
title: "@kbn/dev-cli-runner"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dev-cli-runner plugin
-date: 2024-05-20
+date: 2024-05-21
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 9868b51309251..acfde0719a07a 100644
--- a/api_docs/kbn_dev_proc_runner.mdx
+++ b/api_docs/kbn_dev_proc_runner.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-proc-runner
title: "@kbn/dev-proc-runner"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dev-proc-runner plugin
-date: 2024-05-20
+date: 2024-05-21
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 772a9c2e99188..7b3dce357a7b3 100644
--- a/api_docs/kbn_dev_utils.mdx
+++ b/api_docs/kbn_dev_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dev-utils
title: "@kbn/dev-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dev-utils plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/dev-utils']
---
import kbnDevUtilsObj from './kbn_dev_utils.devdocs.json';
diff --git a/api_docs/kbn_discover_utils.mdx b/api_docs/kbn_discover_utils.mdx
index 2bb02673cbaec..67522fb6d02a1 100644
--- a/api_docs/kbn_discover_utils.mdx
+++ b/api_docs/kbn_discover_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-discover-utils
title: "@kbn/discover-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/discover-utils plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils']
---
import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json';
diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx
index cab07f28209d1..9659345e176aa 100644
--- a/api_docs/kbn_doc_links.mdx
+++ b/api_docs/kbn_doc_links.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-doc-links
title: "@kbn/doc-links"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/doc-links plugin
-date: 2024-05-20
+date: 2024-05-21
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 0358613769c72..bc1a552a78838 100644
--- a/api_docs/kbn_docs_utils.mdx
+++ b/api_docs/kbn_docs_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-docs-utils
title: "@kbn/docs-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/docs-utils plugin
-date: 2024-05-20
+date: 2024-05-21
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 64ffd0d644200..ecdd69e47ad88 100644
--- a/api_docs/kbn_dom_drag_drop.mdx
+++ b/api_docs/kbn_dom_drag_drop.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-dom-drag-drop
title: "@kbn/dom-drag-drop"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/dom-drag-drop plugin
-date: 2024-05-20
+date: 2024-05-21
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 b9973c05fa579..9e348e319b490 100644
--- a/api_docs/kbn_ebt_tools.mdx
+++ b/api_docs/kbn_ebt_tools.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ebt-tools
title: "@kbn/ebt-tools"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ebt-tools plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ebt-tools']
---
import kbnEbtToolsObj from './kbn_ebt_tools.devdocs.json';
diff --git a/api_docs/kbn_ecs_data_quality_dashboard.mdx b/api_docs/kbn_ecs_data_quality_dashboard.mdx
index a3030a1edd466..c166bbb7f8e02 100644
--- a/api_docs/kbn_ecs_data_quality_dashboard.mdx
+++ b/api_docs/kbn_ecs_data_quality_dashboard.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ecs-data-quality-dashboard
title: "@kbn/ecs-data-quality-dashboard"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/ecs-data-quality-dashboard plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ecs-data-quality-dashboard']
---
import kbnEcsDataQualityDashboardObj from './kbn_ecs_data_quality_dashboard.devdocs.json';
diff --git a/api_docs/kbn_elastic_agent_utils.mdx b/api_docs/kbn_elastic_agent_utils.mdx
index 962f4257ed9c1..9279d4b9915b8 100644
--- a/api_docs/kbn_elastic_agent_utils.mdx
+++ b/api_docs/kbn_elastic_agent_utils.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-agent-utils
title: "@kbn/elastic-agent-utils"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/elastic-agent-utils plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-agent-utils']
---
import kbnElasticAgentUtilsObj from './kbn_elastic_agent_utils.devdocs.json';
diff --git a/api_docs/kbn_elastic_assistant.devdocs.json b/api_docs/kbn_elastic_assistant.devdocs.json
index 15d2789e99175..edb7425fa9508 100644
--- a/api_docs/kbn_elastic_assistant.devdocs.json
+++ b/api_docs/kbn_elastic_assistant.devdocs.json
@@ -2192,117 +2192,6 @@
],
"initialIsOpen": false
},
- {
- "parentPluginId": "@kbn/elastic-assistant",
- "id": "def-public.DeleteKnowledgeBaseResponse",
- "type": "Interface",
- "tags": [],
- "label": "DeleteKnowledgeBaseResponse",
- "description": [],
- "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/api/index.tsx",
- "deprecated": false,
- "trackAdoption": false,
- "children": [
- {
- "parentPluginId": "@kbn/elastic-assistant",
- "id": "def-public.DeleteKnowledgeBaseResponse.success",
- "type": "boolean",
- "tags": [],
- "label": "success",
- "description": [],
- "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/api/index.tsx",
- "deprecated": false,
- "trackAdoption": false
- }
- ],
- "initialIsOpen": false
- },
- {
- "parentPluginId": "@kbn/elastic-assistant",
- "id": "def-public.GetKnowledgeBaseStatusResponse",
- "type": "Interface",
- "tags": [],
- "label": "GetKnowledgeBaseStatusResponse",
- "description": [],
- "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/api/index.tsx",
- "deprecated": false,
- "trackAdoption": false,
- "children": [
- {
- "parentPluginId": "@kbn/elastic-assistant",
- "id": "def-public.GetKnowledgeBaseStatusResponse.elser_exists",
- "type": "boolean",
- "tags": [],
- "label": "elser_exists",
- "description": [],
- "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/api/index.tsx",
- "deprecated": false,
- "trackAdoption": false
- },
- {
- "parentPluginId": "@kbn/elastic-assistant",
- "id": "def-public.GetKnowledgeBaseStatusResponse.esql_exists",
- "type": "CompoundType",
- "tags": [],
- "label": "esql_exists",
- "description": [],
- "signature": [
- "boolean | undefined"
- ],
- "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/api/index.tsx",
- "deprecated": false,
- "trackAdoption": false
- },
- {
- "parentPluginId": "@kbn/elastic-assistant",
- "id": "def-public.GetKnowledgeBaseStatusResponse.index_exists",
- "type": "boolean",
- "tags": [],
- "label": "index_exists",
- "description": [],
- "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/api/index.tsx",
- "deprecated": false,
- "trackAdoption": false
- },
- {
- "parentPluginId": "@kbn/elastic-assistant",
- "id": "def-public.GetKnowledgeBaseStatusResponse.pipeline_exists",
- "type": "boolean",
- "tags": [],
- "label": "pipeline_exists",
- "description": [],
- "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/api/index.tsx",
- "deprecated": false,
- "trackAdoption": false
- }
- ],
- "initialIsOpen": false
- },
- {
- "parentPluginId": "@kbn/elastic-assistant",
- "id": "def-public.PostKnowledgeBaseResponse",
- "type": "Interface",
- "tags": [],
- "label": "PostKnowledgeBaseResponse",
- "description": [],
- "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/api/index.tsx",
- "deprecated": false,
- "trackAdoption": false,
- "children": [
- {
- "parentPluginId": "@kbn/elastic-assistant",
- "id": "def-public.PostKnowledgeBaseResponse.success",
- "type": "boolean",
- "tags": [],
- "label": "success",
- "description": [],
- "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/api/index.tsx",
- "deprecated": false,
- "trackAdoption": false
- }
- ],
- "initialIsOpen": false
- },
{
"parentPluginId": "@kbn/elastic-assistant",
"id": "def-public.Prompt",
diff --git a/api_docs/kbn_elastic_assistant.mdx b/api_docs/kbn_elastic_assistant.mdx
index 0bc60bbc90ce4..d0173892ced63 100644
--- a/api_docs/kbn_elastic_assistant.mdx
+++ b/api_docs/kbn_elastic_assistant.mdx
@@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant
title: "@kbn/elastic-assistant"
image: https://source.unsplash.com/400x175/?github
description: API docs for the @kbn/elastic-assistant plugin
-date: 2024-05-20
+date: 2024-05-21
tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant']
---
import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json';
@@ -21,7 +21,7 @@ Contact [@elastic/security-generative-ai](https://github.com/orgs/elastic/teams/
| Public API count | Any count | Items lacking comments | Missing exports |
|-------------------|-----------|------------------------|-----------------|
-| 174 | 0 | 147 | 9 |
+| 165 | 0 | 138 | 9 |
## Client
diff --git a/api_docs/kbn_elastic_assistant_common.devdocs.json b/api_docs/kbn_elastic_assistant_common.devdocs.json
index d1ac54ba561ff..387ca39c3bb1b 100644
--- a/api_docs/kbn_elastic_assistant_common.devdocs.json
+++ b/api_docs/kbn_elastic_assistant_common.devdocs.json
@@ -776,7 +776,7 @@
"\nInterface for features available to the elastic assistant"
],
"signature": [
- "{ readonly assistantModelEvaluation: boolean; }"
+ "{ readonly assistantKnowledgeBaseByDefault: boolean; readonly assistantModelEvaluation: boolean; }"
],
"path": "x-pack/packages/kbn-elastic-assistant-common/impl/capabilities/index.ts",
"deprecated": false,
@@ -1134,6 +1134,51 @@
"trackAdoption": false,
"initialIsOpen": false
},
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.CreateKnowledgeBaseEntryRequestBody",
+ "type": "Type",
+ "tags": [],
+ "label": "CreateKnowledgeBaseEntryRequestBody",
+ "description": [],
+ "signature": [
+ "{ text: string; metadata: { source: string; required: boolean; kbResource: string; }; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.CreateKnowledgeBaseEntryRequestBodyInput",
+ "type": "Type",
+ "tags": [],
+ "label": "CreateKnowledgeBaseEntryRequestBodyInput",
+ "description": [],
+ "signature": [
+ "{ text: string; metadata: { source: string; required: boolean; kbResource: string; }; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.CreateKnowledgeBaseEntryResponse",
+ "type": "Type",
+ "tags": [],
+ "label": "CreateKnowledgeBaseEntryResponse",
+ "description": [],
+ "signature": [
+ "{ id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
{
"parentPluginId": "@kbn/elastic-assistant-common",
"id": "def-common.CreateKnowledgeBaseRequestParams",
@@ -1254,6 +1299,51 @@
"trackAdoption": false,
"initialIsOpen": false
},
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.DeleteKnowledgeBaseEntryRequestParams",
+ "type": "Type",
+ "tags": [],
+ "label": "DeleteKnowledgeBaseEntryRequestParams",
+ "description": [],
+ "signature": [
+ "{ id: string; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.DeleteKnowledgeBaseEntryRequestParamsInput",
+ "type": "Type",
+ "tags": [],
+ "label": "DeleteKnowledgeBaseEntryRequestParamsInput",
+ "description": [],
+ "signature": [
+ "{ id: string; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.DeleteKnowledgeBaseEntryResponse",
+ "type": "Type",
+ "tags": [],
+ "label": "DeleteKnowledgeBaseEntryResponse",
+ "description": [],
+ "signature": [
+ "{ id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
{
"parentPluginId": "@kbn/elastic-assistant-common",
"id": "def-common.DeleteKnowledgeBaseRequestParams",
@@ -1410,6 +1500,57 @@
"trackAdoption": false,
"initialIsOpen": false
},
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ELASTIC_AI_ASSISTANT_INTERNAL_URL",
+ "type": "string",
+ "tags": [],
+ "label": "ELASTIC_AI_ASSISTANT_INTERNAL_URL",
+ "description": [],
+ "signature": [
+ "\"/internal/elastic_assistant\""
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_ENTRIES_URL",
+ "type": "string",
+ "tags": [],
+ "label": "ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_ENTRIES_URL",
+ "description": [],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_ENTRIES_URL_BULK_ACTION",
+ "type": "string",
+ "tags": [],
+ "label": "ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_ENTRIES_URL_BULK_ACTION",
+ "description": [],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL",
+ "type": "string",
+ "tags": [],
+ "label": "ELASTIC_AI_ASSISTANT_KNOWLEDGE_BASE_URL",
+ "description": [],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/constants.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
{
"parentPluginId": "@kbn/elastic-assistant-common",
"id": "def-common.ELASTIC_AI_ASSISTANT_PROMPTS_URL",
@@ -1679,7 +1820,7 @@
"label": "GetCapabilitiesResponse",
"description": [],
"signature": [
- "{ assistantModelEvaluation: boolean; }"
+ "{ assistantKnowledgeBaseByDefault: boolean; assistantModelEvaluation: boolean; }"
],
"path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/capabilities/get_capabilities_route.gen.ts",
"deprecated": false,
@@ -1718,317 +1859,559 @@
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.KnowledgeBaseResponse",
+ "id": "def-common.KnowledgeBaseEntryBulkActionBase",
"type": "Type",
"tags": [],
- "label": "KnowledgeBaseResponse",
- "description": [
- "\nAI assistant KnowledgeBase."
- ],
+ "label": "KnowledgeBaseEntryBulkActionBase",
+ "description": [],
"signature": [
- "{ success?: boolean | undefined; }"
+ "{ query?: string | undefined; ids?: string[] | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_kb_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.Message",
+ "id": "def-common.KnowledgeBaseEntryBulkActionSkipReason",
"type": "Type",
"tags": [],
- "label": "Message",
- "description": [
- "\nAI assistant conversation message."
- ],
+ "label": "KnowledgeBaseEntryBulkActionSkipReason",
+ "description": [],
"signature": [
- "{ timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }"
+ "\"KNOWLEDGE_BASE_ENTRY_NOT_MODIFIED\""
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.MessageRole",
+ "id": "def-common.KnowledgeBaseEntryBulkActionSkipResult",
"type": "Type",
"tags": [],
- "label": "MessageRole",
- "description": [
- "\nMessage role."
- ],
+ "label": "KnowledgeBaseEntryBulkActionSkipResult",
+ "description": [],
"signature": [
- "\"user\" | \"system\" | \"assistant\""
+ "{ id: string; skip_reason: \"KNOWLEDGE_BASE_ENTRY_NOT_MODIFIED\"; name?: string | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.MessageRoleEnum",
+ "id": "def-common.KnowledgeBaseEntryBulkCrudActionResponse",
"type": "Type",
"tags": [],
- "label": "MessageRoleEnum",
+ "label": "KnowledgeBaseEntryBulkCrudActionResponse",
"description": [],
"signature": [
- "{ user: \"user\"; system: \"system\"; assistant: \"assistant\"; }"
+ "{ attributes: { results: { created: { id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }[]; updated: { id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }[]; skipped: { id: string; skip_reason: \"KNOWLEDGE_BASE_ENTRY_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; statusCode: number; knowledgeBaseEntries: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }; success?: boolean | undefined; statusCode?: number | undefined; message?: string | undefined; knowledgeBaseEntriesCount?: number | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.NonEmptyString",
+ "id": "def-common.KnowledgeBaseEntryBulkCrudActionResults",
"type": "Type",
"tags": [],
- "label": "NonEmptyString",
- "description": [
- "\nA string that is not empty and does not contain only whitespace"
- ],
+ "label": "KnowledgeBaseEntryBulkCrudActionResults",
+ "description": [],
"signature": [
- "string"
+ "{ created: { id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }[]; updated: { id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }[]; skipped: { id: string; skip_reason: \"KNOWLEDGE_BASE_ENTRY_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.NormalizedConversationError",
+ "id": "def-common.KnowledgeBaseEntryBulkCrudActionSummary",
"type": "Type",
"tags": [],
- "label": "NormalizedConversationError",
+ "label": "KnowledgeBaseEntryBulkCrudActionSummary",
"description": [],
"signature": [
- "{ message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }"
+ "{ total: number; succeeded: number; failed: number; skipped: number; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/bulk_crud_conversations_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.OutputIndex",
+ "id": "def-common.KnowledgeBaseEntryCreateProps",
"type": "Type",
"tags": [],
- "label": "OutputIndex",
+ "label": "KnowledgeBaseEntryCreateProps",
"description": [],
"signature": [
- "string"
+ "{ text: string; metadata: { source: string; required: boolean; kbResource: string; }; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PerformBulkActionRequestBody",
+ "id": "def-common.KnowledgeBaseEntryDetailsInError",
"type": "Type",
"tags": [],
- "label": "PerformBulkActionRequestBody",
+ "label": "KnowledgeBaseEntryDetailsInError",
"description": [],
"signature": [
- "{ delete?: { query?: string | undefined; ids?: string[] | undefined; } | undefined; create?: { title: string; id?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }[] | undefined; update?: { id: string; title?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }[] | undefined; }"
+ "{ id: string; name?: string | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/bulk_crud_conversations_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PerformBulkActionRequestBodyInput",
+ "id": "def-common.KnowledgeBaseEntryErrorSchema",
"type": "Type",
"tags": [],
- "label": "PerformBulkActionRequestBodyInput",
+ "label": "KnowledgeBaseEntryErrorSchema",
"description": [],
"signature": [
- "{ delete?: { query?: string | undefined; ids?: string[] | undefined; } | undefined; create?: { title: string; id?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }[] | undefined; update?: { id: string; title?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }[] | undefined; }"
+ "{ error: string; message: string; statusCode: number; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/bulk_crud_conversations_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PerformBulkActionResponse",
+ "id": "def-common.KnowledgeBaseEntryResponse",
"type": "Type",
"tags": [],
- "label": "PerformBulkActionResponse",
+ "label": "KnowledgeBaseEntryResponse",
"description": [],
"signature": [
- "{ attributes: { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }; success?: boolean | undefined; status_code?: number | undefined; message?: string | undefined; conversations_count?: number | undefined; }"
+ "{ id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/bulk_crud_conversations_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PostEvaluateBody",
+ "id": "def-common.KnowledgeBaseEntryUpdateProps",
"type": "Type",
"tags": [],
- "label": "PostEvaluateBody",
+ "label": "KnowledgeBaseEntryUpdateProps",
"description": [],
"signature": [
- "{ dataset?: { input: string; reference: string; id?: string | undefined; prediction?: string | undefined; tags?: string[] | undefined; }[] | undefined; evalPrompt?: string | undefined; }"
+ "{ id: string; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PostEvaluateRequestBody",
+ "id": "def-common.KnowledgeBaseResponse",
"type": "Type",
"tags": [],
- "label": "PostEvaluateRequestBody",
- "description": [],
+ "label": "KnowledgeBaseResponse",
+ "description": [
+ "\nAI assistant KnowledgeBase."
+ ],
"signature": [
- "{ dataset?: { input: string; reference: string; id?: string | undefined; prediction?: string | undefined; tags?: string[] | undefined; }[] | undefined; evalPrompt?: string | undefined; }"
+ "{ success?: boolean | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_kb_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PostEvaluateRequestBodyInput",
+ "id": "def-common.Message",
"type": "Type",
"tags": [],
- "label": "PostEvaluateRequestBodyInput",
- "description": [],
+ "label": "Message",
+ "description": [
+ "\nAI assistant conversation message."
+ ],
"signature": [
- "{ dataset?: { input: string; reference: string; id?: string | undefined; prediction?: string | undefined; tags?: string[] | undefined; }[] | undefined; evalPrompt?: string | undefined; }"
+ "{ timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PostEvaluateRequestQuery",
+ "id": "def-common.MessageRole",
"type": "Type",
"tags": [],
- "label": "PostEvaluateRequestQuery",
- "description": [],
+ "label": "MessageRole",
+ "description": [
+ "\nMessage role."
+ ],
"signature": [
- "{ agents: string; models: string; outputIndex: string; datasetName?: string | undefined; evaluationType?: string | undefined; evalModel?: string | undefined; projectName?: string | undefined; runName?: string | undefined; }"
+ "\"user\" | \"system\" | \"assistant\""
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PostEvaluateRequestQueryInput",
+ "id": "def-common.MessageRoleEnum",
"type": "Type",
"tags": [],
- "label": "PostEvaluateRequestQueryInput",
+ "label": "MessageRoleEnum",
"description": [],
"signature": [
- "{ agents: string; models: string; outputIndex: string; datasetName?: string | undefined; evaluationType?: string | undefined; evalModel?: string | undefined; projectName?: string | undefined; runName?: string | undefined; }"
+ "{ user: \"user\"; system: \"system\"; assistant: \"assistant\"; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PostEvaluateResponse",
+ "id": "def-common.Metadata",
"type": "Type",
"tags": [],
- "label": "PostEvaluateResponse",
- "description": [],
+ "label": "Metadata",
+ "description": [
+ "\nMetadata about an Knowledge Base Entry"
+ ],
"signature": [
- "{ success: boolean; evaluationId: string; }"
+ "{ source: string; required: boolean; kbResource: string; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.Provider",
+ "id": "def-common.NonEmptyString",
"type": "Type",
"tags": [],
- "label": "Provider",
+ "label": "NonEmptyString",
"description": [
- "\nProvider"
+ "\nA string that is not empty and does not contain only whitespace"
],
"signature": [
- "\"OpenAI\" | \"Azure OpenAI\""
+ "string"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.ProviderEnum",
+ "id": "def-common.NormalizedConversationError",
"type": "Type",
"tags": [],
- "label": "ProviderEnum",
+ "label": "NormalizedConversationError",
"description": [],
"signature": [
- "{ OpenAI: \"OpenAI\"; \"Azure OpenAI\": \"Azure OpenAI\"; }"
+ "{ message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/bulk_crud_conversations_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.PUBLIC_API_ACCESS",
- "type": "string",
+ "id": "def-common.NormalizedKnowledgeBaseEntryError",
+ "type": "Type",
"tags": [],
- "label": "PUBLIC_API_ACCESS",
+ "label": "NormalizedKnowledgeBaseEntryError",
"description": [],
"signature": [
- "\"public\""
+ "{ message: string; statusCode: number; knowledgeBaseEntries: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/index.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.ReadConversationRequestParams",
+ "id": "def-common.OutputIndex",
"type": "Type",
"tags": [],
- "label": "ReadConversationRequestParams",
+ "label": "OutputIndex",
"description": [],
"signature": [
- "{ id: string; }"
+ "string"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.ReadConversationRequestParamsInput",
+ "id": "def-common.PerformBulkActionRequestBody",
+ "type": "Type",
+ "tags": [],
+ "label": "PerformBulkActionRequestBody",
+ "description": [],
+ "signature": [
+ "{ delete?: { query?: string | undefined; ids?: string[] | undefined; } | undefined; create?: { title: string; id?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }[] | undefined; update?: { id: string; title?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }[] | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/bulk_crud_conversations_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PerformBulkActionRequestBodyInput",
+ "type": "Type",
+ "tags": [],
+ "label": "PerformBulkActionRequestBodyInput",
+ "description": [],
+ "signature": [
+ "{ delete?: { query?: string | undefined; ids?: string[] | undefined; } | undefined; create?: { title: string; id?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }[] | undefined; update?: { id: string; title?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }[] | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/bulk_crud_conversations_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PerformBulkActionResponse",
+ "type": "Type",
+ "tags": [],
+ "label": "PerformBulkActionResponse",
+ "description": [],
+ "signature": [
+ "{ attributes: { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }; success?: boolean | undefined; status_code?: number | undefined; message?: string | undefined; conversations_count?: number | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/bulk_crud_conversations_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PerformKnowledgeBaseEntryBulkActionRequestBody",
+ "type": "Type",
+ "tags": [],
+ "label": "PerformKnowledgeBaseEntryBulkActionRequestBody",
+ "description": [],
+ "signature": [
+ "{ delete?: { query?: string | undefined; ids?: string[] | undefined; } | undefined; create?: { text: string; metadata: { source: string; required: boolean; kbResource: string; }; }[] | undefined; update?: { id: string; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; }[] | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PerformKnowledgeBaseEntryBulkActionRequestBodyInput",
+ "type": "Type",
+ "tags": [],
+ "label": "PerformKnowledgeBaseEntryBulkActionRequestBodyInput",
+ "description": [],
+ "signature": [
+ "{ delete?: { query?: string | undefined; ids?: string[] | undefined; } | undefined; create?: { text: string; metadata: { source: string; required: boolean; kbResource: string; }; }[] | undefined; update?: { id: string; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; }[] | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PerformKnowledgeBaseEntryBulkActionResponse",
+ "type": "Type",
+ "tags": [],
+ "label": "PerformKnowledgeBaseEntryBulkActionResponse",
+ "description": [],
+ "signature": [
+ "{ attributes: { results: { created: { id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }[]; updated: { id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }[]; skipped: { id: string; skip_reason: \"KNOWLEDGE_BASE_ENTRY_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; statusCode: number; knowledgeBaseEntries: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }; success?: boolean | undefined; statusCode?: number | undefined; message?: string | undefined; knowledgeBaseEntriesCount?: number | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/bulk_crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PostEvaluateBody",
+ "type": "Type",
+ "tags": [],
+ "label": "PostEvaluateBody",
+ "description": [],
+ "signature": [
+ "{ dataset?: { input: string; reference: string; id?: string | undefined; prediction?: string | undefined; tags?: string[] | undefined; }[] | undefined; evalPrompt?: string | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PostEvaluateRequestBody",
+ "type": "Type",
+ "tags": [],
+ "label": "PostEvaluateRequestBody",
+ "description": [],
+ "signature": [
+ "{ dataset?: { input: string; reference: string; id?: string | undefined; prediction?: string | undefined; tags?: string[] | undefined; }[] | undefined; evalPrompt?: string | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PostEvaluateRequestBodyInput",
+ "type": "Type",
+ "tags": [],
+ "label": "PostEvaluateRequestBodyInput",
+ "description": [],
+ "signature": [
+ "{ dataset?: { input: string; reference: string; id?: string | undefined; prediction?: string | undefined; tags?: string[] | undefined; }[] | undefined; evalPrompt?: string | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PostEvaluateRequestQuery",
+ "type": "Type",
+ "tags": [],
+ "label": "PostEvaluateRequestQuery",
+ "description": [],
+ "signature": [
+ "{ agents: string; models: string; outputIndex: string; datasetName?: string | undefined; evaluationType?: string | undefined; evalModel?: string | undefined; projectName?: string | undefined; runName?: string | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PostEvaluateRequestQueryInput",
+ "type": "Type",
+ "tags": [],
+ "label": "PostEvaluateRequestQueryInput",
+ "description": [],
+ "signature": [
+ "{ agents: string; models: string; outputIndex: string; datasetName?: string | undefined; evaluationType?: string | undefined; evalModel?: string | undefined; projectName?: string | undefined; runName?: string | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PostEvaluateResponse",
+ "type": "Type",
+ "tags": [],
+ "label": "PostEvaluateResponse",
+ "description": [],
+ "signature": [
+ "{ success: boolean; evaluationId: string; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/evaluation/post_evaluate_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.Provider",
+ "type": "Type",
+ "tags": [],
+ "label": "Provider",
+ "description": [
+ "\nProvider"
+ ],
+ "signature": [
+ "\"OpenAI\" | \"Azure OpenAI\""
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ProviderEnum",
+ "type": "Type",
+ "tags": [],
+ "label": "ProviderEnum",
+ "description": [],
+ "signature": [
+ "{ OpenAI: \"OpenAI\"; \"Azure OpenAI\": \"Azure OpenAI\"; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.PUBLIC_API_ACCESS",
+ "type": "string",
+ "tags": [],
+ "label": "PUBLIC_API_ACCESS",
+ "description": [],
+ "signature": [
+ "\"public\""
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/index.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ReadConversationRequestParams",
+ "type": "Type",
+ "tags": [],
+ "label": "ReadConversationRequestParams",
+ "description": [],
+ "signature": [
+ "{ id: string; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ReadConversationRequestParamsInput",
"type": "Type",
"tags": [],
"label": "ReadConversationRequestParamsInput",
@@ -2071,6 +2454,51 @@
"trackAdoption": false,
"initialIsOpen": false
},
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ReadKnowledgeBaseEntryRequestParams",
+ "type": "Type",
+ "tags": [],
+ "label": "ReadKnowledgeBaseEntryRequestParams",
+ "description": [],
+ "signature": [
+ "{ id: string; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ReadKnowledgeBaseEntryRequestParamsInput",
+ "type": "Type",
+ "tags": [],
+ "label": "ReadKnowledgeBaseEntryRequestParamsInput",
+ "description": [],
+ "signature": [
+ "{ id: string; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.ReadKnowledgeBaseEntryResponse",
+ "type": "Type",
+ "tags": [],
+ "label": "ReadKnowledgeBaseEntryResponse",
+ "description": [],
+ "signature": [
+ "{ id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
{
"parentPluginId": "@kbn/elastic-assistant-common",
"id": "def-common.ReadKnowledgeBaseRequestParams",
@@ -2109,7 +2537,7 @@
"label": "ReadKnowledgeBaseResponse",
"description": [],
"signature": [
- "{ elser_exists?: boolean | undefined; index_exists?: boolean | undefined; pipeline_exists?: boolean | undefined; }"
+ "{ elser_exists?: boolean | undefined; esql_exists?: boolean | undefined; index_exists?: boolean | undefined; is_setup_in_progress?: boolean | undefined; pipeline_exists?: boolean | undefined; }"
],
"path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_kb_route.gen.ts",
"deprecated": false,
@@ -2156,101 +2584,176 @@
"label": "SortOrderEnum",
"description": [],
"signature": [
- "{ asc: \"asc\"; desc: \"desc\"; }"
+ "{ asc: \"asc\"; desc: \"desc\"; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/find_conversations_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.TraceData",
+ "type": "Type",
+ "tags": [],
+ "label": "TraceData",
+ "description": [
+ "\ntrace Data"
+ ],
+ "signature": [
+ "{ transactionId?: string | undefined; traceId?: string | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.UpdateConversationRequestBody",
+ "type": "Type",
+ "tags": [],
+ "label": "UpdateConversationRequestBody",
+ "description": [],
+ "signature": [
+ "{ id: string; title?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.UpdateConversationRequestBodyInput",
+ "type": "Type",
+ "tags": [],
+ "label": "UpdateConversationRequestBodyInput",
+ "description": [],
+ "signature": [
+ "{ id: string; title?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.UpdateConversationRequestParams",
+ "type": "Type",
+ "tags": [],
+ "label": "UpdateConversationRequestParams",
+ "description": [],
+ "signature": [
+ "{ id: string; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.UpdateConversationRequestParamsInput",
+ "type": "Type",
+ "tags": [],
+ "label": "UpdateConversationRequestParamsInput",
+ "description": [],
+ "signature": [
+ "{ id: string; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/find_conversations_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.TraceData",
+ "id": "def-common.UpdateConversationResponse",
"type": "Type",
"tags": [],
- "label": "TraceData",
- "description": [
- "\ntrace Data"
- ],
+ "label": "UpdateConversationResponse",
+ "description": [],
"signature": [
- "{ transactionId?: string | undefined; traceId?: string | undefined; }"
+ "{ id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.UpdateConversationRequestBody",
+ "id": "def-common.UpdateKnowledgeBaseEntryRequestBody",
"type": "Type",
"tags": [],
- "label": "UpdateConversationRequestBody",
+ "label": "UpdateKnowledgeBaseEntryRequestBody",
"description": [],
"signature": [
- "{ id: string; title?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }"
+ "{ id: string; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.UpdateConversationRequestBodyInput",
+ "id": "def-common.UpdateKnowledgeBaseEntryRequestBodyInput",
"type": "Type",
"tags": [],
- "label": "UpdateConversationRequestBodyInput",
+ "label": "UpdateKnowledgeBaseEntryRequestBodyInput",
"description": [],
"signature": [
- "{ id: string; title?: string | undefined; category?: \"assistant\" | \"insights\" | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; excludeFromLastConversationStorage?: boolean | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }"
+ "{ id: string; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.UpdateConversationRequestParams",
+ "id": "def-common.UpdateKnowledgeBaseEntryRequestParams",
"type": "Type",
"tags": [],
- "label": "UpdateConversationRequestParams",
+ "label": "UpdateKnowledgeBaseEntryRequestParams",
"description": [],
"signature": [
"{ id: string; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.UpdateConversationRequestParamsInput",
+ "id": "def-common.UpdateKnowledgeBaseEntryRequestParamsInput",
"type": "Type",
"tags": [],
- "label": "UpdateConversationRequestParamsInput",
+ "label": "UpdateKnowledgeBaseEntryRequestParamsInput",
"description": [],
"signature": [
"{ id: string; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
},
{
"parentPluginId": "@kbn/elastic-assistant-common",
- "id": "def-common.UpdateConversationResponse",
+ "id": "def-common.UpdateKnowledgeBaseEntryResponse",
"type": "Type",
"tags": [],
- "label": "UpdateConversationResponse",
+ "label": "UpdateKnowledgeBaseEntryResponse",
"description": [],
"signature": [
- "{ id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }"
+ "{ id: string; namespace: string; text: string; createdAt: string; users: { id?: string | undefined; name?: string | undefined; }[]; timestamp?: string | undefined; createdBy?: string | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; metadata?: { source: string; required: boolean; kbResource: string; } | undefined; vector?: { modelId: string; tokens: {} & { [k: string]: number; }; } | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/crud_knowledge_base_route.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
@@ -2267,7 +2770,7 @@
"signature": [
"{ id?: string | undefined; name?: string | undefined; }"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
@@ -2284,7 +2787,24 @@
"signature": [
"string"
],
- "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/common_attributes.gen.ts",
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/common_attributes.gen.ts",
+ "deprecated": false,
+ "trackAdoption": false,
+ "initialIsOpen": false
+ },
+ {
+ "parentPluginId": "@kbn/elastic-assistant-common",
+ "id": "def-common.Vector",
+ "type": "Type",
+ "tags": [],
+ "label": "Vector",
+ "description": [
+ "\nObject containing Knowledge Base Entry text embeddings and modelId used to create the embeddings"
+ ],
+ "signature": [
+ "{ modelId: string; tokens: {} & { [k: string]: number; }; }"
+ ],
+ "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/knowledge_base/common_attributes.gen.ts",
"deprecated": false,
"trackAdoption": false,
"initialIsOpen": false
@@ -2406,7 +2926,7 @@
"label": "AppendConversationMessageResponse",
"description": [],
"signature": [
- "Zod.ZodObject<{ id: Zod.ZodUnion<[Zod.ZodString, Zod.ZodString]>; title: Zod.ZodString; category: Zod.ZodEnum<[\"assistant\", \"insights\"]>; summary: Zod.ZodOptional; timestamp: Zod.ZodOptional; public: Zod.ZodOptional; confidence: Zod.ZodOptional>; }, \"strip\", Zod.ZodTypeAny, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }>>; timestamp: Zod.ZodOptional; updatedAt: Zod.ZodOptional; createdAt: Zod.ZodString; replacements: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodString, \"strip\">>>; users: Zod.ZodArray; name: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { id?: string | undefined; name?: string | undefined; }, { id?: string | undefined; name?: string | undefined; }>, \"many\">; messages: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\">>>; role: Zod.ZodEnum<[\"system\", \"user\", \"assistant\"]>; timestamp: Zod.ZodString; isError: Zod.ZodOptional; traceData: Zod.ZodOptional; traceId: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { transactionId?: string | undefined; traceId?: string | undefined; }, { transactionId?: string | undefined; traceId?: string | undefined; }>>; }, \"strip\", Zod.ZodTypeAny, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }>, \"many\">>; apiConfig: Zod.ZodOptional; provider: Zod.ZodOptional>; model: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }>>; isDefault: Zod.ZodOptional; excludeFromLastConversationStorage: Zod.ZodOptional; namespace: Zod.ZodString; }, \"strip\", Zod.ZodTypeAny, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }>"
+ "Zod.ZodObject<{ id: Zod.ZodString; title: Zod.ZodString; category: Zod.ZodEnum<[\"assistant\", \"insights\"]>; summary: Zod.ZodOptional; timestamp: Zod.ZodOptional; public: Zod.ZodOptional; confidence: Zod.ZodOptional>; }, \"strip\", Zod.ZodTypeAny, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }>>; timestamp: Zod.ZodOptional; updatedAt: Zod.ZodOptional; createdAt: Zod.ZodString; replacements: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodString, \"strip\">>>; users: Zod.ZodArray; name: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { id?: string | undefined; name?: string | undefined; }, { id?: string | undefined; name?: string | undefined; }>, \"many\">; messages: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\">>>; role: Zod.ZodEnum<[\"system\", \"user\", \"assistant\"]>; timestamp: Zod.ZodString; isError: Zod.ZodOptional; traceData: Zod.ZodOptional; traceId: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { transactionId?: string | undefined; traceId?: string | undefined; }, { transactionId?: string | undefined; traceId?: string | undefined; }>>; }, \"strip\", Zod.ZodTypeAny, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }>, \"many\">>; apiConfig: Zod.ZodOptional; provider: Zod.ZodOptional>; model: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }>>; isDefault: Zod.ZodOptional; excludeFromLastConversationStorage: Zod.ZodOptional; namespace: Zod.ZodString; }, \"strip\", Zod.ZodTypeAny, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }>"
],
"path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/crud_conversation_route.gen.ts",
"deprecated": false,
@@ -2511,7 +3031,7 @@
"label": "BulkCrudActionResponse",
"description": [],
"signature": [
- "Zod.ZodObject<{ success: Zod.ZodOptional; status_code: Zod.ZodOptional; message: Zod.ZodOptional; conversations_count: Zod.ZodOptional; attributes: Zod.ZodObject<{ results: Zod.ZodObject<{ updated: Zod.ZodArray; title: Zod.ZodString; category: Zod.ZodEnum<[\"assistant\", \"insights\"]>; summary: Zod.ZodOptional; timestamp: Zod.ZodOptional; public: Zod.ZodOptional; confidence: Zod.ZodOptional>; }, \"strip\", Zod.ZodTypeAny, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }>>; timestamp: Zod.ZodOptional; updatedAt: Zod.ZodOptional; createdAt: Zod.ZodString; replacements: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodString, \"strip\">>>; users: Zod.ZodArray; name: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { id?: string | undefined; name?: string | undefined; }, { id?: string | undefined; name?: string | undefined; }>, \"many\">; messages: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\">>>; role: Zod.ZodEnum<[\"system\", \"user\", \"assistant\"]>; timestamp: Zod.ZodString; isError: Zod.ZodOptional; traceData: Zod.ZodOptional; traceId: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { transactionId?: string | undefined; traceId?: string | undefined; }, { transactionId?: string | undefined; traceId?: string | undefined; }>>; }, \"strip\", Zod.ZodTypeAny, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }>, \"many\">>; apiConfig: Zod.ZodOptional; provider: Zod.ZodOptional>; model: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }>>; isDefault: Zod.ZodOptional; excludeFromLastConversationStorage: Zod.ZodOptional; namespace: Zod.ZodString; }, \"strip\", Zod.ZodTypeAny, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }>, \"many\">; created: Zod.ZodArray; title: Zod.ZodString; category: Zod.ZodEnum<[\"assistant\", \"insights\"]>; summary: Zod.ZodOptional; timestamp: Zod.ZodOptional; public: Zod.ZodOptional; confidence: Zod.ZodOptional>; }, \"strip\", Zod.ZodTypeAny, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }>>; timestamp: Zod.ZodOptional; updatedAt: Zod.ZodOptional; createdAt: Zod.ZodString; replacements: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodString, \"strip\">>>; users: Zod.ZodArray; name: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { id?: string | undefined; name?: string | undefined; }, { id?: string | undefined; name?: string | undefined; }>, \"many\">; messages: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\">>>; role: Zod.ZodEnum<[\"system\", \"user\", \"assistant\"]>; timestamp: Zod.ZodString; isError: Zod.ZodOptional; traceData: Zod.ZodOptional; traceId: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { transactionId?: string | undefined; traceId?: string | undefined; }, { transactionId?: string | undefined; traceId?: string | undefined; }>>; }, \"strip\", Zod.ZodTypeAny, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }>, \"many\">>; apiConfig: Zod.ZodOptional; provider: Zod.ZodOptional>; model: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }>>; isDefault: Zod.ZodOptional; excludeFromLastConversationStorage: Zod.ZodOptional; namespace: Zod.ZodString; }, \"strip\", Zod.ZodTypeAny, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }>, \"many\">; deleted: Zod.ZodArray; skipped: Zod.ZodArray; skip_reason: Zod.ZodLiteral<\"CONVERSATION_NOT_MODIFIED\">; }, \"strip\", Zod.ZodTypeAny, { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }, { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }>, \"many\">; }, \"strip\", Zod.ZodTypeAny, { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }, { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }>; summary: Zod.ZodObject<{ failed: Zod.ZodNumber; skipped: Zod.ZodNumber; succeeded: Zod.ZodNumber; total: Zod.ZodNumber; }, \"strip\", Zod.ZodTypeAny, { total: number; succeeded: number; failed: number; skipped: number; }, { total: number; succeeded: number; failed: number; skipped: number; }>; errors: Zod.ZodOptional; conversations: Zod.ZodArray; }, \"strip\", Zod.ZodTypeAny, { id: string; name?: string | undefined; }, { id: string; name?: string | undefined; }>, \"many\">; }, \"strip\", Zod.ZodTypeAny, { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }, { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }>, \"many\">>; }, \"strip\", Zod.ZodTypeAny, { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }, { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }>; }, \"strip\", Zod.ZodTypeAny, { attributes: { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }; success?: boolean | undefined; status_code?: number | undefined; message?: string | undefined; conversations_count?: number | undefined; }, { attributes: { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }; success?: boolean | undefined; status_code?: number | undefined; message?: string | undefined; conversations_count?: number | undefined; }>"
+ "Zod.ZodObject<{ success: Zod.ZodOptional; status_code: Zod.ZodOptional; message: Zod.ZodOptional; conversations_count: Zod.ZodOptional; attributes: Zod.ZodObject<{ results: Zod.ZodObject<{ updated: Zod.ZodArray; summary: Zod.ZodOptional; timestamp: Zod.ZodOptional; public: Zod.ZodOptional; confidence: Zod.ZodOptional>; }, \"strip\", Zod.ZodTypeAny, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }>>; timestamp: Zod.ZodOptional; updatedAt: Zod.ZodOptional; createdAt: Zod.ZodString; replacements: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodString, \"strip\">>>; users: Zod.ZodArray; name: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { id?: string | undefined; name?: string | undefined; }, { id?: string | undefined; name?: string | undefined; }>, \"many\">; messages: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\">>>; role: Zod.ZodEnum<[\"system\", \"user\", \"assistant\"]>; timestamp: Zod.ZodString; isError: Zod.ZodOptional; traceData: Zod.ZodOptional; traceId: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { transactionId?: string | undefined; traceId?: string | undefined; }, { transactionId?: string | undefined; traceId?: string | undefined; }>>; }, \"strip\", Zod.ZodTypeAny, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }>, \"many\">>; apiConfig: Zod.ZodOptional; provider: Zod.ZodOptional>; model: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }>>; isDefault: Zod.ZodOptional; excludeFromLastConversationStorage: Zod.ZodOptional; namespace: Zod.ZodString; }, \"strip\", Zod.ZodTypeAny, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }>, \"many\">; created: Zod.ZodArray; summary: Zod.ZodOptional; timestamp: Zod.ZodOptional; public: Zod.ZodOptional; confidence: Zod.ZodOptional>; }, \"strip\", Zod.ZodTypeAny, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }>>; timestamp: Zod.ZodOptional; updatedAt: Zod.ZodOptional; createdAt: Zod.ZodString; replacements: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodString, \"strip\">>>; users: Zod.ZodArray; name: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { id?: string | undefined; name?: string | undefined; }, { id?: string | undefined; name?: string | undefined; }>, \"many\">; messages: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\">>>; role: Zod.ZodEnum<[\"system\", \"user\", \"assistant\"]>; timestamp: Zod.ZodString; isError: Zod.ZodOptional; traceData: Zod.ZodOptional; traceId: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { transactionId?: string | undefined; traceId?: string | undefined; }, { transactionId?: string | undefined; traceId?: string | undefined; }>>; }, \"strip\", Zod.ZodTypeAny, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }, { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }>, \"many\">>; apiConfig: Zod.ZodOptional; provider: Zod.ZodOptional>; model: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }, { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; }>>; isDefault: Zod.ZodOptional; excludeFromLastConversationStorage: Zod.ZodOptional; namespace: Zod.ZodString; }, \"strip\", Zod.ZodTypeAny, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }, { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }>, \"many\">; deleted: Zod.ZodArray; skipped: Zod.ZodArray; skip_reason: Zod.ZodLiteral<\"CONVERSATION_NOT_MODIFIED\">; }, \"strip\", Zod.ZodTypeAny, { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }, { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }>, \"many\">; }, \"strip\", Zod.ZodTypeAny, { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }, { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }>; summary: Zod.ZodObject<{ failed: Zod.ZodNumber; skipped: Zod.ZodNumber; succeeded: Zod.ZodNumber; total: Zod.ZodNumber; }, \"strip\", Zod.ZodTypeAny, { total: number; succeeded: number; failed: number; skipped: number; }, { total: number; succeeded: number; failed: number; skipped: number; }>; errors: Zod.ZodOptional; conversations: Zod.ZodArray; }, \"strip\", Zod.ZodTypeAny, { id: string; name?: string | undefined; }, { id: string; name?: string | undefined; }>, \"many\">; }, \"strip\", Zod.ZodTypeAny, { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }, { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }>, \"many\">>; }, \"strip\", Zod.ZodTypeAny, { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }, { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }>; }, \"strip\", Zod.ZodTypeAny, { attributes: { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }; success?: boolean | undefined; status_code?: number | undefined; message?: string | undefined; conversations_count?: number | undefined; }, { attributes: { results: { created: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; updated: { id: string; namespace: string; title: string; createdAt: string; category: \"assistant\" | \"insights\"; users: { id?: string | undefined; name?: string | undefined; }[]; summary?: { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; } | undefined; timestamp?: string | undefined; updatedAt?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; messages?: { timestamp: string; role: \"user\" | \"system\" | \"assistant\"; content: string; reader?: Zod.objectInputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; isError?: boolean | undefined; traceData?: { transactionId?: string | undefined; traceId?: string | undefined; } | undefined; }[] | undefined; apiConfig?: { connectorId: string; actionTypeId: string; defaultSystemPromptId?: string | undefined; provider?: \"OpenAI\" | \"Azure OpenAI\" | undefined; model?: string | undefined; } | undefined; isDefault?: boolean | undefined; excludeFromLastConversationStorage?: boolean | undefined; }[]; skipped: { id: string; skip_reason: \"CONVERSATION_NOT_MODIFIED\"; name?: string | undefined; }[]; deleted: string[]; }; summary: { total: number; succeeded: number; failed: number; skipped: number; }; errors?: { message: string; status_code: number; conversations: { id: string; name?: string | undefined; }[]; err_code?: string | undefined; }[] | undefined; }; success?: boolean | undefined; status_code?: number | undefined; message?: string | undefined; conversations_count?: number | undefined; }>"
],
"path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/conversations/bulk_crud_conversations_route.gen.ts",
"deprecated": false,
@@ -2526,7 +3046,7 @@
"label": "BulkCrudActionResults",
"description": [],
"signature": [
- "Zod.ZodObject<{ updated: Zod.ZodArray; title: Zod.ZodString; category: Zod.ZodEnum<[\"assistant\", \"insights\"]>; summary: Zod.ZodOptional; timestamp: Zod.ZodOptional; public: Zod.ZodOptional; confidence: Zod.ZodOptional>; }, \"strip\", Zod.ZodTypeAny, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }, { content?: string | undefined; timestamp?: string | undefined; public?: boolean | undefined; confidence?: \"medium\" | \"low\" | \"high\" | undefined; }>>; timestamp: Zod.ZodOptional; updatedAt: Zod.ZodOptional; createdAt: Zod.ZodString; replacements: Zod.ZodOptional