diff --git a/.buildkite/pipelines/performance/data_set_extraction_daily.yml b/.buildkite/pipelines/performance/data_set_extraction_daily.yml index 77d410ab29c2e..39ebad2757f59 100644 --- a/.buildkite/pipelines/performance/data_set_extraction_daily.yml +++ b/.buildkite/pipelines/performance/data_set_extraction_daily.yml @@ -20,11 +20,11 @@ steps: queue: n2-2-spot depends_on: build key: tests - timeout_in_minutes: 60 + timeout_in_minutes: 90 retry: automatic: - exit_status: '-1' - limit: 3 + limit: 1 - exit_status: '*' limit: 1 diff --git a/.buildkite/scripts/steps/esql_grammar_sync.sh b/.buildkite/scripts/steps/esql_grammar_sync.sh index 2aa1144dce8cb..cd86c27ad324f 100755 --- a/.buildkite/scripts/steps/esql_grammar_sync.sh +++ b/.buildkite/scripts/steps/esql_grammar_sync.sh @@ -58,12 +58,9 @@ main () { rm -rf elasticsearch git clone https://github.com/elastic/elasticsearch --depth 1 - rm -rf open-source - git clone https://github.com/elastic/open-source --depth 1 - cd "$KIBANA_DIR" - license_header=$(cat "$PARENT_DIR/open-source/legal/elastic-license-2.0-header.txt") + license_header=$(cat "$KIBANA_DIR/licenses/ELASTIC-LICENSE-2.0-HEADER.txt") report_main_step "Synchronizing lexer grammar..." synchronize_lexer_grammar "$license_header" diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 70640a4502c6f..4ff6638fa8350 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -490,6 +490,7 @@ src/plugins/interactive_setup @elastic/kibana-security test/interactive_setup_api_integration/plugins/test_endpoints @elastic/kibana-security packages/kbn-interpreter @elastic/kibana-visualizations packages/kbn-io-ts-utils @elastic/obs-knowledge-team +packages/kbn-ipynb @elastic/enterprise-search-frontend packages/kbn-jest-serializers @elastic/kibana-operations packages/kbn-journeys @elastic/kibana-operations @elastic/appex-qa packages/kbn-json-ast @elastic/kibana-operations @@ -994,6 +995,7 @@ packages/kbn-monaco/src/esql @elastic/kibana-esql /docs/user/reporting @elastic/appex-sharedux /docs/settings/reporting-settings.asciidoc @elastic/appex-sharedux /docs/setup/configuring-reporting.asciidoc @elastic/appex-sharedux +/x-pack/test_serverless/**/test_suites/common/reporting/ @elastic/appex-sharedux ### Global Experience Tagging /x-pack/test/saved_object_tagging/ @elastic/appex-sharedux @@ -1075,15 +1077,21 @@ packages/kbn-monaco/src/esql @elastic/kibana-esql /x-pack/test/functional/apps/infra/logs @elastic/obs-ux-logs-team # Observability UX management team -x-pack/packages/observability/alert_details @elastic/obs-ux-management-team -x-pack/test/observability_functional @elastic/obs-ux-management-team -x-pack/plugins/observability_solution/infra/public/alerting @elastic/obs-ux-management-team -x-pack/plugins/observability_solution/infra/server/lib/alerting @elastic/obs-ux-management-team +/x-pack/packages/observability/alert_details @elastic/obs-ux-management-team +/x-pack/test/observability_functional @elastic/obs-ux-management-team +/x-pack/plugins/observability_solution/infra/public/alerting @elastic/obs-ux-management-team +/x-pack/plugins/observability_solution/infra/server/lib/alerting @elastic/obs-ux-management-team +/x-pack/test_serverless/**/test_suites/observability/custom_threshold_rule/ @elastic/obs-ux-management-team +/x-pack/test_serverless/**/test_suites/observability/slos/ @elastic/obs-ux-management-team +/x-pack/test_serverless/api_integration/test_suites/observability/es_query_rule @elastic/obs-ux-management-team +/x-pack/test_serverless/api_integration/test_suites/observability/burn_rate_rule @elastic/obs-ux-management-team + # Elastic Stack Monitoring /x-pack/test/functional/apps/monitoring @elastic/obs-ux-infra_services-team @elastic/stack-monitoring /x-pack/test/api_integration/apis/monitoring @elastic/obs-ux-infra_services-team @elastic/stack-monitoring /x-pack/test/api_integration/apis/monitoring_collection @elastic/obs-ux-infra_services-team @elastic/stack-monitoring +/x-pack/test_serverless/**/test_suites/observability/infra/ @elastic/obs-ux-infra_services-team @elastic/stack-monitoring # Fleet /fleet_packages.json @elastic/fleet @@ -1092,6 +1100,7 @@ x-pack/plugins/observability_solution/infra/server/lib/alerting @elastic/obs-ux- /x-pack/test/fleet_functional @elastic/fleet /src/dev/build/tasks/bundle_fleet_packages.ts @elastic/fleet @elastic/kibana-operations /x-pack/plugins/fleet/server/services/elastic_agent_manifest.ts @elastic/fleet @elastic/obs-cloudnative-monitoring +/x-pack/test_serverless/**/test_suites/**/fleet/ @elastic/fleet # APM /x-pack/test/functional/apps/apm/ @elastic/obs-ux-infra_services-team @@ -1099,6 +1108,7 @@ x-pack/plugins/observability_solution/infra/server/lib/alerting @elastic/obs-ux- /src/apm.js @elastic/kibana-core @vigneshshanmugam /packages/kbn-utility-types/src/dot.ts @dgieselaar /packages/kbn-utility-types/src/dot_test.ts @dgieselaar +/x-pack/test_serverless/api_integration/test_suites/observability/apm_api_integration/ @elastic/obs-ux-infra_services-team #CC# /src/plugins/apm_oss/ @elastic/apm-ui #CC# /x-pack/plugins/observability_solution/observability/ @elastic/apm-ui @@ -1120,6 +1130,7 @@ x-pack/plugins/observability_solution/infra/server/lib/alerting @elastic/obs-ux- /x-pack/test_serverless/functional/test_suites/observability/observability_logs_explorer @elastic/obs-ux-logs-team /x-pack/test/functional/apps/dataset_quality @elastic/obs-ux-logs-team /x-pack/test_serverless/functional/test_suites/observability/dataset_quality @elastic/obs-ux-logs-team +/x-pack/test_serverless/functional/test_suites/observability/ @elastic/obs-ux-logs-team # Observability onboarding tour /x-pack/plugins/observability_solution/observability_shared/public/components/tour @elastic/platform-onboarding @@ -1153,6 +1164,8 @@ x-pack/plugins/observability_solution/infra/server/lib/alerting @elastic/obs-ux- /x-pack/test/alerting_api_integration/spaces_only/tests/alerting/transform_rule_types/ @elastic/ml-ui /x-pack/test/screenshot_creation/apps/ml_docs @elastic/ml-ui /x-pack/test/screenshot_creation/services/ml_screenshots.ts @elastic/ml-ui +/x-pack/test_serverless/**/test_suites/**/ml/ @elastic/ml-ui +/x-pack/test_serverless/**/test_suites/common/management/transforms/ @elastic/ml-ui # Additional plugins and packages maintained by the ML team. /x-pack/test/accessibility/apps/group2/transform.ts @elastic/ml-ui @@ -1205,12 +1218,21 @@ x-pack/plugins/observability_solution/infra/server/lib/alerting @elastic/obs-ux- /packages/kbn-performance-testing-dataset-extractor @elastic/appex-qa /x-pack/test_serverless/**/*config.base.ts @elastic/appex-qa /x-pack/test_serverless/**/deployment_agnostic_services.ts @elastic/appex-qa +/x-pack/test_serverless/shared/ @elastic/appex-qa +/x-pack/test_serverless/**/test_suites/**/common_configs/ @elastic/appex-qa +/x-pack/test_serverless/api_integration/test_suites/common/elasticsearch_api @elastic/appex-qa +/x-pack/test_serverless/functional/test_suites/security/ftr/ @elastic/appex-qa +/x-pack/test_serverless/functional/test_suites/common/home_page/ @elastic/appex-qa +/x-pack/test_serverless/functional/services/ @elastic/appex-qa # Core /config/ @elastic/kibana-core /typings/ @elastic/kibana-core /test/analytics @elastic/kibana-core /x-pack/test/saved_objects_field_count/ @elastic/kibana-core +/x-pack/test_serverless/**/test_suites/common/saved_objects_management/ @elastic/kibana-core +/x-pack/test_serverless/api_integration/test_suites/common/core/ @elastic/kibana-core +/x-pack/test_serverless/api_integration/test_suites/**/telemetry/ @elastic/kibana-core #CC# /src/core/server/csp/ @elastic/kibana-core #CC# /src/plugins/saved_objects/ @elastic/kibana-core #CC# /x-pack/plugins/cloud/ @elastic/kibana-core @@ -1257,6 +1279,7 @@ x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kib /x-pack/test/security_functional/ @elastic/kibana-security /x-pack/test/spaces_api_integration/ @elastic/kibana-security /x-pack/test/saved_object_api_integration/ @elastic/kibana-security +/x-pack/test_serverless/**/test_suites/common/platform_security/ @elastic/kibana-security /packages/core/http/core-http-server-internal/src/cdn_config/ @elastic/kibana-security @elastic/kibana-core #CC# /x-pack/plugins/security/ @elastic/kibana-security @@ -1277,13 +1300,31 @@ x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kib /x-pack/test_serverless/api_integration/test_suites/search/cases/ @elastic/response-ops /x-pack/test_serverless/api_integration/test_suites/observability/cases/ @elastic/response-ops /x-pack/test_serverless/api_integration/test_suites/security/cases/ @elastic/response-ops +/x-pack/test_serverless/functional/test_suites/search/screenshot_creation/response_ops_docs @elastic/response-ops +/x-pack/test_serverless/functional/test_suites/security/screenshot_creation/response_ops_docs @elastic/response-ops +/x-pack/test_serverless/functional/test_suites/observability/screenshot_creation/response_ops_docs @elastic/response-ops +/x-pack/test_serverless/api_integration/test_suites/common/alerting/ @elastic/response-ops # Enterprise Search /x-pack/test/functional_enterprise_search/ @elastic/enterprise-search-frontend /x-pack/plugins/enterprise_search/public/applications/shared/doc_links @elastic/ent-search-docs-team +/x-pack/test_serverless/api_integration/test_suites/search/serverless_search @elastic/enterprise-search-frontend +/x-pack/test_serverless/functional/test_suites/search/ @elastic/enterprise-search-frontend # Management Experience - Deployment Management -/x-pack/test_serverless/functional/test_suites/common/index_management/ @elastic/kibana-management +/x-pack/test_serverless/**/test_suites/common/index_management/ @elastic/kibana-management +/x-pack/test_serverless/**/test_suites/common/management/index_management/ @elastic/kibana-management +/x-pack/test_serverless/**/test_suites/common/painless_lab/ @elastic/kibana-management +/x-pack/test_serverless/**/test_suites/common/console/ @elastic/kibana-management +/x-pack/test_serverless/api_integration/test_suites/common/management/ @elastic/kibana-management +/x-pack/test_serverless/api_integration/test_suites/common/search_profiler/ @elastic/kibana-management +/x-pack/test_serverless/functional/test_suites/**/advanced_settings.ts @elastic/kibana-management +/x-pack/test_serverless/functional/test_suites/common/management/disabled_uis.ts @elastic/kibana-management +/x-pack/test_serverless/functional/test_suites/common/management/ingest_pipelines.ts @elastic/kibana-management +/x-pack/test_serverless/functional/test_suites/common/management/landing_page.ts @elastic/kibana-management +/x-pack/test_serverless/functional/test_suites/common/dev_tools/ @elastic/kibana-management +/x-pack/test_serverless/**/test_suites/common/grok_debugger/ @elastic/kibana-management + #CC# /x-pack/plugins/cross_cluster_replication/ @elastic/kibana-management # Security Solution diff --git a/api_docs/actions.devdocs.json b/api_docs/actions.devdocs.json index cc2d6d12496ab..95740f00086f3 100644 --- a/api_docs/actions.devdocs.json +++ b/api_docs/actions.devdocs.json @@ -531,6 +531,27 @@ "deprecated": false, "trackAdoption": false, "children": [ + { + "parentPluginId": "actions", + "id": "def-server.SubActionConnector.kibanaRequest", + "type": "Object", + "tags": [], + "label": "kibanaRequest", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + " | undefined" + ], + "path": "x-pack/plugins/actions/server/sub_action_framework/sub_action_connector.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "actions", "id": "def-server.SubActionConnector.logger", @@ -3360,6 +3381,27 @@ "path": "x-pack/plugins/actions/server/sub_action_framework/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "actions", + "id": "def-server.ServiceParams.request", + "type": "Object", + "tags": [], + "label": "request", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.KibanaRequest", + "text": "KibanaRequest" + }, + " | undefined" + ], + "path": "x-pack/plugins/actions/server/sub_action_framework/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 0812757a5a017..4c6557b12b71c 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 296 | 0 | 290 | 32 | +| 298 | 0 | 292 | 32 | ## Client diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 15aa2cb42158a..2682772430c2a 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-04-12 +date: 2024-04-16 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 ac884d484d9d8..dd9fcc0e5e7d3 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-04-12 +date: 2024-04-16 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 d94dbc02e2dea..753cb4e9a9e07 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.devdocs.json b/api_docs/alerting.devdocs.json index 629f9c0721f7c..c67914f694cc1 100644 --- a/api_docs/alerting.devdocs.json +++ b/api_docs/alerting.devdocs.json @@ -3030,7 +3030,7 @@ "label": "systemActions", "description": [], "signature": [ - "Readonly<{ uuid?: string | undefined; useAlertDataAsTemplate?: boolean | undefined; } & { params: Record; id: string; actionTypeId: string; }>[] | undefined" + "Readonly<{ uuid?: string | undefined; } & { params: Record; id: string; actionTypeId: string; }>[] | undefined" ], "path": "x-pack/plugins/alerting/server/application/rule/types/rule.ts", "deprecated": false, @@ -4856,7 +4856,7 @@ "label": "BulkEditOperation", "description": [], "signature": [ - "Readonly<{} & { value: string[]; operation: \"delete\" | \"add\" | \"set\"; field: \"tags\"; }> | Readonly<{} & { value: (Readonly<{ frequency?: Readonly<{} & { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; }> | undefined; alertsFilter?: Readonly<{ query?: Readonly<{ dsl?: string | undefined; } & { kql: string; filters: Readonly<{ query?: Record | undefined; $state?: Readonly<{} & { store: ", + "Readonly<{} & { value: string[]; operation: \"delete\" | \"add\" | \"set\"; field: \"tags\"; }> | Readonly<{} & { value: (Readonly<{ actionTypeId?: string | undefined; frequency?: Readonly<{} & { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; }> | undefined; alertsFilter?: Readonly<{ query?: Readonly<{ dsl?: string | undefined; } & { kql: string; filters: Readonly<{ query?: Record | undefined; $state?: Readonly<{} & { store: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -4864,7 +4864,7 @@ "section": "def-common.FilterStateStore", "text": "FilterStateStore" }, - "; }> | undefined; } & { meta: Record; }>[]; }> | undefined; timeframe?: Readonly<{} & { days: (2 | 1 | 7 | 6 | 5 | 4 | 3)[]; hours: Readonly<{} & { start: string; end: string; }>; timezone: string; }> | undefined; } & {}> | undefined; uuid?: string | undefined; } & { params: Record; id: string; group: string; }> | Readonly<{ uuid?: string | undefined; } & { params: Record; id: string; }>)[]; operation: \"add\" | \"set\"; field: \"actions\"; }> | Readonly<{} & { value: Readonly<{} & { interval: string; }>; operation: \"set\"; field: \"schedule\"; }> | Readonly<{} & { value: string | null; operation: \"set\"; field: \"throttle\"; }> | Readonly<{} & { value: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; operation: \"set\"; field: \"notifyWhen\"; }> | Readonly<{} & { value: Readonly<{ id?: string | undefined; } & { duration: number; rRule: Readonly<{ count?: number | undefined; interval?: number | undefined; freq?: 0 | 2 | 1 | 3 | undefined; until?: string | undefined; byweekday?: string[] | undefined; bymonth?: number[] | undefined; bymonthday?: number[] | undefined; } & { dtstart: string; tzid: string; }>; }>; operation: \"set\"; field: \"snoozeSchedule\"; }> | Readonly<{ value?: string[] | undefined; } & { operation: \"delete\"; field: \"snoozeSchedule\"; }> | Readonly<{} & { operation: \"set\"; field: \"apiKey\"; }>" + "; }> | undefined; } & { meta: Record; }>[]; }> | undefined; timeframe?: Readonly<{} & { days: (2 | 1 | 7 | 6 | 5 | 4 | 3)[]; hours: Readonly<{} & { start: string; end: string; }>; timezone: string; }> | undefined; } & {}> | undefined; uuid?: string | undefined; useAlertDataForTemplate?: boolean | undefined; } & { params: Record; id: string; group: string; }> | Readonly<{ actionTypeId?: string | undefined; uuid?: string | undefined; } & { params: Record; id: string; }>)[]; operation: \"add\" | \"set\"; field: \"actions\"; }> | Readonly<{} & { value: Readonly<{} & { interval: string; }>; operation: \"set\"; field: \"schedule\"; }> | Readonly<{} & { value: string | null; operation: \"set\"; field: \"throttle\"; }> | Readonly<{} & { value: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; operation: \"set\"; field: \"notifyWhen\"; }> | Readonly<{} & { value: Readonly<{ id?: string | undefined; } & { duration: number; rRule: Readonly<{ count?: number | undefined; interval?: number | undefined; freq?: 0 | 2 | 1 | 3 | undefined; until?: string | undefined; byweekday?: string[] | undefined; bymonth?: number[] | undefined; bymonthday?: number[] | undefined; } & { dtstart: string; tzid: string; }>; }>; operation: \"set\"; field: \"snoozeSchedule\"; }> | Readonly<{ value?: string[] | undefined; } & { operation: \"delete\"; field: \"snoozeSchedule\"; }> | Readonly<{} & { operation: \"set\"; field: \"apiKey\"; }>" ], "path": "x-pack/plugins/alerting/server/application/rule/methods/bulk_edit/types/bulk_edit_rules_options.ts", "deprecated": false, @@ -5155,14 +5155,14 @@ "text": "RuleTypeParams" }, " = never>(params: ", - "UpdateOptions", + "UpdateRuleParams", ") => Promise<", { "pluginId": "alerting", - "scope": "server", + "scope": "common", "docId": "kibAlertingPluginApi", - "section": "def-server.PartialRule", - "text": "PartialRule" + "section": "def-common.SanitizedRule", + "text": "SanitizedRule" }, ">; get: ; } & ", "APMRouteCreateOptions", - "; \"POST /internal/apm/assistant/get_correlation_values\": { endpoint: \"POST /internal/apm/assistant/get_correlation_values\"; params?: ", - "TypeC", - "<{ body: ", - "TypeC", - "<{ sets: ", - "ArrayC", - "<", - "TypeC", - "<{ foreground: ", - "IntersectionC", - "<[", - "TypeC", - "<{ start: ", - "StringC", - "; end: ", - "StringC", - "; 'service.name': ", - "StringC", - "; label: ", - "StringC", - "; }>, ", - "PartialC", - "<{ filter: ", - "StringC", - "; 'service.environment': ", - "UnionC", - "<[", - "LiteralC", - "<\"ENVIRONMENT_NOT_DEFINED\">, ", - "LiteralC", - "<\"ENVIRONMENT_ALL\">, ", - "BrandC", - "<", - "StringC", - ", ", - { - "pluginId": "@kbn/io-ts-utils", - "scope": "common", - "docId": "kibKbnIoTsUtilsPluginApi", - "section": "def-common.NonEmptyStringBrand", - "text": "NonEmptyStringBrand" - }, - ">]>; }>]>; background: ", - "IntersectionC", - "<[", - "TypeC", - "<{ start: ", - "StringC", - "; end: ", - "StringC", - "; 'service.name': ", - "StringC", - "; label: ", - "StringC", - "; }>, ", - "PartialC", - "<{ filter: ", - "StringC", - "; 'service.environment': ", - "UnionC", - "<[", - "LiteralC", - "<\"ENVIRONMENT_NOT_DEFINED\">, ", - "LiteralC", - "<\"ENVIRONMENT_ALL\">, ", - "BrandC", - "<", - "StringC", - ", ", - { - "pluginId": "@kbn/io-ts-utils", - "scope": "common", - "docId": "kibKbnIoTsUtilsPluginApi", - "section": "def-common.NonEmptyStringBrand", - "text": "NonEmptyStringBrand" - }, - ">]>; }>]>; event: ", - "UnionC", - "<[", - "LiteralC", - "<", - "CorrelationsEventType", - ".Transaction>, ", - "LiteralC", - "<", - "CorrelationsEventType", - ".ExitSpan>, ", - "LiteralC", - "<", - "CorrelationsEventType", - ".Error>]>; }>>; }>; }> | undefined; handler: ({}: ", - "APMRouteHandlerResources", - " & { params: { body: { sets: { foreground: { start: string; end: string; 'service.name': string; label: string; } & { filter?: string | undefined; 'service.environment'?: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", - "Branded", - " | undefined; }; background: { start: string; end: string; 'service.name': string; label: string; } & { filter?: string | undefined; 'service.environment'?: \"ENVIRONMENT_NOT_DEFINED\" | \"ENVIRONMENT_ALL\" | ", - "Branded", - " | undefined; }; event: ", - "CorrelationsEventType", - "; }[]; }; }; }) => Promise<{ content: ", - "CorrelationValue", - "[]; }>; } & ", - "APMRouteCreateOptions", - "; \"GET /internal/apm/assistant/get_service_summary\": { endpoint: \"GET /internal/apm/assistant/get_service_summary\"; params?: ", - "TypeC", - "<{ query: ", - "IntersectionC", - "<[", - "TypeC", - "<{ 'service.name': ", - "StringC", - "; start: ", - "StringC", - "; end: ", - "StringC", - "; }>, ", - "PartialC", - "<{ 'service.environment': ", - "StringC", - "; 'transaction.type': ", - "StringC", - "; }>]>; }> | undefined; handler: ({}: ", - "APMRouteHandlerResources", - " & { params: { query: { 'service.name': string; start: string; end: string; } & { 'service.environment'?: string | undefined; 'transaction.type'?: string | undefined; }; }; }) => Promise<{ content: ", - "ServiceSummary", - "; }>; } & ", - "APMRouteCreateOptions", "; \"GET /internal/apm/assistant/get_apm_alert_details_context\": { endpoint: \"GET /internal/apm/assistant/get_apm_alert_details_context\"; params?: ", "TypeC", "<{ query: ", diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index fba2110fda56c..4dd93ab59446f 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/te | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 29 | 0 | 29 | 127 | +| 29 | 0 | 29 | 125 | ## Client diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index 028294e82a97e..16bfe8df9b6ee 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-04-12 +date: 2024-04-16 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 59e84ed42f4bb..f66c9ffea53cd 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'assetManager'] --- import assetManagerObj from './asset_manager.devdocs.json'; diff --git a/api_docs/banners.mdx b/api_docs/banners.mdx index dccf0323746fc..c02a3e905774b 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-04-12 +date: 2024-04-16 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 8855535db3be1..432ae9f1b8fc1 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-04-12 +date: 2024-04-16 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 e5d8979063e77..3d6370c7533a7 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-04-12 +date: 2024-04-16 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 54da71c08a32a..709cfeb477377 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-04-12 +date: 2024-04-16 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 128cff1488bec..31702aa3da8f8 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-04-12 +date: 2024-04-16 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 f43e1236ae9a6..0bb379b231113 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-04-12 +date: 2024-04-16 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 fa05a55654228..a1aa24ced52b6 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-04-12 +date: 2024-04-16 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 513389f12bd7e..b000f0a95feed 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudDefend'] --- import cloudDefendObj from './cloud_defend.devdocs.json'; diff --git a/api_docs/cloud_experiments.devdocs.json b/api_docs/cloud_experiments.devdocs.json index d3c54f7c959d0..2387643e8cd70 100644 --- a/api_docs/cloud_experiments.devdocs.json +++ b/api_docs/cloud_experiments.devdocs.json @@ -117,7 +117,7 @@ "\nFetch the configuration assigned to variation `configKey`. If nothing is found, fallback to `defaultValue`." ], "signature": [ - "(featureFlagName: \"security-solutions.add-integrations-url\" | \"security-solutions.guided-onboarding-content\" | \"cloud-chat.enabled\" | \"cloud-chat.chat-variant\" | \"navigation.solutionNavEnabled\", defaultValue: Data) => Promise" + "(featureFlagName: \"security-solutions.add-integrations-url\" | \"security-solutions.guided-onboarding-content\" | \"cloud-chat.enabled\" | \"cloud-chat.chat-variant\" | \"observability_onboarding.experimental_onboarding_flow_enabled\" | \"navigation.solutionNavEnabled\", defaultValue: Data) => Promise" ], "path": "x-pack/plugins/cloud_integrations/cloud_experiments/common/types.ts", "deprecated": false, @@ -133,7 +133,7 @@ "The name of the key to find the config variation. {@link CloudExperimentsFeatureFlagNames }." ], "signature": [ - "\"security-solutions.add-integrations-url\" | \"security-solutions.guided-onboarding-content\" | \"cloud-chat.enabled\" | \"cloud-chat.chat-variant\" | \"navigation.solutionNavEnabled\"" + "\"security-solutions.add-integrations-url\" | \"security-solutions.guided-onboarding-content\" | \"cloud-chat.enabled\" | \"cloud-chat.chat-variant\" | \"observability_onboarding.experimental_onboarding_flow_enabled\" | \"navigation.solutionNavEnabled\"" ], "path": "x-pack/plugins/cloud_integrations/cloud_experiments/common/types.ts", "deprecated": false, @@ -227,7 +227,7 @@ "\nThe names of the feature flags declared in Kibana.\nValid keys are defined in {@link FEATURE_FLAG_NAMES}. When using a new feature flag, add the name to the list.\n" ], "signature": [ - "\"security-solutions.add-integrations-url\" | \"security-solutions.guided-onboarding-content\" | \"cloud-chat.enabled\" | \"cloud-chat.chat-variant\" | \"navigation.solutionNavEnabled\"" + "\"security-solutions.add-integrations-url\" | \"security-solutions.guided-onboarding-content\" | \"cloud-chat.enabled\" | \"cloud-chat.chat-variant\" | \"observability_onboarding.experimental_onboarding_flow_enabled\" | \"navigation.solutionNavEnabled\"" ], "path": "x-pack/plugins/cloud_integrations/cloud_experiments/common/types.ts", "deprecated": false, diff --git a/api_docs/cloud_experiments.mdx b/api_docs/cloud_experiments.mdx index 080b318c89e6d..601f99da1551c 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-04-12 +date: 2024-04-16 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 8dac5e8e45ba0..a8d9f30147289 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.devdocs.json b/api_docs/console.devdocs.json index 999ac5aed040c..6859cc5db339c 100644 --- a/api_docs/console.devdocs.json +++ b/api_docs/console.devdocs.json @@ -561,6 +561,120 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "console", + "id": "def-public.EmbeddedConsoleView", + "type": "Interface", + "tags": [], + "label": "EmbeddedConsoleView", + "description": [], + "path": "src/plugins/console/public/types/embeddable_console.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "console", + "id": "def-public.EmbeddedConsoleView.ActivationButton", + "type": "CompoundType", + "tags": [], + "label": "ActivationButton", + "description": [], + "signature": [ + "React.ComponentClass<", + { + "pluginId": "console", + "scope": "public", + "docId": "kibConsolePluginApi", + "section": "def-public.EmbeddedConsoleViewButtonProps", + "text": "EmbeddedConsoleViewButtonProps" + }, + ", any> | React.FunctionComponent<", + { + "pluginId": "console", + "scope": "public", + "docId": "kibConsolePluginApi", + "section": "def-public.EmbeddedConsoleViewButtonProps", + "text": "EmbeddedConsoleViewButtonProps" + }, + ">" + ], + "path": "src/plugins/console/public/types/embeddable_console.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "console", + "id": "def-public.EmbeddedConsoleView.ViewContent", + "type": "CompoundType", + "tags": [], + "label": "ViewContent", + "description": [], + "signature": [ + "React.ComponentClass<{}, any> | React.FunctionComponent<{}>" + ], + "path": "src/plugins/console/public/types/embeddable_console.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "console", + "id": "def-public.EmbeddedConsoleViewButtonProps", + "type": "Interface", + "tags": [], + "label": "EmbeddedConsoleViewButtonProps", + "description": [], + "path": "src/plugins/console/public/types/embeddable_console.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "console", + "id": "def-public.EmbeddedConsoleViewButtonProps.activeView", + "type": "boolean", + "tags": [], + "label": "activeView", + "description": [], + "path": "src/plugins/console/public/types/embeddable_console.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "console", + "id": "def-public.EmbeddedConsoleViewButtonProps.onClick", + "type": "Function", + "tags": [], + "label": "onClick", + "description": [], + "signature": [ + "(event: React.MouseEvent) => void" + ], + "path": "src/plugins/console/public/types/embeddable_console.ts", + "deprecated": false, + "trackAdoption": false, + "returnComment": [], + "children": [ + { + "parentPluginId": "console", + "id": "def-public.EmbeddedConsoleViewButtonProps.onClick.$1", + "type": "Uncategorized", + "tags": [], + "label": "event", + "description": [], + "signature": [ + "E" + ], + "path": "node_modules/@types/react/index.d.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "initialIsOpen": false } ], "enums": [], @@ -702,6 +816,55 @@ "path": "src/plugins/console/public/types/plugin_dependencies.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "console", + "id": "def-public.ConsolePluginStart.registerEmbeddedConsoleAlternateView", + "type": "Function", + "tags": [], + "label": "registerEmbeddedConsoleAlternateView", + "description": [ + "\nRegister an alternate view for the Embedded Console\n\nWhen registering an alternate view ensure that the content component you register is lazy loaded." + ], + "signature": [ + "((view: ", + { + "pluginId": "console", + "scope": "public", + "docId": "kibConsolePluginApi", + "section": "def-public.EmbeddedConsoleView", + "text": "EmbeddedConsoleView" + }, + " | null) => void) | undefined" + ], + "path": "src/plugins/console/public/types/plugin_dependencies.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "console", + "id": "def-public.ConsolePluginStart.registerEmbeddedConsoleAlternateView.$1", + "type": "CompoundType", + "tags": [], + "label": "view", + "description": [], + "signature": [ + { + "pluginId": "console", + "scope": "public", + "docId": "kibConsolePluginApi", + "section": "def-public.EmbeddedConsoleView", + "text": "EmbeddedConsoleView" + }, + " | null" + ], + "path": "src/plugins/console/public/types/plugin_dependencies.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [] } ], "lifecycle": "start", diff --git a/api_docs/console.mdx b/api_docs/console.mdx index 76b4f7b0e7328..bcc8c033ea4e9 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kiban | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 31 | 0 | 23 | 0 | +| 40 | 0 | 30 | 0 | ## Client diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index 055f2229bbecc..944e1167499bc 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-04-12 +date: 2024-04-16 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 71c9b70e9907a..2d6fc53f67feb 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-04-12 +date: 2024-04-16 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 9fcba9eebbe46..f754efba2fd32 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-04-12 +date: 2024-04-16 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 145669b595274..ec3ac50e38752 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-04-12 +date: 2024-04-16 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 ad43fff2651d7..8d13346503390 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-04-12 +date: 2024-04-16 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 2792e8b41e078..48170e0b795bc 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.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 | |-------------------|-----------|------------------------|-----------------| -| 3285 | 31 | 2619 | 23 | +| 3288 | 31 | 2622 | 23 | ## Client diff --git a/api_docs/data_query.devdocs.json b/api_docs/data_query.devdocs.json index 6d06aa9a9655e..fc43d3198eb2e 100644 --- a/api_docs/data_query.devdocs.json +++ b/api_docs/data_query.devdocs.json @@ -4534,7 +4534,7 @@ "\nConverts QueryState to expression AST" ], "signature": [ - "({\n filters,\n query,\n inputQuery,\n time,\n dataView,\n}: Args) => Promise<", + "({\n filters,\n query,\n inputQuery,\n time,\n dataView,\n titleForInspector,\n descriptionForInspector,\n}: Args) => Promise<", { "pluginId": "expressions", "scope": "common", @@ -4553,7 +4553,7 @@ "id": "def-common.textBasedQueryStateToAstWithValidation.$1", "type": "Object", "tags": [], - "label": "{\n filters,\n query,\n inputQuery,\n time,\n dataView,\n}", + "label": "{\n filters,\n query,\n inputQuery,\n time,\n dataView,\n titleForInspector,\n descriptionForInspector,\n}", "description": [], "signature": [ "Args" @@ -4577,7 +4577,7 @@ "\nConverts QueryState to expression AST" ], "signature": [ - "({\n filters,\n query,\n inputQuery,\n time,\n timeFieldName,\n}: Args) => ", + "({\n filters,\n query,\n inputQuery,\n time,\n timeFieldName,\n titleForInspector,\n descriptionForInspector,\n}: Args) => ", { "pluginId": "expressions", "scope": "common", @@ -4595,7 +4595,7 @@ "id": "def-common.textBasedQueryStateToExpressionAst.$1", "type": "Object", "tags": [], - "label": "{\n filters,\n query,\n inputQuery,\n time,\n timeFieldName,\n}", + "label": "{\n filters,\n query,\n inputQuery,\n time,\n timeFieldName,\n titleForInspector,\n descriptionForInspector,\n}", "description": [], "signature": [ "Args" diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index 92e8f812a3a4e..7eac46e39e539 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.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 | |-------------------|-----------|------------------------|-----------------| -| 3285 | 31 | 2619 | 23 | +| 3288 | 31 | 2622 | 23 | ## Client diff --git a/api_docs/data_search.devdocs.json b/api_docs/data_search.devdocs.json index 70a335f69dfac..c2fc6938cbd49 100644 --- a/api_docs/data_search.devdocs.json +++ b/api_docs/data_search.devdocs.json @@ -11905,7 +11905,7 @@ "label": "aggregateQueryToAst", "description": [], "signature": [ - "(query: ", + "({ query, timeField, titleForInspector, descriptionForInspector, }: { query: ", { "pluginId": "@kbn/es-query", "scope": "common", @@ -11913,7 +11913,7 @@ "section": "def-common.AggregateQuery", "text": "AggregateQuery" }, - ", timeField?: string | undefined) => ", + "; timeField?: string | undefined; titleForInspector?: string | undefined; descriptionForInspector?: string | undefined; }) => ", { "pluginId": "expressions", "scope": "common", @@ -11930,38 +11930,71 @@ { "parentPluginId": "data", "id": "def-common.aggregateQueryToAst.$1", - "type": "CompoundType", - "tags": [], - "label": "query", - "description": [], - "signature": [ - { - "pluginId": "@kbn/es-query", - "scope": "common", - "docId": "kibKbnEsQueryPluginApi", - "section": "def-common.AggregateQuery", - "text": "AggregateQuery" - } - ], - "path": "src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - }, - { - "parentPluginId": "data", - "id": "def-common.aggregateQueryToAst.$2", - "type": "string", + "type": "Object", "tags": [], - "label": "timeField", + "label": "{\n query,\n timeField,\n titleForInspector,\n descriptionForInspector,\n}", "description": [], - "signature": [ - "string | undefined" - ], "path": "src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts", "deprecated": false, "trackAdoption": false, - "isRequired": false + "children": [ + { + "parentPluginId": "data", + "id": "def-common.aggregateQueryToAst.$1.query", + "type": "CompoundType", + "tags": [], + "label": "query", + "description": [], + "signature": [ + "{ sql: string; } | { esql: string; }" + ], + "path": "src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.aggregateQueryToAst.$1.timeField", + "type": "string", + "tags": [], + "label": "timeField", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.aggregateQueryToAst.$1.titleForInspector", + "type": "string", + "tags": [], + "label": "titleForInspector", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "data", + "id": "def-common.aggregateQueryToAst.$1.descriptionForInspector", + "type": "string", + "tags": [], + "label": "descriptionForInspector", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts", + "deprecated": false, + "trackAdoption": false + } + ] } ], "returnComment": [], diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 128eceaca903e..6d21ae89c341c 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/k | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3285 | 31 | 2619 | 23 | +| 3288 | 31 | 2622 | 23 | ## Client diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 40a7c9bd412d0..e0598b1712072 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-04-12 +date: 2024-04-16 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 e8620926cdc3a..d45734a9b6aae 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-04-12 +date: 2024-04-16 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 16c403ce6e1a8..c52aef0272be1 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-04-12 +date: 2024-04-16 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 a23bf55bf5a84..431d2cd933531 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.devdocs.json b/api_docs/data_visualizer.devdocs.json index 058013cc04b0f..ea7c9cc2f6c47 100644 --- a/api_docs/data_visualizer.devdocs.json +++ b/api_docs/data_visualizer.devdocs.json @@ -356,7 +356,9 @@ "label": "FileDataVisualizerSpec", "description": [], "signature": [ - "React.FunctionComponent" + "React.FunctionComponent<", + "Props", + ">" ], "path": "x-pack/plugins/data_visualizer/public/application/file_data_visualizer/file_data_visualizer.tsx", "deprecated": false, @@ -433,7 +435,9 @@ "label": "IndexDataVisualizerSpec", "description": [], "signature": [ - "React.FunctionComponent" + "React.FunctionComponent<", + "Props", + ">" ], "path": "x-pack/plugins/data_visualizer/public/application/index_data_visualizer/index_data_visualizer.tsx", "deprecated": false, @@ -481,7 +485,13 @@ "label": "DataVisualizerPluginStart", "description": [], "signature": [ - "{ getFileDataVisualizerComponent: () => Promise<() => React.FC>; getIndexDataVisualizerComponent: () => Promise<() => React.FC>; getDataDriftComponent: () => Promise<() => React.FC<", + "{ getFileDataVisualizerComponent: () => Promise<() => ", + "SpecWithLinks", + ">>; getIndexDataVisualizerComponent: () => Promise<() => React.FC<", + "Props", + ">>; getDataDriftComponent: () => Promise<() => React.FC<", "DataDriftDetectionAppStateProps", ">>; getMaxBytesFormatted: () => string; }" ], diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index c9a888d59cb7e..f16aea502610c 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 31 | 3 | 25 | 1 | +| 31 | 3 | 25 | 3 | ## Client diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx index b4e08b727fc6e..5efc685fb429e 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-04-12 +date: 2024-04-16 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 8977f38cdc9be..9b13c4ed423a8 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -17,7 +17,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Referencing plugin(s) | Remove By | | ---------------|-----------|-----------| | | ml, stackAlerts | - | -| | uiActions, guidedOnboarding, home, serverless, spaces, savedObjects, devTools, console, security, visualizations, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, dashboard, aiops, maps, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, licenseManagement, dataVisualizer, ml, fleet, indexManagement, crossClusterReplication, graph, grokdebugger, indexLifecycleManagement, ingestPipelines, logstash, metricsDataAccess, exploratoryView, osquery, infra, monitoring, painlessLab, remoteClusters, rollup, searchprofiler, newsfeed, securitySolution, snapshotRestore, transform, upgradeAssistant, watcher, cloudDataMigration, profiling, apm, observabilityOnboarding, synthetics, uptime, ux, filesManagement, kibanaOverview, visDefaultEditor, expressionHeatmap, expressionLegacyMetricVis, expressionPartitionVis, expressionTagcloud, visTypeTable, visTypeTimelion, visTypeTimeseries, visTypeVega, visTypeVislib | - | +| | uiActions, home, serverless, spaces, savedObjects, devTools, console, security, visualizations, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, dashboard, aiops, maps, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, licenseManagement, dataVisualizer, ml, fleet, indexManagement, crossClusterReplication, graph, grokdebugger, indexLifecycleManagement, ingestPipelines, metricsDataAccess, exploratoryView, osquery, infra, monitoring, painlessLab, remoteClusters, rollup, searchprofiler, newsfeed, securitySolution, snapshotRestore, transform, upgradeAssistant, watcher, profiling, apm, observabilityOnboarding, synthetics, uptime, ux, filesManagement, kibanaOverview, visDefaultEditor, expressionHeatmap, expressionLegacyMetricVis, expressionPartitionVis, expressionTagcloud, visTypeTable, visTypeTimelion, visTypeTimeseries, visTypeVega, visTypeVislib | - | | | encryptedSavedObjects, actions, data, ml, logstash, securitySolution, cloudChat | - | | | actions, ml, savedObjectsTagging, enterpriseSearch | - | | | @kbn/core-saved-objects-browser-internal, @kbn/core, savedObjects, visualizations, aiops, ml, dataVisualizer, dashboardEnhanced, graph, lens, securitySolution, eventAnnotation, @kbn/core-saved-objects-browser-mocks | - | @@ -28,7 +28,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | dashboard, dataVisualizer, stackAlerts, expressionPartitionVis | - | | | stackAlerts, alerting, securitySolution, inputControlVis | - | | | triggersActionsUi | - | -| | spaces, security, remoteClusters, savedObjectsTagging, triggersActionsUi, reporting, licenseManagement, indexManagement, crossClusterReplication, indexLifecycleManagement, ingestPipelines, logstash, rollup, snapshotRestore, upgradeAssistant, watcher, cloudDataMigration | - | +| | spaces, security, remoteClusters, savedObjectsTagging, triggersActionsUi, reporting, licenseManagement, indexManagement, crossClusterReplication, indexLifecycleManagement, ingestPipelines, rollup, snapshotRestore, upgradeAssistant, watcher | - | | | @kbn/core, visualizations, triggersActionsUi | - | | | ruleRegistry, securitySolution, synthetics, uptime, slo | - | | | alerting, discover, securitySolution | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index c40daf29fe7c0..80ebf73b8c69c 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -501,15 +501,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] -## cloudDataMigration - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_integrations/cloud_data_migration/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_integrations/cloud_data_migration/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_integrations/cloud_data_migration/public/application/index.tsx#:~:text=KibanaThemeProvider) | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/cloud_integrations/cloud_data_migration/public/application/index.tsx#:~:text=theme%24) | - | - - - ## cloudSecurityPosture | Deprecated API | Reference location(s) | Remove By | @@ -939,14 +930,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] -## guidedOnboarding - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/guided_onboarding/public/plugin.tsx#:~:text=KibanaThemeProvider), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/guided_onboarding/public/plugin.tsx#:~:text=KibanaThemeProvider), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/guided_onboarding/public/plugin.tsx#:~:text=KibanaThemeProvider) | - | - - - ## home | Deprecated API | Reference location(s) | Remove By | @@ -1120,9 +1103,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/logstash/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/logstash/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/logstash/public/application/index.tsx#:~:text=KibanaThemeProvider) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/logstash/public/plugin.ts#:~:text=license%24) | 8.8.0 | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/logstash/public/application/index.tsx#:~:text=theme%24) | - | | | [save.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/logstash/server/routes/pipeline/save.ts#:~:text=authc) | - | @@ -1173,7 +1154,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [register_ml_alerts.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/alerting/register_ml_alerts.ts#:~:text=registerNavigation) | - | -| | [anomaly_charts_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_charts_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_charts_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx#:~:text=KibanaThemeProvider), [single_metric_viewer_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/single_metric_viewer/single_metric_viewer_embeddable.tsx#:~:text=KibanaThemeProvider), [single_metric_viewer_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/single_metric_viewer/single_metric_viewer_embeddable.tsx#:~:text=KibanaThemeProvider), [single_metric_viewer_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/single_metric_viewer/single_metric_viewer_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_swimlane_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_swimlane_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_swimlane_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=KibanaThemeProvider)+ 5 more | - | +| | [anomaly_charts_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_charts_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx#:~:text=KibanaThemeProvider), [anomaly_charts_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/anomaly_charts/anomaly_charts_embeddable.tsx#:~:text=KibanaThemeProvider), [single_metric_viewer_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/single_metric_viewer/single_metric_viewer_embeddable.tsx#:~:text=KibanaThemeProvider), [single_metric_viewer_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/single_metric_viewer/single_metric_viewer_embeddable.tsx#:~:text=KibanaThemeProvider), [single_metric_viewer_embeddable.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/embeddables/single_metric_viewer/single_metric_viewer_embeddable.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/app.tsx#:~:text=KibanaThemeProvider), [jobs_list_page.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/application/management/jobs_list/components/jobs_list_page/jobs_list_page.tsx#:~:text=KibanaThemeProvider)+ 2 more | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/public/plugin.ts#:~:text=license%24) | 8.8.0 | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/plugin.ts#:~:text=license%24) | 8.8.0 | | | [annotations.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/ml/server/routes/annotations.ts#:~:text=authc) | - | @@ -1445,7 +1426,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx#:~:text=DeprecatedCellValueElementProps), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx#:~:text=DeprecatedCellValueElementProps) | - | | | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx#:~:text=DeprecatedRowRenderer), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/events_viewer/index.tsx#:~:text=DeprecatedRowRenderer) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=BeatFields) | - | -| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField), [table_tab.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx#:~:text=BrowserField)+ 33 more | - | +| | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [helpers.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/drag_and_drop/helpers.ts#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [columns.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/columns.tsx#:~:text=BrowserField), [table_tab.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx#:~:text=BrowserField), [table_tab.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx#:~:text=BrowserField), [enrichment_summary.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx#:~:text=BrowserField)+ 33 more | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/timeline/cells/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/types/header_actions/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/common/lib/kuery/index.ts#:~:text=BrowserFields)+ 109 more | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyRequest) | - | | | [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/search_strategy/index_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/search_strategy/endpoint_fields/index.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse), [middleware.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/endpoint_hosts/store/middleware.ts#:~:text=IndexFieldsStrategyResponse) | - | @@ -1457,7 +1438,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [trusted_app_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/trusted_app_validator.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [trusted_app_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/trusted_app_validator.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID), [api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/service/api_client.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_ID)+ 25 more | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_NAME) | - | | | [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/trusted_apps/constants.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/trusted_apps/index.ts#:~:text=ENDPOINT_TRUSTED_APPS_LIST_DESCRIPTION) | - | -| | [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [event_filter_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [event_filter_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID)+ 24 more | - | +| | [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [event_filter_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [event_filter_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [policy_hooks.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_ID)+ 24 more | - | | | [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_NAME) | - | | | [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [create_event_filters.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_event_filters.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION), [index.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/scripts/endpoint/event_filters/index.ts#:~:text=ENDPOINT_EVENT_FILTERS_LIST_DESCRIPTION) | - | | | [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [lists.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/artifacts/lists.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/host_isolation_exceptions_validator.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_validator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/host_isolation_exceptions_validator.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [constants.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/constants.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [host_isolation_exceptions_api_client.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/management/pages/host_isolation_exceptions/host_isolation_exceptions_api_client.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID), [exceptions_list_item_generator.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/endpoint/data_generators/exceptions_list_item_generator.ts#:~:text=ENDPOINT_HOST_ISOLATION_EXCEPTIONS_LIST_ID)+ 8 more | - | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index f72da4da68651..001cfa60fe7a8 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 6286a6bf03685..04d0b57804ba3 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-04-12 +date: 2024-04-16 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 af2e90c758446..6be8ea856358f 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-04-12 +date: 2024-04-16 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 d562735757538..2886a8aae1852 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'discoverEnhanced'] --- import discoverEnhancedObj from './discover_enhanced.devdocs.json'; diff --git a/api_docs/ecs_data_quality_dashboard.mdx b/api_docs/ecs_data_quality_dashboard.mdx index 4ce200cf3c76e..e2a48e0c364d9 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-04-12 +date: 2024-04-16 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 6d7c81f3d48e5..87b015bc28d0a 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-04-12 +date: 2024-04-16 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 ce099ae47547e..b34e8363c4b39 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-04-12 +date: 2024-04-16 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 4f2509ddd97f1..46190c125a1e0 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-04-12 +date: 2024-04-16 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 528515ebe3382..5197142937b66 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-04-12 +date: 2024-04-16 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 6d8579ea18efd..13f6af3d6b7e5 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-04-12 +date: 2024-04-16 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 6b98ecc5ef820..47f90c187ae50 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-04-12 +date: 2024-04-16 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 2ca5eb5952ca4..ab0b0a7a46a19 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-04-12 +date: 2024-04-16 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 925fb4d9b536e..cde53f8b837af 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-04-12 +date: 2024-04-16 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 8db309f9be7ea..2f0d514c8ba5d 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-04-12 +date: 2024-04-16 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 471e8d318e75b..efe5372257aed 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-04-12 +date: 2024-04-16 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 beb14a4412012..971c637b19a8f 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-04-12 +date: 2024-04-16 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 2d0f269053199..456b96810ee2d 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-04-12 +date: 2024-04-16 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 16d0e2c7d2312..614a33c146ca3 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-04-12 +date: 2024-04-16 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 c6897e5dd9064..790abc9fbd8fe 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-04-12 +date: 2024-04-16 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 7a3c8008e7d7a..19b2211595ac0 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-04-12 +date: 2024-04-16 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 0413a27b78c46..94dac37366a85 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-04-12 +date: 2024-04-16 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 c513b7c9a1ee8..9863a545a4e2f 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-04-12 +date: 2024-04-16 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 8da9b27c8c183..1285f33271512 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-04-12 +date: 2024-04-16 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 c45e8dee87e6e..4988acc0fbd4f 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-04-12 +date: 2024-04-16 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 abc38f0a8d0a2..0df71c653cdc6 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-04-12 +date: 2024-04-16 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 969cf7b486428..12a02199813a1 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-04-12 +date: 2024-04-16 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 82add1e96098a..11fab1013d0f0 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-04-12 +date: 2024-04-16 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 4fe700a3b605b..1998ff7f16153 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressionXY'] --- import expressionXYObj from './expression_x_y.devdocs.json'; diff --git a/api_docs/expressions.mdx b/api_docs/expressions.mdx index adcba55a4cb2f..f4655f8b220b6 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'expressions'] --- import expressionsObj from './expressions.devdocs.json'; diff --git a/api_docs/features.mdx b/api_docs/features.mdx index 4085d4a272737..e2c7599b491f1 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-04-12 +date: 2024-04-16 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 430038c6482a4..dddf75ec1b75e 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-04-12 +date: 2024-04-16 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 a6f136b75ba5a..364171e0903f4 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-04-12 +date: 2024-04-16 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 d51507052e6cc..14ebb2b1d2b51 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-04-12 +date: 2024-04-16 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 1a03a71436af7..9236d059bc3a1 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-04-12 +date: 2024-04-16 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 c85428b2bdccd..667fd650cfe8c 100644 --- a/api_docs/fleet.devdocs.json +++ b/api_docs/fleet.devdocs.json @@ -1317,6 +1317,20 @@ "trackAdoption": false, "children": [], "returnComment": [] + }, + { + "parentPluginId": "fleet", + "id": "def-public.IntegrationCardItem.isCollectionCard", + "type": "CompoundType", + "tags": [], + "label": "isCollectionCard", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/fleet/public/applications/integrations/sections/epm/screens/home/card_utils.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 67109c6bccf2d..90946218d5816 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-04-12 +date: 2024-04-16 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 | |-------------------|-----------|------------------------|-----------------| -| 1297 | 5 | 1176 | 66 | +| 1298 | 5 | 1177 | 66 | ## Client diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index 48a0cdd0cffeb..40b613b5a629d 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-04-12 +date: 2024-04-16 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 a90d57070e342..9cf07fabbf04b 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.devdocs.json b/api_docs/home.devdocs.json index c19eb9f27097c..7c9568e675d17 100644 --- a/api_docs/home.devdocs.json +++ b/api_docs/home.devdocs.json @@ -326,48 +326,19 @@ }, { "parentPluginId": "home", - "id": "def-public.AddDataTab.component", + "id": "def-public.AddDataTab.getComponent", "type": "Function", "tags": [], - "label": "component", + "label": "getComponent", "description": [], "signature": [ - "React.FunctionComponent<{}>" + "() => JSX.Element" ], "path": "src/plugins/home/public/services/add_data/add_data_service.ts", "deprecated": false, "trackAdoption": false, - "returnComment": [], - "children": [ - { - "parentPluginId": "home", - "id": "def-public.AddDataTab.component.$1", - "type": "CompoundType", - "tags": [], - "label": "props", - "description": [], - "signature": [ - "P & { children?: React.ReactNode; }" - ], - "path": "node_modules/@types/react/index.d.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "home", - "id": "def-public.AddDataTab.component.$2", - "type": "Any", - "tags": [], - "label": "context", - "description": [], - "signature": [ - "any" - ], - "path": "node_modules/@types/react/index.d.ts", - "deprecated": false, - "trackAdoption": false - } - ] + "children": [], + "returnComment": [] } ], "initialIsOpen": false diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 08c259a08797b..b507368e758d3 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 151 | 0 | 111 | 1 | +| 149 | 0 | 111 | 1 | ## Client diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index 343240a486131..562595a295694 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-04-12 +date: 2024-04-16 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 136c81d73b356..ef621fd1d4753 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-04-12 +date: 2024-04-16 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 bce6c35294441..d3415b4088948 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-04-12 +date: 2024-04-16 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 ac35e1c0bbfa7..aa3c2e6b12731 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-04-12 +date: 2024-04-16 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 05bc1c70aff7f..6a68f3f10cca6 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-04-12 +date: 2024-04-16 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 74acc46d4ee39..f8e661136f244 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-04-12 +date: 2024-04-16 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 f03f1ed77c868..662b45064f201 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-04-12 +date: 2024-04-16 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 fc666fa754024..d65c2e0a871c6 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-04-12 +date: 2024-04-16 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 adce4ccff2906..3204602540f24 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-04-12 +date: 2024-04-16 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 4b14b0dfc8360..bae4b44990212 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-04-12 +date: 2024-04-16 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 10ee104c3408f..ed0ccf7346250 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-04-12 +date: 2024-04-16 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 50062377e33a6..6e65644b8edc0 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-04-12 +date: 2024-04-16 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 6b9c3a3f18206..f0b3aebc09ad2 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-04-12 +date: 2024-04-16 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 d73b9754cd463..4d0a4c8fd8349 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-04-12 +date: 2024-04-16 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 108330a0cd952..881f8316f9ab0 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-04-12 +date: 2024-04-16 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 851a2ab871d9a..02088416dc820 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-04-12 +date: 2024-04-16 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 7613f2a5b70e5..762d96fc59256 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-04-12 +date: 2024-04-16 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 123968b8eb917..6faf12980d8ca 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.devdocs.json b/api_docs/kbn_analytics_client.devdocs.json index 085dcb99bbe7e..6ad9c7a1c5690 100644 --- a/api_docs/kbn_analytics_client.devdocs.json +++ b/api_docs/kbn_analytics_client.devdocs.json @@ -914,10 +914,50 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/common/lib/telemetry/telemetry_client.ts" + }, + { + "plugin": "securitySolutionServerless", + "path": "x-pack/plugins/security_solution_serverless/server/task_manager/nlp_cleanup_task/nlp_cleanup_task.ts" + }, + { + "plugin": "securitySolutionServerless", + "path": "x-pack/plugins/security_solution_serverless/server/task_manager/nlp_cleanup_task/nlp_cleanup_task.ts" + }, { "plugin": "apm", "path": "x-pack/plugins/observability_solution/apm/public/services/telemetry/telemetry_client.ts" }, + { + "plugin": "observabilityOnboarding", + "path": "x-pack/plugins/observability_solution/observability_onboarding/public/hooks/use_flow_progress_telemetry.ts" + }, + { + "plugin": "observabilityOnboarding", + "path": "x-pack/plugins/observability_solution/observability_onboarding/public/application/app.tsx" + }, { "plugin": "observabilityAIAssistant", "path": "x-pack/plugins/observability_solution/observability_ai_assistant/public/service/create_chat_service.test.ts" diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index e842fcaf5e44c..2a2ae8761b880 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-04-12 +date: 2024-04-16 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 549d4458028fa..a68a7255ded0b 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-04-12 +date: 2024-04-16 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 8ff3a35af9437..dc37c40e81c85 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-04-12 +date: 2024-04-16 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 0c17bd484a3b0..d674f194aa179 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-04-12 +date: 2024-04-16 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 5a56dd26106f0..b97cee01c2040 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-04-12 +date: 2024-04-16 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 c2c5845b4c15a..a3210c0c9dc51 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-04-12 +date: 2024-04-16 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 d59395997fff7..7d697f7ff541a 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-04-12 +date: 2024-04-16 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 b5f06fb1954ff..0032224f48207 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-04-12 +date: 2024-04-16 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 74ddd5bc1356a..3bacffcf79f6c 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-04-12 +date: 2024-04-16 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 675768900cc2c..b2ea4ef7f6c18 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-04-12 +date: 2024-04-16 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 3cef512fe2d92..e37b6c707b531 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-04-12 +date: 2024-04-16 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 5473f420741a2..29386f94ac994 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-04-12 +date: 2024-04-16 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 ce19ccc019502..86c83a95e74d8 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-04-12 +date: 2024-04-16 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 6db2d376d7772..2f61eaadd3422 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-04-12 +date: 2024-04-16 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 58d6127f27622..c6b261ee811fe 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-04-12 +date: 2024-04-16 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 9227928421dfc..489c037d66467 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-04-12 +date: 2024-04-16 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 0c9945e7f2c01..479d505811ebe 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-04-12 +date: 2024-04-16 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 ac670419f35ca..2cb9cfa9aa9da 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-04-12 +date: 2024-04-16 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 aa228b175d1c9..5fb284c5ba111 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-04-12 +date: 2024-04-16 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 a0daaa5704bf4..92c187a023206 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-04-12 +date: 2024-04-16 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 706faeead4839..b1828084c578e 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-04-12 +date: 2024-04-16 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 6825dfc3130fc..8d6cc20d75147 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-04-12 +date: 2024-04-16 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 382ef93f77752..2aeabb9ddc9d6 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-04-12 +date: 2024-04-16 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 c2790674edae0..610d3d6a5bd96 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-04-12 +date: 2024-04-16 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 7cf94d72f840d..4cb14adc7fe98 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-04-12 +date: 2024-04-16 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 a1790a2529a98..4bceb94b01be7 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-04-12 +date: 2024-04-16 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 1e905597cf465..ced8870b348d5 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-04-12 +date: 2024-04-16 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 094eba480136b..1afe69c2304bd 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-04-12 +date: 2024-04-16 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 45f451cc61034..6791a0512a810 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-04-12 +date: 2024-04-16 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 ca5d05c907094..78573f6b23711 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-04-12 +date: 2024-04-16 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 107f6895e7bef..a7e178e102537 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-04-12 +date: 2024-04-16 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 b8848307da9ca..69ccadfa1f4a2 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-04-12 +date: 2024-04-16 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 549af81278fad..5435ee220e310 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-04-12 +date: 2024-04-16 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 a1c0b2a2f2f10..77936b6c07c58 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-04-12 +date: 2024-04-16 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 b648c8dc83ea3..398c4d32699fc 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-04-12 +date: 2024-04-16 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 54700d71fa02f..c3de7d3ba3fac 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-04-12 +date: 2024-04-16 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 2187b504f50d1..dc07f0a72cfb9 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-04-12 +date: 2024-04-16 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 d106369a49142..89a9f79ece6ea 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-04-12 +date: 2024-04-16 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 aea1279d18c0c..2be56716ae045 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-04-12 +date: 2024-04-16 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 deda53de0dcb5..fb40e5169d177 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-04-12 +date: 2024-04-16 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 2d9bdc7335354..795076e600680 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-04-12 +date: 2024-04-16 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 0227ad0b80c12..4fadbf427ce6d 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-04-12 +date: 2024-04-16 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 1c4a9140f3812..43b0b1727c65f 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-04-12 +date: 2024-04-16 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 fa9fe360762c4..3095dc3f3ef14 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-04-12 +date: 2024-04-16 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 ef335832d4cf1..e9334b3ad0751 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-04-12 +date: 2024-04-16 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 bbd13508712e1..e8d7e0037198c 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-04-12 +date: 2024-04-16 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 417d390ca8dd8..4af4e238e016e 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-04-12 +date: 2024-04-16 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 c5f07048264e4..4a495391bbd4e 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-04-12 +date: 2024-04-16 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 45ca1e1ee7caf..da31e87dd1c22 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-04-12 +date: 2024-04-16 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 c534545c8a185..7d1588983c817 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-04-12 +date: 2024-04-16 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 afb07c16e5070..5f1093518b838 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-04-12 +date: 2024-04-16 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 0cc6e3b2315b2..b71a81bcdcd9a 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-04-12 +date: 2024-04-16 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 e803c443cc70c..14648ce3da729 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-04-12 +date: 2024-04-16 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 9dec1428eeb85..81956c454929d 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-04-12 +date: 2024-04-16 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 ced449044492c..2c0e572af9ffc 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-04-12 +date: 2024-04-16 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 facbd7189c11b..b21277f3b15b7 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-04-12 +date: 2024-04-16 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 123334151531e..822ba259da0e1 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-04-12 +date: 2024-04-16 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.devdocs.json b/api_docs/kbn_core_chrome_browser.devdocs.json index 924dce29f05ac..d4143851021b9 100644 --- a/api_docs/kbn_core_chrome_browser.devdocs.json +++ b/api_docs/kbn_core_chrome_browser.devdocs.json @@ -3696,7 +3696,7 @@ "label": "AppDeepLinkId", "description": [], "signature": [ - "\"fleet\" | \"graph\" | \"ml\" | \"monitoring\" | \"metrics\" | \"management\" | \"synthetics\" | \"ux\" | \"apm\" | \"logs\" | \"profiling\" | \"dashboards\" | \"observabilityAIAssistant\" | \"home\" | \"canvas\" | \"integrations\" | \"discover\" | \"observability-overview\" | \"appSearch\" | \"dev_tools\" | \"maps\" | \"visualize\" | \"dev_tools:console\" | \"dev_tools:searchprofiler\" | \"dev_tools:painless_lab\" | \"dev_tools:grokdebugger\" | \"ml:notifications\" | \"ml:nodes\" | \"ml:overview\" | \"ml:memoryUsage\" | \"ml:settings\" | \"ml:dataVisualizer\" | \"ml:anomalyDetection\" | \"ml:anomalyExplorer\" | \"ml:singleMetricViewer\" | \"ml:dataDrift\" | \"ml:dataFrameAnalytics\" | \"ml:resultExplorer\" | \"ml:analyticsMap\" | \"ml:aiOps\" | \"ml:logRateAnalysis\" | \"ml:logPatternAnalysis\" | \"ml:changePointDetections\" | \"ml:modelManagement\" | \"ml:nodesOverview\" | \"ml:esqlDataVisualizer\" | \"ml:fileUpload\" | \"ml:indexDataVisualizer\" | \"ml:calendarSettings\" | \"ml:filterListsSettings\" | \"osquery\" | \"management:transform\" | \"management:watcher\" | \"management:cases\" | \"management:tags\" | \"management:maintenanceWindows\" | \"management:settings\" | \"management:dataViews\" | \"management:spaces\" | \"management:users\" | \"management:migrate_data\" | \"management:search_sessions\" | \"management:filesManagement\" | \"management:roles\" | \"management:reporting\" | \"management:aiAssistantManagementSelection\" | \"management:observabilityAiAssistantManagement\" | \"management:api_keys\" | \"management:cross_cluster_replication\" | \"management:license_management\" | \"management:index_lifecycle_management\" | \"management:index_management\" | \"management:ingest_pipelines\" | \"management:jobsListLink\" | \"management:objects\" | \"management:pipelines\" | \"management:remote_clusters\" | \"management:role_mappings\" | \"management:rollup_jobs\" | \"management:snapshot_restore\" | \"management:triggersActions\" | \"management:triggersActionsConnectors\" | \"management:upgrade_assistant\" | \"enterpriseSearch\" | \"enterpriseSearchContent\" | \"enterpriseSearchApplications\" | \"enterpriseSearchAnalytics\" | \"workplaceSearch\" | \"serverlessElasticsearch\" | \"serverlessConnectors\" | \"enterpriseSearchContent:connectors\" | \"enterpriseSearchContent:searchIndices\" | \"enterpriseSearchContent:webCrawlers\" | \"enterpriseSearchContent:playground\" | \"enterpriseSearchApplications:searchApplications\" | \"appSearch:engines\" | \"observability-logs-explorer\" | \"observabilityOnboarding\" | \"slo\" | \"logs:settings\" | \"logs:stream\" | \"logs:log-categories\" | \"logs:anomalies\" | \"observability-overview:cases\" | \"observability-overview:rules\" | \"observability-overview:alerts\" | \"observability-overview:cases_create\" | \"observability-overview:cases_configure\" | \"metrics:settings\" | \"metrics:hosts\" | \"metrics:inventory\" | \"metrics:metrics-explorer\" | \"metrics:assetDetails\" | \"apm:traces\" | \"apm:dependencies\" | \"apm:service-map\" | \"apm:settings\" | \"apm:services\" | \"apm:service-groups-list\" | \"apm:storage-explorer\" | \"synthetics:overview\" | \"synthetics:certificates\" | \"profiling:stacktraces\" | \"profiling:flamegraphs\" | \"profiling:functions\" | \"securitySolutionUI\" | \"securitySolutionUI:\" | \"securitySolutionUI:cases\" | \"securitySolutionUI:rules\" | \"securitySolutionUI:alerts\" | \"securitySolutionUI:policy\" | \"securitySolutionUI:overview\" | \"securitySolutionUI:dashboards\" | \"securitySolutionUI:cases_create\" | \"securitySolutionUI:cases_configure\" | \"securitySolutionUI:hosts\" | \"securitySolutionUI:users\" | \"securitySolutionUI:cloud_defend-policies\" | \"securitySolutionUI:cloud_security_posture-dashboard\" | \"securitySolutionUI:cloud_security_posture-findings\" | \"securitySolutionUI:cloud_security_posture-benchmarks\" | \"securitySolutionUI:kubernetes\" | \"securitySolutionUI:network\" | \"securitySolutionUI:sessions\" | \"securitySolutionUI:explore\" | \"securitySolutionUI:assets\" | \"securitySolutionUI:cloud_defend\" | \"securitySolutionUI:administration\" | \"securitySolutionUI:blocklist\" | \"securitySolutionUI:cloud_security_posture-rules\" | \"securitySolutionUI:data_quality\" | \"securitySolutionUI:detections\" | \"securitySolutionUI:detection_response\" | \"securitySolutionUI:endpoints\" | \"securitySolutionUI:event_filters\" | \"securitySolutionUI:exceptions\" | \"securitySolutionUI:host_isolation_exceptions\" | \"securitySolutionUI:hosts-anomalies\" | \"securitySolutionUI:hosts-risk\" | \"securitySolutionUI:hosts-events\" | \"securitySolutionUI:investigations\" | \"securitySolutionUI:get_started\" | \"securitySolutionUI:machine_learning-landing\" | \"securitySolutionUI:network-anomalies\" | \"securitySolutionUI:network-dns\" | \"securitySolutionUI:network-events\" | \"securitySolutionUI:network-http\" | \"securitySolutionUI:network-tls\" | \"securitySolutionUI:response_actions_history\" | \"securitySolutionUI:rules-add\" | \"securitySolutionUI:rules-create\" | \"securitySolutionUI:rules-landing\" | \"securitySolutionUI:threat_intelligence\" | \"securitySolutionUI:timelines\" | \"securitySolutionUI:timelines-templates\" | \"securitySolutionUI:trusted_apps\" | \"securitySolutionUI:uncommon_processes\" | \"securitySolutionUI:users-anomalies\" | \"securitySolutionUI:users-authentications\" | \"securitySolutionUI:users-events\" | \"securitySolutionUI:users-risk\" | \"securitySolutionUI:entity_analytics\" | \"securitySolutionUI:entity_analytics-management\" | \"securitySolutionUI:coverage-overview\" | \"fleet:settings\" | \"fleet:policies\" | \"fleet:data_streams\" | \"fleet:enrollment_tokens\" | \"fleet:uninstall_tokens\" | \"fleet:agents\"" + "\"fleet\" | \"graph\" | \"ml\" | \"monitoring\" | \"metrics\" | \"management\" | \"synthetics\" | \"ux\" | \"apm\" | \"logs\" | \"profiling\" | \"dashboards\" | \"observabilityAIAssistant\" | \"home\" | \"canvas\" | \"integrations\" | \"discover\" | \"observability-overview\" | \"appSearch\" | \"dev_tools\" | \"maps\" | \"visualize\" | \"dev_tools:console\" | \"dev_tools:searchprofiler\" | \"dev_tools:painless_lab\" | \"dev_tools:grokdebugger\" | \"ml:notifications\" | \"ml:nodes\" | \"ml:overview\" | \"ml:memoryUsage\" | \"ml:settings\" | \"ml:dataVisualizer\" | \"ml:anomalyDetection\" | \"ml:anomalyExplorer\" | \"ml:singleMetricViewer\" | \"ml:dataDrift\" | \"ml:dataFrameAnalytics\" | \"ml:resultExplorer\" | \"ml:analyticsMap\" | \"ml:aiOps\" | \"ml:logRateAnalysis\" | \"ml:logPatternAnalysis\" | \"ml:changePointDetections\" | \"ml:modelManagement\" | \"ml:nodesOverview\" | \"ml:esqlDataVisualizer\" | \"ml:fileUpload\" | \"ml:indexDataVisualizer\" | \"ml:calendarSettings\" | \"ml:filterListsSettings\" | \"osquery\" | \"management:transform\" | \"management:watcher\" | \"management:cases\" | \"management:tags\" | \"management:maintenanceWindows\" | \"management:settings\" | \"management:dataViews\" | \"management:spaces\" | \"management:users\" | \"management:migrate_data\" | \"management:search_sessions\" | \"management:filesManagement\" | \"management:roles\" | \"management:reporting\" | \"management:aiAssistantManagementSelection\" | \"management:observabilityAiAssistantManagement\" | \"management:api_keys\" | \"management:cross_cluster_replication\" | \"management:license_management\" | \"management:index_lifecycle_management\" | \"management:index_management\" | \"management:ingest_pipelines\" | \"management:jobsListLink\" | \"management:objects\" | \"management:pipelines\" | \"management:remote_clusters\" | \"management:role_mappings\" | \"management:rollup_jobs\" | \"management:snapshot_restore\" | \"management:triggersActions\" | \"management:triggersActionsConnectors\" | \"management:upgrade_assistant\" | \"enterpriseSearch\" | \"enterpriseSearchContent\" | \"enterpriseSearchApplications\" | \"enterpriseSearchAnalytics\" | \"workplaceSearch\" | \"serverlessElasticsearch\" | \"serverlessConnectors\" | \"enterpriseSearchContent:connectors\" | \"enterpriseSearchContent:searchIndices\" | \"enterpriseSearchContent:webCrawlers\" | \"enterpriseSearchContent:playground\" | \"enterpriseSearchApplications:searchApplications\" | \"appSearch:engines\" | \"observability-logs-explorer\" | \"observabilityOnboarding\" | \"slo\" | \"logs:settings\" | \"logs:stream\" | \"logs:log-categories\" | \"logs:anomalies\" | \"observability-overview:cases\" | \"observability-overview:rules\" | \"observability-overview:alerts\" | \"observability-overview:cases_create\" | \"observability-overview:cases_configure\" | \"metrics:settings\" | \"metrics:hosts\" | \"metrics:inventory\" | \"metrics:metrics-explorer\" | \"metrics:assetDetails\" | \"apm:traces\" | \"apm:dependencies\" | \"apm:service-map\" | \"apm:settings\" | \"apm:services\" | \"apm:service-groups-list\" | \"apm:storage-explorer\" | \"synthetics:overview\" | \"synthetics:certificates\" | \"profiling:stacktraces\" | \"profiling:flamegraphs\" | \"profiling:functions\" | \"securitySolutionUI\" | \"securitySolutionUI:\" | \"securitySolutionUI:cases\" | \"securitySolutionUI:rules\" | \"securitySolutionUI:alerts\" | \"securitySolutionUI:policy\" | \"securitySolutionUI:overview\" | \"securitySolutionUI:dashboards\" | \"securitySolutionUI:cases_create\" | \"securitySolutionUI:cases_configure\" | \"securitySolutionUI:hosts\" | \"securitySolutionUI:users\" | \"securitySolutionUI:cloud_defend-policies\" | \"securitySolutionUI:cloud_security_posture-dashboard\" | \"securitySolutionUI:cloud_security_posture-findings\" | \"securitySolutionUI:cloud_security_posture-benchmarks\" | \"securitySolutionUI:kubernetes\" | \"securitySolutionUI:network\" | \"securitySolutionUI:explore\" | \"securitySolutionUI:assets\" | \"securitySolutionUI:cloud_defend\" | \"securitySolutionUI:administration\" | \"securitySolutionUI:blocklist\" | \"securitySolutionUI:cloud_security_posture-rules\" | \"securitySolutionUI:data_quality\" | \"securitySolutionUI:detections\" | \"securitySolutionUI:detection_response\" | \"securitySolutionUI:endpoints\" | \"securitySolutionUI:event_filters\" | \"securitySolutionUI:exceptions\" | \"securitySolutionUI:host_isolation_exceptions\" | \"securitySolutionUI:hosts-all\" | \"securitySolutionUI:hosts-anomalies\" | \"securitySolutionUI:hosts-risk\" | \"securitySolutionUI:hosts-events\" | \"securitySolutionUI:hosts-sessions\" | \"securitySolutionUI:hosts-uncommon_processes\" | \"securitySolutionUI:investigations\" | \"securitySolutionUI:get_started\" | \"securitySolutionUI:machine_learning-landing\" | \"securitySolutionUI:network-anomalies\" | \"securitySolutionUI:network-dns\" | \"securitySolutionUI:network-events\" | \"securitySolutionUI:network-flows\" | \"securitySolutionUI:network-http\" | \"securitySolutionUI:network-tls\" | \"securitySolutionUI:response_actions_history\" | \"securitySolutionUI:rules-add\" | \"securitySolutionUI:rules-create\" | \"securitySolutionUI:rules-landing\" | \"securitySolutionUI:threat_intelligence\" | \"securitySolutionUI:timelines\" | \"securitySolutionUI:timelines-templates\" | \"securitySolutionUI:trusted_apps\" | \"securitySolutionUI:users-all\" | \"securitySolutionUI:users-anomalies\" | \"securitySolutionUI:users-authentications\" | \"securitySolutionUI:users-events\" | \"securitySolutionUI:users-risk\" | \"securitySolutionUI:entity_analytics\" | \"securitySolutionUI:entity_analytics-management\" | \"securitySolutionUI:entity_analytics-asset-classification\" | \"securitySolutionUI:coverage-overview\" | \"fleet:settings\" | \"fleet:policies\" | \"fleet:data_streams\" | \"fleet:enrollment_tokens\" | \"fleet:uninstall_tokens\" | \"fleet:agents\"" ], "path": "packages/core/chrome/core-chrome-browser/src/project_navigation.ts", "deprecated": false, diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 70b5dc7112dc5..da9d1abd784cd 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-04-12 +date: 2024-04-16 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 284a31fb8f2b8..733fdc29d69f6 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-04-12 +date: 2024-04-16 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 3e99087eff489..6dcd9ea9c66ff 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-04-12 +date: 2024-04-16 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 697a4a513b09d..5698c8eadeebd 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-04-12 +date: 2024-04-16 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 eb7ded942f5ce..19c6bb43f1ea2 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-04-12 +date: 2024-04-16 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 7d9961672129b..5daa2408bb661 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-04-12 +date: 2024-04-16 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 500ed1b3864ac..5090699632e37 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-04-12 +date: 2024-04-16 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 a7650c08d6dc5..03a618ad8c713 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-04-12 +date: 2024-04-16 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 254d116525560..3f65a8a6fc48e 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-04-12 +date: 2024-04-16 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 5f3ff0741179f..7609537798d66 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-04-12 +date: 2024-04-16 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 316e72fae1f5e..9868ab0d804d3 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-04-12 +date: 2024-04-16 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 90fcea29b5a90..43981dbb917ce 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-04-12 +date: 2024-04-16 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 5be15e7ab5d23..e79ed028d74ae 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-04-12 +date: 2024-04-16 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 266e4990bf0ef..6c1d99b8f4fe0 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-04-12 +date: 2024-04-16 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 6757e0a1776e4..f18a81cd7d0de 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-04-12 +date: 2024-04-16 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 047622eac4ab8..b143345c48fa9 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-04-12 +date: 2024-04-16 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 76d7562ee035b..a0f96eb1cf79f 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-04-12 +date: 2024-04-16 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 1c675ae2a4d94..c1bcbb0740b57 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-04-12 +date: 2024-04-16 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 380c16501cc37..28d626a31e993 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-04-12 +date: 2024-04-16 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 ee6d1789f12b6..5c87a7782b80b 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-04-12 +date: 2024-04-16 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 8b2b137393507..18775f6939ac8 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-04-12 +date: 2024-04-16 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 36e3829fc4fc7..eaeeb1b7493f5 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-04-12 +date: 2024-04-16 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 7c34c1bc6d9b2..20ab15d087647 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-04-12 +date: 2024-04-16 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 d591300ff956a..ac2cd884d1523 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-04-12 +date: 2024-04-16 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 dcb00187ccfde..7acefe3e4807d 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-04-12 +date: 2024-04-16 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 095efee27d46f..f1b09ff76e83d 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-04-12 +date: 2024-04-16 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 fc1393499d6a9..4795d56c2041b 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-04-12 +date: 2024-04-16 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 2b0ba11157fe9..99c70c1753658 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-04-12 +date: 2024-04-16 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 08fc6a7e490c2..6d7b050a4d00b 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-04-12 +date: 2024-04-16 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 90887713eec08..8b0d329a0bee2 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-04-12 +date: 2024-04-16 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 dad0e795373ad..4e58cbb7b661f 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-04-12 +date: 2024-04-16 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 ae1c87e94caaa..caad0a761be73 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-04-12 +date: 2024-04-16 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 897441cd899b0..ccb6faac10b3e 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-04-12 +date: 2024-04-16 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 2ab69a7c7ac51..ecc49f44f25bd 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-04-12 +date: 2024-04-16 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 1f57d71c3567a..0119aeffa3e27 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-04-12 +date: 2024-04-16 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 d703301acca94..1c22d79c4f8ee 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-04-12 +date: 2024-04-16 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 cd5e0a65658ff..49e108ce52f47 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-04-12 +date: 2024-04-16 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 5859eaf26b8aa..110f2c07f2c2b 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-04-12 +date: 2024-04-16 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 44e165839f8f8..fe2dc3d2521c5 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-04-12 +date: 2024-04-16 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 09dd5dbbf26f7..59ec5f2122cc7 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-04-12 +date: 2024-04-16 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 4a6404459862b..eaa27338ee79c 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-04-12 +date: 2024-04-16 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 080caeb845e15..830416ed3d048 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-04-12 +date: 2024-04-16 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 da972286503ac..ee99047058dec 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-04-12 +date: 2024-04-16 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 56cf5d602772c..331548cb4abeb 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-04-12 +date: 2024-04-16 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 fdf529bea877f..62db26a106f08 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-04-12 +date: 2024-04-16 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 1ccfad18a245e..ff5e825ea4c67 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-04-12 +date: 2024-04-16 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 2bbd65d415646..d3dc5f852fd0a 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-04-12 +date: 2024-04-16 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 e3f9aeeb8511b..e18b7b6214d94 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-04-12 +date: 2024-04-16 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 441a642e8af07..fb04c281fe41e 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -3754,6 +3754,10 @@ "plugin": "banners", "path": "x-pack/plugins/banners/server/routes/info.ts" }, + { + "plugin": "stackConnectors", + "path": "x-pack/plugins/stack_connectors/server/routes/get_well_known_email_service.ts" + }, { "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/server/routes/tags/get_all_tags.ts" @@ -4494,10 +4498,6 @@ "plugin": "snapshotRestore", "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" }, - { - "plugin": "stackConnectors", - "path": "x-pack/plugins/stack_connectors/server/routes/get_well_known_email_service.ts" - }, { "plugin": "upgradeAssistant", "path": "x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.ts" @@ -6340,6 +6340,10 @@ "plugin": "assetManager", "path": "x-pack/plugins/asset_manager/server/routes/sample_assets.ts" }, + { + "plugin": "stackConnectors", + "path": "x-pack/plugins/stack_connectors/server/routes/valid_slack_api_channels.ts" + }, { "plugin": "savedObjectsTagging", "path": "x-pack/plugins/saved_objects_tagging/server/routes/tags/create_tag.ts" @@ -6988,10 +6992,6 @@ "plugin": "snapshotRestore", "path": "x-pack/plugins/snapshot_restore/server/routes/api/policy.ts" }, - { - "plugin": "stackConnectors", - "path": "x-pack/plugins/stack_connectors/server/routes/valid_slack_api_channels.ts" - }, { "plugin": "upgradeAssistant", "path": "x-pack/plugins/upgrade_assistant/server/routes/reindex_indices/reindex_indices.ts" @@ -8184,7 +8184,7 @@ }, { "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/update_rule.ts" + "path": "x-pack/plugins/alerting/server/routes/rule/apis/update/update_rule_route.ts" }, { "plugin": "guidedOnboarding", @@ -8350,6 +8350,10 @@ "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" }, + { + "plugin": "enterpriseSearch", + "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/connectors.ts" + }, { "plugin": "enterpriseSearch", "path": "x-pack/plugins/enterprise_search/server/routes/enterprise_search/crawler/crawler_crawl_rules.ts" @@ -8546,26 +8550,6 @@ "plugin": "actions", "path": "x-pack/plugins/actions/server/routes/update.test.ts" }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/update_rule.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/update_rule.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/update_rule.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/update_rule.test.ts" - }, - { - "plugin": "alerting", - "path": "x-pack/plugins/alerting/server/routes/update_rule.test.ts" - }, { "plugin": "globalSearch", "path": "x-pack/plugins/global_search/server/routes/index.test.ts" @@ -8646,6 +8630,26 @@ "plugin": "spaces", "path": "x-pack/plugins/spaces/server/routes/api/external/put.test.ts" }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/update/update_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/update/update_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/update/update_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/update/update_rule_route.test.ts" + }, + { + "plugin": "alerting", + "path": "x-pack/plugins/alerting/server/routes/rule/apis/update/update_rule_route.test.ts" + }, { "plugin": "indexManagement", "path": "x-pack/plugins/index_management/server/test/helpers/router_mock.ts" @@ -14167,47 +14171,47 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/status.ts" + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timeline/index.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/privileges.ts" + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timelines/index.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/settings.ts" + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/resolve_timeline/index.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timeline/index.ts" + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/get_draft_timelines/index.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/get_timelines/index.ts" + "path": "x-pack/plugins/security_solution/server/lib/security_integrations/cribl/routes/index.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/resolve_timeline/index.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/status.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/get_draft_timelines/index.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/get.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/status.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/privileges.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/get.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/status.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/privileges.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/privileges.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/security_integrations/cribl/routes/index.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/settings.ts" }, { "plugin": "securitySolution", @@ -15525,27 +15529,27 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/init.ts" + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/export_timelines/index.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.ts" + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/copy_timeline/index.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.ts" + "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/clean_draft_timelines/index.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/export_timelines/index.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/upsert.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/timelines/copy_timeline/index.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/upload_csv.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/timeline/routes/draft_timelines/clean_draft_timelines/index.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/routes/preview.ts" }, { "plugin": "securitySolution", @@ -15553,15 +15557,15 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_score/routes/preview.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/init.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/upsert.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/enable.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/asset_criticality/routes/upload_csv.ts" + "path": "x-pack/plugins/security_solution/server/lib/entity_analytics/risk_engine/routes/disable.ts" }, { "plugin": "securitySolution", diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index 69464eafa1024..bad8649e26f8d 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-04-12 +date: 2024-04-16 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 20feab431f870..16384d9d29336 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-04-12 +date: 2024-04-16 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 c54c2b7d15da8..33b5b3f5e13bd 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-04-12 +date: 2024-04-16 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 325fb7d1a723e..4bb93179819a1 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-04-12 +date: 2024-04-16 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 72479fa37c2c6..6707a68884084 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-04-12 +date: 2024-04-16 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 4223c19a32264..ee6eeb276205a 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-04-12 +date: 2024-04-16 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 24913d1a98b5e..c4f582594e031 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-04-12 +date: 2024-04-16 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 13b052cb2b117..655d00ab7f943 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-04-12 +date: 2024-04-16 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 4a75faecd011f..7276520f5fc81 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-04-12 +date: 2024-04-16 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 7d8bcbbe4951e..c1017ffc83f33 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-04-12 +date: 2024-04-16 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 3ddc460ef4f77..6e542243b666f 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-04-12 +date: 2024-04-16 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 8c48afe2cb665..b7f62441649f0 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-04-12 +date: 2024-04-16 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 e9e7d2dc4befa..8d13731badf14 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-04-12 +date: 2024-04-16 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 43825aaf5800a..76ef3015d99f1 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-04-12 +date: 2024-04-16 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 7bdea8ede942b..875dc58bba294 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-04-12 +date: 2024-04-16 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 ee9f81cdb4f92..44d818448aa9d 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-04-12 +date: 2024-04-16 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 17432bf75c312..f35f47654b623 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-04-12 +date: 2024-04-16 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 bb496fb3ee357..ec2feb40197b8 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-04-12 +date: 2024-04-16 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 4f25d330d14e9..f1f3c98f8bdcf 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-04-12 +date: 2024-04-16 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 1023828ba0bbd..12053942b5a07 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-04-12 +date: 2024-04-16 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 60c82c5b27ec8..63d54e2c9874b 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-04-12 +date: 2024-04-16 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 be34de25b383a..4e88e4b6580fe 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-04-12 +date: 2024-04-16 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 2bcb8807129b1..6b61928222ad2 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-04-12 +date: 2024-04-16 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 6a7cd0b89a0ae..560c21c29d250 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-04-12 +date: 2024-04-16 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 48e6a27803893..c6f5c891ccc0b 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-04-12 +date: 2024-04-16 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 08b019266c9ba..c8c38b72797f4 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-04-12 +date: 2024-04-16 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 8f8cb7535b858..9821a5c1b8ca2 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-04-12 +date: 2024-04-16 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 d5c4b0d031626..45bd1b47d4b9e 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-04-12 +date: 2024-04-16 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 832387f0d66a6..ba5b02e66e7c9 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-04-12 +date: 2024-04-16 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 01b9f56ef65ba..321775c4ab131 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-04-12 +date: 2024-04-16 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 385a505b4b6a7..e540ff5b961e7 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-04-12 +date: 2024-04-16 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 965c490abb2bd..0522c7c9ee1ba 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-04-12 +date: 2024-04-16 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 32b0331ad2c67..1bb916259d0d0 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-04-12 +date: 2024-04-16 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 aec5d4fcee443..775b45736a2bc 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-04-12 +date: 2024-04-16 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 3656455b1051d..a1847f8149d58 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-04-12 +date: 2024-04-16 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 1483acb250839..ae2e4ed2dbc4c 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-04-12 +date: 2024-04-16 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 824236b3b38af..caeb6d9cd7bcb 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-04-12 +date: 2024-04-16 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 33cf743a220d3..f544c9f10cb12 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-04-12 +date: 2024-04-16 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 3b4fa1669b625..889e1dee74669 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-04-12 +date: 2024-04-16 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 b54e2f99c2f08..0e8691acd473f 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-04-12 +date: 2024-04-16 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 a4371975578de..33fad47218a96 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-04-12 +date: 2024-04-16 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 bc137b240f14b..a148ef137d66a 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-04-12 +date: 2024-04-16 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 13156b4dace32..5333c8a44700a 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-04-12 +date: 2024-04-16 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 11243a5b5737a..0c29efc054c19 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-04-12 +date: 2024-04-16 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 ba121cfc05cd1..51d88490098e5 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-04-12 +date: 2024-04-16 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 a3da36e661551..22e8924d86a93 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-04-12 +date: 2024-04-16 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 9656e5e25f643..1b6b02d4f3d2d 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-04-12 +date: 2024-04-16 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 c4daa6a8ddf51..27699f9a27481 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-04-12 +date: 2024-04-16 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 098326d02eab9..27851d20bf073 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-04-12 +date: 2024-04-16 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 0779b8f24554a..a017d811e199c 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-04-12 +date: 2024-04-16 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.devdocs.json b/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json index 2b36ef3164491..42f9783143152 100644 --- a/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json +++ b/api_docs/kbn_core_saved_objects_base_server_internal.devdocs.json @@ -2480,6 +2480,17 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-saved-objects-base-server-internal", + "id": "def-common.HASH_TO_VERSION_MAP.casesrules1cb4b03690489e07aa86f283dcea5ce1", + "type": "string", + "tags": [], + "label": "'cases-rules|1cb4b03690489e07aa86f283dcea5ce1'", + "description": [], + "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", "id": "def-common.HASH_TO_VERSION_MAP.casestelemetry3d1b76c39bfb2cc8296b024d73854724", @@ -3296,10 +3307,10 @@ }, { "parentPluginId": "@kbn/core-saved-objects-base-server-internal", - "id": "def-common.HASH_TO_VERSION_MAP.syntheticsmonitor50b48ccda9f2f7d73d31fd50c41bf305", + "id": "def-common.HASH_TO_VERSION_MAP.syntheticsmonitor918c09d935b1dcb6a84935b176262c3a", "type": "string", "tags": [], - "label": "'synthetics-monitor|50b48ccda9f2f7d73d31fd50c41bf305'", + "label": "'synthetics-monitor|918c09d935b1dcb6a84935b176262c3a'", "description": [], "path": "packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts", "deprecated": false, 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 3e2a84c4cf8b1..9517422d9b921 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 223 | 0 | 180 | 11 | +| 224 | 0 | 181 | 11 | ## Common 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 2ff6ea4b23b30..daf8dbb9af2d5 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-04-12 +date: 2024-04-16 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 f94ab951b0d8f..ffcb190c09236 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-04-12 +date: 2024-04-16 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 0a64fb1ef893a..a34c6a9523757 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-04-12 +date: 2024-04-16 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 224786499a4c1..a96c0e7c031c8 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-04-12 +date: 2024-04-16 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 46d3e5082b4ab..04ab8647bfff1 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-04-12 +date: 2024-04-16 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 b3bb674021fe9..4fb861272524e 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-04-12 +date: 2024-04-16 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 79b836e9a3891..2f15906a3d794 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-04-12 +date: 2024-04-16 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 647941b3a2f00..12fb098ea9576 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-04-12 +date: 2024-04-16 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 2ab1bd9456d6b..7e03621459710 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-04-12 +date: 2024-04-16 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 53b549c8163b3..64c864e3aff07 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-04-12 +date: 2024-04-16 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 8c7f1a1bccc61..c9c54ce039240 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-04-12 +date: 2024-04-16 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 8b8f9e63a965e..c3cbca5d5b744 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-04-12 +date: 2024-04-16 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 a5e9cf11186de..41f6fef7a5d1c 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-04-12 +date: 2024-04-16 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 977e0a9ebfa93..eb84a2b6c563b 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-04-12 +date: 2024-04-16 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 ff26fac6ead20..d1effaeaf9a1a 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-04-12 +date: 2024-04-16 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 055183d7d61a9..876dbb8a13ffc 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-04-12 +date: 2024-04-16 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 1e2a88d54e405..efd051e5cc8ee 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-04-12 +date: 2024-04-16 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 12ceffbdd35d6..c87298c5585a6 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-04-12 +date: 2024-04-16 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 0ba26e4c88aad..81cc07feec0d7 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-04-12 +date: 2024-04-16 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 9054edd726d59..41d35a72efa42 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-04-12 +date: 2024-04-16 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 3a48f2725d642..7afacf50563db 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-04-12 +date: 2024-04-16 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 1b63720f71d02..65d10ff912964 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-04-12 +date: 2024-04-16 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 961742b70a063..074b7b500e915 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-04-12 +date: 2024-04-16 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 2a29023413e8d..fe5165dc16d2c 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-04-12 +date: 2024-04-16 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 af859346f650b..1fe99eb1e60e2 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-04-12 +date: 2024-04-16 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 aa85d418560aa..6ad72589e7e13 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-04-12 +date: 2024-04-16 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 d02c9097e0211..788cf6651c491 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-04-12 +date: 2024-04-16 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 778e71a6fde97..a8d064fa63dcc 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-04-12 +date: 2024-04-16 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 bc9ac3702f3a7..bc89db4981643 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-04-12 +date: 2024-04-16 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 6f7d99cdee3a9..2ca5bf6fdb410 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-04-12 +date: 2024-04-16 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 aff504c1570b8..11561cbb6995d 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-04-12 +date: 2024-04-16 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 49b4bc36516cf..00322d667119c 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-04-12 +date: 2024-04-16 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 f4188f47d723f..c989b1b621ee8 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-04-12 +date: 2024-04-16 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 a2c712195012f..0ddc418583940 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-04-12 +date: 2024-04-16 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 6a1c974915ea3..b893dbf2c691b 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-04-12 +date: 2024-04-16 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 6da8dfd78aee6..deb84f69ae7f3 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-04-12 +date: 2024-04-16 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 3b6fd377ee869..7936a4790347f 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-04-12 +date: 2024-04-16 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 b612ff6a595a8..1ecde85b5a8ef 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-04-12 +date: 2024-04-16 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 67ecfa33d4535..26a077166294f 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-04-12 +date: 2024-04-16 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 8edf4d7db0a30..eda3cb45d8688 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-04-12 +date: 2024-04-16 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 ff93113c4cb65..87e7dc816af2c 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-04-12 +date: 2024-04-16 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 852ff4dece75c..dbbb8695b7bb0 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-04-12 +date: 2024-04-16 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 6d07a577959ec..e705b616e8ca0 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-usage-data-server-mocks'] --- import kbnCoreUsageDataServerMocksObj from './kbn_core_usage_data_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server.mdx b/api_docs/kbn_core_user_settings_server.mdx index 8522a2041f9f3..7d5414e683b89 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server'] --- import kbnCoreUserSettingsServerObj from './kbn_core_user_settings_server.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_internal.mdx b/api_docs/kbn_core_user_settings_server_internal.mdx index 6022fc4871925..d46d28d1eaf76 100644 --- a/api_docs/kbn_core_user_settings_server_internal.mdx +++ b/api_docs/kbn_core_user_settings_server_internal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-core-user-settings-server-internal title: "@kbn/core-user-settings-server-internal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/core-user-settings-server-internal plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-user-settings-server-internal'] --- import kbnCoreUserSettingsServerInternalObj from './kbn_core_user_settings_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_user_settings_server_mocks.mdx b/api_docs/kbn_core_user_settings_server_mocks.mdx index 67332e06b193b..072d95fcaf7c2 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-04-12 +date: 2024-04-16 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 caf3b22cab226..603bc7f3519b6 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-04-12 +date: 2024-04-16 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 1004e5f30e7e0..7668554bb18f1 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-04-12 +date: 2024-04-16 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 b4c74a01e62b5..1cd3abc5617f0 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-04-12 +date: 2024-04-16 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 d4bfb8d423bab..28c0d71f66945 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-04-12 +date: 2024-04-16 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 93da5250fe162..19d7464c5fbef 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/cypress-config'] --- import kbnCypressConfigObj from './kbn_cypress_config.devdocs.json'; diff --git a/api_docs/kbn_data_forge.mdx b/api_docs/kbn_data_forge.mdx index 6d3739b32e7ee..915c5b63fdac2 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/data-forge'] --- import kbnDataForgeObj from './kbn_data_forge.devdocs.json'; diff --git a/api_docs/kbn_data_service.mdx b/api_docs/kbn_data_service.mdx index fcb7b84036e43..d7c313aeca8c4 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-04-12 +date: 2024-04-16 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 98a2a1929eb35..10447e3948d29 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-04-12 +date: 2024-04-16 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 26bf8db7dca4c..c1691265ab18d 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-04-12 +date: 2024-04-16 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 3c3f5fa624c32..c92220e290e65 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-04-12 +date: 2024-04-16 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 cb4f564b7f463..9db339f95796a 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-04-12 +date: 2024-04-16 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 4ea03acdd792e..a9086de2b8c05 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-04-12 +date: 2024-04-16 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 c9b28674a533a..ad6fdc8cd4347 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-04-12 +date: 2024-04-16 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 c15f425bc9cd5..f08f673dd6a50 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-04-12 +date: 2024-04-16 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 6baab4c136b22..1b474eb868e0d 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-04-12 +date: 2024-04-16 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 ff1988080a270..137261b520825 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-04-12 +date: 2024-04-16 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 67bb90b67afbd..3071b6165fbd2 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_security.devdocs.json b/api_docs/kbn_deeplinks_security.devdocs.json index b70672d7c3c37..4ca3bf4553f80 100644 --- a/api_docs/kbn_deeplinks_security.devdocs.json +++ b/api_docs/kbn_deeplinks_security.devdocs.json @@ -58,7 +58,7 @@ "label": "DeepLinkId", "description": [], "signature": [ - "\"securitySolutionUI\" | \"securitySolutionUI:\" | \"securitySolutionUI:cases\" | \"securitySolutionUI:rules\" | \"securitySolutionUI:alerts\" | \"securitySolutionUI:policy\" | \"securitySolutionUI:overview\" | \"securitySolutionUI:dashboards\" | \"securitySolutionUI:cases_create\" | \"securitySolutionUI:cases_configure\" | \"securitySolutionUI:hosts\" | \"securitySolutionUI:users\" | \"securitySolutionUI:cloud_defend-policies\" | \"securitySolutionUI:cloud_security_posture-dashboard\" | \"securitySolutionUI:cloud_security_posture-findings\" | \"securitySolutionUI:cloud_security_posture-benchmarks\" | \"securitySolutionUI:kubernetes\" | \"securitySolutionUI:network\" | \"securitySolutionUI:sessions\" | \"securitySolutionUI:explore\" | \"securitySolutionUI:assets\" | \"securitySolutionUI:cloud_defend\" | \"securitySolutionUI:administration\" | \"securitySolutionUI:blocklist\" | \"securitySolutionUI:cloud_security_posture-rules\" | \"securitySolutionUI:data_quality\" | \"securitySolutionUI:detections\" | \"securitySolutionUI:detection_response\" | \"securitySolutionUI:endpoints\" | \"securitySolutionUI:event_filters\" | \"securitySolutionUI:exceptions\" | \"securitySolutionUI:host_isolation_exceptions\" | \"securitySolutionUI:hosts-anomalies\" | \"securitySolutionUI:hosts-risk\" | \"securitySolutionUI:hosts-events\" | \"securitySolutionUI:investigations\" | \"securitySolutionUI:get_started\" | \"securitySolutionUI:machine_learning-landing\" | \"securitySolutionUI:network-anomalies\" | \"securitySolutionUI:network-dns\" | \"securitySolutionUI:network-events\" | \"securitySolutionUI:network-http\" | \"securitySolutionUI:network-tls\" | \"securitySolutionUI:response_actions_history\" | \"securitySolutionUI:rules-add\" | \"securitySolutionUI:rules-create\" | \"securitySolutionUI:rules-landing\" | \"securitySolutionUI:threat_intelligence\" | \"securitySolutionUI:timelines\" | \"securitySolutionUI:timelines-templates\" | \"securitySolutionUI:trusted_apps\" | \"securitySolutionUI:uncommon_processes\" | \"securitySolutionUI:users-anomalies\" | \"securitySolutionUI:users-authentications\" | \"securitySolutionUI:users-events\" | \"securitySolutionUI:users-risk\" | \"securitySolutionUI:entity_analytics\" | \"securitySolutionUI:entity_analytics-management\" | \"securitySolutionUI:coverage-overview\"" + "\"securitySolutionUI\" | \"securitySolutionUI:\" | \"securitySolutionUI:cases\" | \"securitySolutionUI:rules\" | \"securitySolutionUI:alerts\" | \"securitySolutionUI:policy\" | \"securitySolutionUI:overview\" | \"securitySolutionUI:dashboards\" | \"securitySolutionUI:cases_create\" | \"securitySolutionUI:cases_configure\" | \"securitySolutionUI:hosts\" | \"securitySolutionUI:users\" | \"securitySolutionUI:cloud_defend-policies\" | \"securitySolutionUI:cloud_security_posture-dashboard\" | \"securitySolutionUI:cloud_security_posture-findings\" | \"securitySolutionUI:cloud_security_posture-benchmarks\" | \"securitySolutionUI:kubernetes\" | \"securitySolutionUI:network\" | \"securitySolutionUI:explore\" | \"securitySolutionUI:assets\" | \"securitySolutionUI:cloud_defend\" | \"securitySolutionUI:administration\" | \"securitySolutionUI:blocklist\" | \"securitySolutionUI:cloud_security_posture-rules\" | \"securitySolutionUI:data_quality\" | \"securitySolutionUI:detections\" | \"securitySolutionUI:detection_response\" | \"securitySolutionUI:endpoints\" | \"securitySolutionUI:event_filters\" | \"securitySolutionUI:exceptions\" | \"securitySolutionUI:host_isolation_exceptions\" | \"securitySolutionUI:hosts-all\" | \"securitySolutionUI:hosts-anomalies\" | \"securitySolutionUI:hosts-risk\" | \"securitySolutionUI:hosts-events\" | \"securitySolutionUI:hosts-sessions\" | \"securitySolutionUI:hosts-uncommon_processes\" | \"securitySolutionUI:investigations\" | \"securitySolutionUI:get_started\" | \"securitySolutionUI:machine_learning-landing\" | \"securitySolutionUI:network-anomalies\" | \"securitySolutionUI:network-dns\" | \"securitySolutionUI:network-events\" | \"securitySolutionUI:network-flows\" | \"securitySolutionUI:network-http\" | \"securitySolutionUI:network-tls\" | \"securitySolutionUI:response_actions_history\" | \"securitySolutionUI:rules-add\" | \"securitySolutionUI:rules-create\" | \"securitySolutionUI:rules-landing\" | \"securitySolutionUI:threat_intelligence\" | \"securitySolutionUI:timelines\" | \"securitySolutionUI:timelines-templates\" | \"securitySolutionUI:trusted_apps\" | \"securitySolutionUI:users-all\" | \"securitySolutionUI:users-anomalies\" | \"securitySolutionUI:users-authentications\" | \"securitySolutionUI:users-events\" | \"securitySolutionUI:users-risk\" | \"securitySolutionUI:entity_analytics\" | \"securitySolutionUI:entity_analytics-management\" | \"securitySolutionUI:entity_analytics-asset-classification\" | \"securitySolutionUI:coverage-overview\"" ], "path": "packages/deeplinks/security/index.ts", "deprecated": false, @@ -73,7 +73,7 @@ "label": "LinkId", "description": [], "signature": [ - "\"\" | \"cases\" | \"rules\" | \"alerts\" | \"policy\" | \"overview\" | \"dashboards\" | \"cases_create\" | \"cases_configure\" | \"hosts\" | \"users\" | \"cloud_defend-policies\" | \"cloud_security_posture-dashboard\" | \"cloud_security_posture-findings\" | \"cloud_security_posture-benchmarks\" | \"kubernetes\" | \"network\" | \"sessions\" | \"explore\" | \"assets\" | \"cloud_defend\" | \"administration\" | \"blocklist\" | \"cloud_security_posture-rules\" | \"data_quality\" | \"detections\" | \"detection_response\" | \"endpoints\" | \"event_filters\" | \"exceptions\" | \"host_isolation_exceptions\" | \"hosts-anomalies\" | \"hosts-risk\" | \"hosts-events\" | \"investigations\" | \"get_started\" | \"machine_learning-landing\" | \"network-anomalies\" | \"network-dns\" | \"network-events\" | \"network-http\" | \"network-tls\" | \"response_actions_history\" | \"rules-add\" | \"rules-create\" | \"rules-landing\" | \"threat_intelligence\" | \"timelines\" | \"timelines-templates\" | \"trusted_apps\" | \"uncommon_processes\" | \"users-anomalies\" | \"users-authentications\" | \"users-events\" | \"users-risk\" | \"entity_analytics\" | \"entity_analytics-management\" | \"coverage-overview\"" + "\"\" | \"cases\" | \"rules\" | \"alerts\" | \"policy\" | \"overview\" | \"dashboards\" | \"cases_create\" | \"cases_configure\" | \"hosts\" | \"users\" | \"cloud_defend-policies\" | \"cloud_security_posture-dashboard\" | \"cloud_security_posture-findings\" | \"cloud_security_posture-benchmarks\" | \"kubernetes\" | \"network\" | \"explore\" | \"assets\" | \"cloud_defend\" | \"administration\" | \"blocklist\" | \"cloud_security_posture-rules\" | \"data_quality\" | \"detections\" | \"detection_response\" | \"endpoints\" | \"event_filters\" | \"exceptions\" | \"host_isolation_exceptions\" | \"hosts-all\" | \"hosts-anomalies\" | \"hosts-risk\" | \"hosts-events\" | \"hosts-sessions\" | \"hosts-uncommon_processes\" | \"investigations\" | \"get_started\" | \"machine_learning-landing\" | \"network-anomalies\" | \"network-dns\" | \"network-events\" | \"network-flows\" | \"network-http\" | \"network-tls\" | \"response_actions_history\" | \"rules-add\" | \"rules-create\" | \"rules-landing\" | \"threat_intelligence\" | \"timelines\" | \"timelines-templates\" | \"trusted_apps\" | \"users-all\" | \"users-anomalies\" | \"users-authentications\" | \"users-events\" | \"users-risk\" | \"entity_analytics\" | \"entity_analytics-management\" | \"entity_analytics-asset-classification\" | \"coverage-overview\"" ], "path": "packages/deeplinks/security/index.ts", "deprecated": false, diff --git a/api_docs/kbn_deeplinks_security.mdx b/api_docs/kbn_deeplinks_security.mdx index ee7a878d01827..ef4243f13a3fc 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-04-12 +date: 2024-04-16 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 570ffb356e7b7..71f29f9791f6d 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-04-12 +date: 2024-04-16 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 80f2cd9cf4a13..8879879268862 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-04-12 +date: 2024-04-16 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 2a9680c1bb2e5..658061693ae77 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-04-12 +date: 2024-04-16 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 e043131213b14..d9903ea96473f 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-04-12 +date: 2024-04-16 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 7284184142f8f..edb2fe445c5b4 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-04-12 +date: 2024-04-16 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 38c3e64b6bbe2..c64c1343daa25 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-04-12 +date: 2024-04-16 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 88b17964ca7dc..aa4d29e530c28 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-04-12 +date: 2024-04-16 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 129355d5cd29d..4e44026e681ff 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-04-12 +date: 2024-04-16 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 acc974f7ccfe2..5530698ab56c1 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-04-12 +date: 2024-04-16 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 c31fba7eed9fa..1b17cc63cafc0 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-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.devdocs.json b/api_docs/kbn_doc_links.devdocs.json index 1ee7a1633befd..9d0610eb9d6c7 100644 --- a/api_docs/kbn_doc_links.devdocs.json +++ b/api_docs/kbn_doc_links.devdocs.json @@ -300,7 +300,7 @@ "label": "enterpriseSearch", "description": [], "signature": [ - "{ readonly aiSearchDoc: string; readonly aiSearchHelp: string; readonly apiKeys: string; readonly behavioralAnalytics: string; readonly behavioralAnalyticsCORS: string; readonly behavioralAnalyticsEvents: string; readonly buildConnector: string; readonly bulkApi: string; readonly configuration: string; readonly connectors: string; readonly connectorsClientDeploy: string; readonly connectorsMappings: string; readonly connectorsAzureBlobStorage: string; readonly connectorsBox: string; readonly connectorsClients: string; readonly connectorsConfluence: string; readonly connectorsContentExtraction: string; readonly connectorsDropbox: string; readonly connectorsGithub: string; readonly connectorsGoogleCloudStorage: string; readonly connectorsGoogleDrive: string; readonly connectorsGmail: string; readonly connectorsJira: string; readonly connectorsMicrosoftSQL: string; readonly connectorsMongoDB: string; readonly connectorsMySQL: string; readonly connectorsNative: string; readonly connectorsNetworkDrive: string; readonly connectorsNotion: string; readonly connectorsOneDrive: string; readonly connectorsOracle: string; readonly connectorsOutlook: string; readonly connectorsPostgreSQL: string; readonly connectorsRedis: string; readonly connectorsS3: string; readonly connectorsSalesforce: string; readonly connectorsServiceNow: string; readonly connectorsSharepoint: string; readonly connectorsSharepointOnline: string; readonly connectorsTeams: string; readonly connectorsSlack: string; readonly connectorsZoom: string; readonly crawlerExtractionRules: string; readonly crawlerManaging: string; readonly crawlerOverview: string; readonly deployTrainedModels: string; readonly documentLevelSecurity: string; readonly elser: string; readonly engines: string; readonly indexApi: string; readonly ingestionApis: string; readonly ingestPipelines: string; readonly knnSearch: string; readonly knnSearchCombine: string; readonly languageAnalyzers: string; readonly languageClients: string; readonly licenseManagement: string; readonly machineLearningStart: string; readonly mailService: string; readonly mlDocumentEnrichment: string; readonly searchApplicationsTemplates: string; readonly searchApplicationsSearchApi: string; readonly searchApplications: string; readonly searchApplicationsSearch: string; readonly searchLabs: string; readonly searchLabsRepo: string; readonly searchTemplates: string; readonly start: string; readonly supportedNlpModels: string; readonly syncRules: string; readonly trainedModels: string; readonly textEmbedding: string; readonly troubleshootSetup: string; readonly usersAccess: string; }" + "{ readonly aiSearchDoc: string; readonly aiSearchHelp: string; readonly apiKeys: string; readonly behavioralAnalytics: string; readonly behavioralAnalyticsCORS: string; readonly behavioralAnalyticsEvents: string; readonly buildConnector: string; readonly bulkApi: string; readonly configuration: string; readonly connectors: string; readonly connectorsClientDeploy: string; readonly connectorsMappings: string; readonly connectorsAzureBlobStorage: string; readonly connectorsBox: string; readonly connectorsClients: string; readonly connectorsConfluence: string; readonly connectorsContentExtraction: string; readonly connectorsDropbox: string; readonly connectorsGithub: string; readonly connectorsGoogleCloudStorage: string; readonly connectorsGoogleDrive: string; readonly connectorsGmail: string; readonly connectorsJira: string; readonly connectorsMicrosoftSQL: string; readonly connectorsMongoDB: string; readonly connectorsMySQL: string; readonly connectorsNative: string; readonly connectorsNetworkDrive: string; readonly connectorsNotion: string; readonly connectorsOneDrive: string; readonly connectorsOracle: string; readonly connectorsOutlook: string; readonly connectorsPostgreSQL: string; readonly connectorsRedis: string; readonly connectorsS3: string; readonly connectorsSalesforce: string; readonly connectorsServiceNow: string; readonly connectorsSharepoint: string; readonly connectorsSharepointOnline: string; readonly connectorsTeams: string; readonly connectorsSlack: string; readonly connectorsZoom: string; readonly crawlerExtractionRules: string; readonly crawlerManaging: string; readonly crawlerOverview: string; readonly deployTrainedModels: string; readonly documentLevelSecurity: string; readonly elser: string; readonly engines: string; readonly indexApi: string; readonly ingestionApis: string; readonly ingestPipelines: string; readonly knnSearch: string; readonly knnSearchCombine: string; readonly languageAnalyzers: string; readonly languageClients: string; readonly licenseManagement: string; readonly machineLearningStart: string; readonly mailService: string; readonly mlDocumentEnrichment: string; readonly searchApplicationsTemplates: string; readonly searchApplicationsSearchApi: string; readonly searchApplications: string; readonly searchApplicationsSearch: string; readonly searchLabs: string; readonly searchLabsRepo: string; readonly searchTemplates: string; readonly start: string; readonly supportedNlpModels: string; readonly syncRules: string; readonly syncRulesAdvanced: string; readonly trainedModels: string; readonly textEmbedding: string; readonly troubleshootSetup: string; readonly usersAccess: string; }" ], "path": "packages/kbn-doc-links/src/types.ts", "deprecated": false, @@ -546,7 +546,7 @@ "label": "securitySolution", "description": [], "signature": [ - "{ readonly artifactControl: string; readonly trustedApps: string; readonly eventFilters: string; readonly blocklist: string; readonly endpointArtifacts: string; readonly policyResponseTroubleshooting: { full_disk_access: string; macos_system_ext: string; linux_deadlock: string; }; readonly packageActionTroubleshooting: { es_connection: string; }; readonly threatIntelInt: string; readonly responseActions: string; readonly configureEndpointIntegrationPolicy: string; readonly exceptions: { value_lists: string; }; readonly privileges: string; readonly manageDetectionRules: string; readonly createEsqlRuleType: string; readonly entityAnalytics: { readonly riskScorePrerequisites: string; readonly hostRiskScore: string; readonly userRiskScore: string; readonly entityRiskScoring: string; }; readonly detectionEngineOverview: string; }" + "{ readonly artifactControl: string; readonly trustedApps: string; readonly eventFilters: string; readonly blocklist: string; readonly endpointArtifacts: string; readonly policyResponseTroubleshooting: { full_disk_access: string; macos_system_ext: string; linux_deadlock: string; }; readonly packageActionTroubleshooting: { es_connection: string; }; readonly threatIntelInt: string; readonly responseActions: string; readonly configureEndpointIntegrationPolicy: string; readonly exceptions: { value_lists: string; }; readonly privileges: string; readonly manageDetectionRules: string; readonly createEsqlRuleType: string; readonly entityAnalytics: { readonly riskScorePrerequisites: string; readonly hostRiskScore: string; readonly userRiskScore: string; readonly entityRiskScoring: string; readonly assetCriticality: string; }; readonly detectionEngineOverview: string; }" ], "path": "packages/kbn-doc-links/src/types.ts", "deprecated": false, diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index ff3e5e748a17b..f6ea6789c9de7 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-04-12 +date: 2024-04-16 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 43386d10bebcf..6882f2fe115bf 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-04-12 +date: 2024-04-16 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 ba7464dc56148..f9f6eb56b3ad2 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-04-12 +date: 2024-04-16 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 647ef2b6d4b9c..acfd875b125e7 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-04-12 +date: 2024-04-16 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 edd948f31e415..2a9e06947fa87 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-04-12 +date: 2024-04-16 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 e9578b05587b5..ff5629d7dc57c 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-04-12 +date: 2024-04-16 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 bd9a45a68d945..a3deed9f0a87e 100644 --- a/api_docs/kbn_elastic_assistant.devdocs.json +++ b/api_docs/kbn_elastic_assistant.devdocs.json @@ -123,11 +123,11 @@ "type": "Function", "tags": [], "label": "AssistantOverlay", - "description": [ - "\nModal container for Elastic AI Assistant conversations, receiving the page contents as context, plus whatever\ncomponent currently has focus and any specific context it may provide through the SAssInterface." - ], + "description": [], "signature": [ - "React.NamedExoticComponent & { readonly type: () => JSX.Element; }" + "React.NamedExoticComponent<", + "Props", + ">" ], "path": "x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx", "deprecated": false, @@ -642,14 +642,12 @@ "type": "Function", "tags": [], "label": "useFetchCurrentUserConversations", - "description": [ - "\nAPI call for fetching assistant conversations for the current user\n" - ], + "description": [], "signature": [ "({ http, onFetch, signal, refetchOnWindowFocus, isAssistantEnabled, }: ", "UseFetchCurrentUserConversationsParams", ") => ", - "UseQueryResult", + "DefinedUseQueryResult", " & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; categorize_text: { buckets: ({ doc_count: number; key: string | number; regex?: string | undefined; max_matching_length: number; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", + "Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; categorize_text: { buckets: ({ doc_count: number; key: string; regex: string; max_matching_length: number; } & SubAggregateOf)[]; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record<", + "ChangePointType", + ", { change_point?: number | undefined; r_value?: number | undefined; trend?: string | undefined; p_value?: number | undefined; }>; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", "AggregationsTopHitsAggregation", "; } ? HitsOf : ", "SearchHitsMetadata", - "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string> extends readonly any[] ? (readonly any[] & Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; categorize_text: { buckets: ({ doc_count: number; key: string | number; regex?: string | undefined; max_matching_length: number; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", + "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string> extends readonly any[] ? (readonly any[] & Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; categorize_text: { buckets: ({ doc_count: number; key: string; regex: string; max_matching_length: number; } & SubAggregateOf)[]; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record<", + "ChangePointType", + ", { change_point?: number | undefined; r_value?: number | undefined; trend?: string | undefined; p_value?: number | undefined; }>; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", "AggregationsTopHitsAggregation", "; } ? HitsOf : ", "SearchHitsMetadata", - "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string>)[number] : Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; categorize_text: { buckets: ({ doc_count: number; key: string | number; regex?: string | undefined; max_matching_length: number; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", + "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string>)[number] : Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; categorize_text: { buckets: ({ doc_count: number; key: string; regex: string; max_matching_length: number; } & SubAggregateOf)[]; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record<", + "ChangePointType", + ", { change_point?: number | undefined; r_value?: number | undefined; trend?: string | undefined; p_value?: number | undefined; }>; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", "AggregationsTopHitsAggregation", "; } ? HitsOf : ", "SearchHitsMetadata", - "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string> extends ArrayLike ? (ArrayLike & Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; categorize_text: { buckets: ({ doc_count: number; key: string | number; regex?: string | undefined; max_matching_length: number; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", + "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string> extends ArrayLike ? (ArrayLike & Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; categorize_text: { buckets: ({ doc_count: number; key: string; regex: string; max_matching_length: number; } & SubAggregateOf)[]; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record<", + "ChangePointType", + ", { change_point?: number | undefined; r_value?: number | undefined; trend?: string | undefined; p_value?: number | undefined; }>; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", "AggregationsTopHitsAggregation", "; } ? HitsOf : ", "SearchHitsMetadata", - "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string>)[number] : Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; categorize_text: { buckets: ({ doc_count: number; key: string | number; regex?: string | undefined; max_matching_length: number; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", + "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string>)[number] : Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; categorize_text: { buckets: ({ doc_count: number; key: string; regex: string; max_matching_length: number; } & SubAggregateOf)[]; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record<", + "ChangePointType", + ", { change_point?: number | undefined; r_value?: number | undefined; trend?: string | undefined; p_value?: number | undefined; }>; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", "AggregationsTopHitsAggregation", "; } ? HitsOf : ", "SearchHitsMetadata", - "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string> extends object ? Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; categorize_text: { buckets: ({ doc_count: number; key: string | number; regex?: string | undefined; max_matching_length: number; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", + "; }; }; top_metrics: { top: { sort: string[] | number[]; metrics: Record, string | number | null>; }[]; }; weighted_avg: { value: number | null; }; value_count: { value: number; }; }, Exclude, \"aggs\" | \"aggregations\"> & string> extends object ? Pick & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; categorize_text: { buckets: ({ doc_count: number; key: string; regex: string; max_matching_length: number; } & SubAggregateOf)[]; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record<", + "ChangePointType", + ", { change_point?: number | undefined; r_value?: number | undefined; trend?: string | undefined; p_value?: number | undefined; }>; }; children: { doc_count: number; } & SubAggregateOf; composite: { after_key: CompositeKeysOf; buckets: ({ doc_count: number; key: CompositeKeysOf; } & SubAggregateOf)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed, string>; date_range: MaybeKeyed & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf; filters: { buckets: TAggregationContainer extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf)[] : TAggregationContainer extends { filters: { filters: Record; }; } ? { [key in keyof TAggregationContainer[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf; } & (TAggregationContainer extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record> : unknown) & (TAggregationContainer extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf)[]; }; global: { doc_count: number; } & SubAggregateOf; histogram: MaybeKeyed, string>; ip_range: MaybeKeyed; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf)[]; }; nested: { doc_count: number; } & SubAggregateOf; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf; percentiles: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: TAggregationContainer extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf; sampler: { doc_count: number; } & SubAggregateOf; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: TAggregationContainer extends { top_hits: ", "AggregationsTopHitsAggregation", "; } ? HitsOf : ", "SearchHitsMetadata", @@ -288,7 +300,9 @@ "signature": [ "{ [TAggregationName in keyof TAggregationMap]: Required[TAggregationName] extends AggregationsAggregationContainer ? ", "ValuesType", - " & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record; }; children: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; composite: { after_key: CompositeKeysOf[TAggregationName]>; buckets: ({ doc_count: number; key: CompositeKeysOf[TAggregationName]>; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed[TAggregationName], { key: number; key_as_string: string; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>, string>; date_range: MaybeKeyed[TAggregationName], Partial<{ from: string | number; from_as_string: string; }> & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; filters: { buckets: Required[TAggregationName] extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf<{ filters: { filters: any[]; }; } & Required[TAggregationName], TDocument>)[] : Required[TAggregationName] extends { filters: { filters: Record; }; } ? { [key in keyof ({ filters: { filters: Record; }; } & Required[TAggregationName])[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf<{ filters: { filters: Record; }; } & Required[TAggregationName], TDocument>; } & ({ filters: { filters: Record; }; } & Required[TAggregationName] extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record; }; } & Required[TAggregationName], TDocument>> : unknown) & ({ filters: { filters: Record; }; } & Required[TAggregationName] extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf<{ filters: { other_bucket: true; }; } & { filters: { filters: Record; }; } & Required[TAggregationName], TDocument>; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed[TAggregationName], { from: number; to?: number | undefined; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; global: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; histogram: MaybeKeyed[TAggregationName], { key: number; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>, string>; ip_range: MaybeKeyed[TAggregationName], { key: string; from?: string | undefined; to?: string | undefined; doc_count: number; }, Required[TAggregationName] extends { ip_range: { ranges: (infer TRangeType)[]; }; } ? TRangeType extends { key: infer TKeys; } ? TKeys : string : string>; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: Required[TAggregationName] extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; nested: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; percentiles: { values: Required[TAggregationName] extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: Required[TAggregationName] extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: Required[TAggregationName] extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed[TAggregationName], { key: string; from?: number | undefined; from_as_string?: string | undefined; to?: number | undefined; to_as_string?: string | undefined; doc_count: number; }, Required[TAggregationName] extends { range: { ranges: (infer TRangeType)[]; }; } ? TRangeType extends { key: infer TKeys; } ? TKeys : string : string>; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; sampler: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; categorize_text: { buckets: ({ doc_count: number; key: string | number; regex?: string | undefined; max_matching_length: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: Required[TAggregationName] extends { top_hits: ", + " & { adjacency_matrix: { buckets: ({ key: string; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; auto_date_histogram: { interval: string; buckets: ({ key: number; key_as_string: string; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; avg: { value: number | null; value_as_string?: string | undefined; }; avg_bucket: { value: number | null; }; boxplot: { min: number | null; max: number | null; q1: number | null; q2: number | null; q3: number | null; }; bucket_correlation: { value: number | null; }; bucket_count_ks_test: { less: number; greater: number; two_sided: number; }; bucket_script: { value: unknown; }; categorize_text: { buckets: ({ doc_count: number; key: string; regex: string; max_matching_length: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; cardinality: { value: number; }; change_point: { bucket?: { key: string; } | undefined; type: Record<", + "ChangePointType", + ", { change_point?: number | undefined; r_value?: number | undefined; trend?: string | undefined; p_value?: number | undefined; }>; }; children: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; composite: { after_key: CompositeKeysOf[TAggregationName]>; buckets: ({ doc_count: number; key: CompositeKeysOf[TAggregationName]>; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; cumulative_cardinality: { value: number; }; cumulative_sum: { value: number; }; date_histogram: MaybeKeyed[TAggregationName], { key: number; key_as_string: string; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>, string>; date_range: MaybeKeyed[TAggregationName], Partial<{ from: string | number; from_as_string: string; }> & Partial<{ to: string | number; to_as_string: string; }> & { doc_count: number; key: string; }, string>; derivative: { value: number | null; } | undefined; extended_stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_of_squares_as_string: string; variance_population_as_string: string; variance_sampling_as_string: string; std_deviation_as_string: string; std_deviation_population_as_string: string; std_deviation_sampling_as_string: string; std_deviation_bounds_as_string: { upper: string; lower: string; upper_population: string; lower_population: string; upper_sampling: string; lower_sampling: string; }; }); extended_stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number | null; sum_of_squares: number | null; variance: number | null; variance_population: number | null; variance_sampling: number | null; std_deviation: number | null; std_deviation_population: number | null; std_deviation_sampling: number | null; std_deviation_bounds: { upper: number | null; lower: number | null; upper_population: number | null; lower_population: number | null; upper_sampling: number | null; lower_sampling: number | null; }; }; filter: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; filters: { buckets: Required[TAggregationName] extends { filters: { filters: any[]; }; } ? ({ doc_count: number; } & SubAggregateOf<{ filters: { filters: any[]; }; } & Required[TAggregationName], TDocument>)[] : Required[TAggregationName] extends { filters: { filters: Record; }; } ? { [key in keyof ({ filters: { filters: Record; }; } & Required[TAggregationName])[\"filters\"][\"filters\"]]: { doc_count: number; } & SubAggregateOf<{ filters: { filters: Record; }; } & Required[TAggregationName], TDocument>; } & ({ filters: { filters: Record; }; } & Required[TAggregationName] extends { filters: { other_bucket_key: infer TOtherBucketKey; }; } ? Record; }; } & Required[TAggregationName], TDocument>> : unknown) & ({ filters: { filters: Record; }; } & Required[TAggregationName] extends { filters: { other_bucket: true; }; } ? { _other: { doc_count: number; } & SubAggregateOf<{ filters: { other_bucket: true; }; } & { filters: { filters: Record; }; } & Required[TAggregationName], TDocument>; } : unknown) : unknown; }; geo_bounds: { top_left: { lat: number | null; lon: number | null; }; bottom_right: { lat: number | null; lon: number | null; }; }; geo_centroid: { count: number; location: { lat: number; lon: number; }; }; geo_distance: MaybeKeyed[TAggregationName], { from: number; to?: number | undefined; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>, string>; geo_hash: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; geotile_grid: { buckets: ({ doc_count: number; key: string; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; global: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; histogram: MaybeKeyed[TAggregationName], { key: number; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>, string>; ip_range: MaybeKeyed[TAggregationName], { key: string; from?: string | undefined; to?: string | undefined; doc_count: number; }, Required[TAggregationName] extends { ip_range: { ranges: (infer TRangeType)[]; }; } ? TRangeType extends { key: infer TKeys; } ? TKeys : string : string>; inference: { value: number; prediction_probability: number; prediction_score: number; }; max: { value: number | null; value_as_string?: string | undefined; }; max_bucket: { value: number | null; }; min: { value: number | null; value_as_string?: string | undefined; }; min_bucket: { value: number | null; }; median_absolute_deviation: { value: number | null; }; moving_avg: { value: number | null; } | undefined; moving_fn: { value: number | null; }; moving_percentiles: Required[TAggregationName] extends Record ? { key: number; value: number | null; }[] : Record | undefined; missing: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; multi_terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string[]; key_as_string: string; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; nested: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; normalize: { value: number | null; value_as_string?: string | undefined; }; parent: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; percentiles: { values: Required[TAggregationName] extends Record ? { key: number; value: number | null; }[] : Record; }; percentile_ranks: { values: Required[TAggregationName] extends Record ? { key: number; value: number | null; }[] : Record; }; percentiles_bucket: { values: Required[TAggregationName] extends Record ? { key: number; value: number | null; }[] : Record; }; range: MaybeKeyed[TAggregationName], { key: string; from?: number | undefined; from_as_string?: string | undefined; to?: number | undefined; to_as_string?: string | undefined; doc_count: number; }, Required[TAggregationName] extends { range: { ranges: (infer TRangeType)[]; }; } ? TRangeType extends { key: infer TKeys; } ? TKeys : string : string>; rare_terms: ({ key: string | number; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; rate: { value: number | null; }; reverse_nested: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; random_sampler: { seed: number; probability: number; doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; sampler: { doc_count: number; } & SubAggregateOf[TAggregationName], TDocument>; scripted_metric: { value: unknown; }; serial_diff: { value: number | null; value_as_string?: string | undefined; }; significant_terms: { doc_count: number; bg_count: number; buckets: ({ key: string | number; score: number; doc_count: number; bg_count: number; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; significant_text: { doc_count: number; buckets: { key: string; doc_count: number; score: number; bg_count: number; }[]; }; stats: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; } & ({} | { min_as_string: string; max_as_string: string; avg_as_string: string; sum_as_string: string; }); stats_bucket: { count: number; min: number | null; max: number | null; avg: number | null; sum: number; }; string_stats: { count: number; min_length: number | null; max_length: number | null; avg_length: number | null; entropy: number | null; distribution: Record; }; sum: { value: number | null; value_as_string?: string | undefined; }; sum_bucket: { value: number | null; }; terms: { doc_count_error_upper_bound: number; sum_other_doc_count: number; buckets: ({ doc_count: number; key: string | number; key_as_string?: string | undefined; } & SubAggregateOf[TAggregationName], TDocument>)[]; }; top_hits: { hits: { total: { value: number; relation: \"gte\" | \"eq\"; }; max_score: number | null; hits: Required[TAggregationName] extends { top_hits: ", "AggregationsTopHitsAggregation", "; } ? HitsOf<({ top_hits: ", "AggregationsTopHitsAggregation", diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index 9dc813618c86b..6a44ad64603bf 100644 --- a/api_docs/kbn_es_types.mdx +++ b/api_docs/kbn_es_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-types title: "@kbn/es-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 26 | 0 | 26 | 0 | +| 26 | 0 | 26 | 1 | ## Common diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 5be1d5e3eaf99..456381e782302 100644 --- a/api_docs/kbn_eslint_plugin_imports.mdx +++ b/api_docs/kbn_eslint_plugin_imports.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-eslint-plugin-imports title: "@kbn/eslint-plugin-imports" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/eslint-plugin-imports plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/eslint-plugin-imports'] --- import kbnEslintPluginImportsObj from './kbn_eslint_plugin_imports.devdocs.json'; diff --git a/api_docs/kbn_esql_ast.mdx b/api_docs/kbn_esql_ast.mdx index eceba3c4ab4f6..c15013e007b6e 100644 --- a/api_docs/kbn_esql_ast.mdx +++ b/api_docs/kbn_esql_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-ast title: "@kbn/esql-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-ast plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-ast'] --- import kbnEsqlAstObj from './kbn_esql_ast.devdocs.json'; diff --git a/api_docs/kbn_esql_utils.mdx b/api_docs/kbn_esql_utils.mdx index 2a9be5c004f13..7bafe23c8d0f6 100644 --- a/api_docs/kbn_esql_utils.mdx +++ b/api_docs/kbn_esql_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-utils title: "@kbn/esql-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-utils'] --- import kbnEsqlUtilsObj from './kbn_esql_utils.devdocs.json'; diff --git a/api_docs/kbn_esql_validation_autocomplete.mdx b/api_docs/kbn_esql_validation_autocomplete.mdx index e6f2ce6f428bb..8faf8024232d5 100644 --- a/api_docs/kbn_esql_validation_autocomplete.mdx +++ b/api_docs/kbn_esql_validation_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-esql-validation-autocomplete title: "@kbn/esql-validation-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/esql-validation-autocomplete plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/esql-validation-autocomplete'] --- import kbnEsqlValidationAutocompleteObj from './kbn_esql_validation_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_common.mdx b/api_docs/kbn_event_annotation_common.mdx index 4e859c1d52172..5a03be1e409bd 100644 --- a/api_docs/kbn_event_annotation_common.mdx +++ b/api_docs/kbn_event_annotation_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-common title: "@kbn/event-annotation-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-common plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-common'] --- import kbnEventAnnotationCommonObj from './kbn_event_annotation_common.devdocs.json'; diff --git a/api_docs/kbn_event_annotation_components.mdx b/api_docs/kbn_event_annotation_components.mdx index c544fcc3f03ac..92346cb5410e6 100644 --- a/api_docs/kbn_event_annotation_components.mdx +++ b/api_docs/kbn_event_annotation_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-event-annotation-components title: "@kbn/event-annotation-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/event-annotation-components plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/event-annotation-components'] --- import kbnEventAnnotationComponentsObj from './kbn_event_annotation_components.devdocs.json'; diff --git a/api_docs/kbn_expandable_flyout.mdx b/api_docs/kbn_expandable_flyout.mdx index c112d47b3685e..c192fcf4aee1a 100644 --- a/api_docs/kbn_expandable_flyout.mdx +++ b/api_docs/kbn_expandable_flyout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-expandable-flyout title: "@kbn/expandable-flyout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/expandable-flyout plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/expandable-flyout'] --- import kbnExpandableFlyoutObj from './kbn_expandable_flyout.devdocs.json'; diff --git a/api_docs/kbn_field_types.mdx b/api_docs/kbn_field_types.mdx index f3dc62969bee6..b3bdfb59eb9af 100644 --- a/api_docs/kbn_field_types.mdx +++ b/api_docs/kbn_field_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-types title: "@kbn/field-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-types'] --- import kbnFieldTypesObj from './kbn_field_types.devdocs.json'; diff --git a/api_docs/kbn_field_utils.mdx b/api_docs/kbn_field_utils.mdx index 4d2857d46cc8c..8e61d7c219e63 100644 --- a/api_docs/kbn_field_utils.mdx +++ b/api_docs/kbn_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-field-utils title: "@kbn/field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/field-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/field-utils'] --- import kbnFieldUtilsObj from './kbn_field_utils.devdocs.json'; diff --git a/api_docs/kbn_find_used_node_modules.mdx b/api_docs/kbn_find_used_node_modules.mdx index 9d8c07a5dfc37..534735b164d36 100644 --- a/api_docs/kbn_find_used_node_modules.mdx +++ b/api_docs/kbn_find_used_node_modules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-find-used-node-modules title: "@kbn/find-used-node-modules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/find-used-node-modules plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/find-used-node-modules'] --- import kbnFindUsedNodeModulesObj from './kbn_find_used_node_modules.devdocs.json'; diff --git a/api_docs/kbn_formatters.mdx b/api_docs/kbn_formatters.mdx index b9f4ecbda8ffd..489a77428dfba 100644 --- a/api_docs/kbn_formatters.mdx +++ b/api_docs/kbn_formatters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-formatters title: "@kbn/formatters" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/formatters plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/formatters'] --- import kbnFormattersObj from './kbn_formatters.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_services.mdx b/api_docs/kbn_ftr_common_functional_services.mdx index 12ddcc0f453b8..f2a25b94cd411 100644 --- a/api_docs/kbn_ftr_common_functional_services.mdx +++ b/api_docs/kbn_ftr_common_functional_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-services title: "@kbn/ftr-common-functional-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-services plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-services'] --- import kbnFtrCommonFunctionalServicesObj from './kbn_ftr_common_functional_services.devdocs.json'; diff --git a/api_docs/kbn_ftr_common_functional_ui_services.mdx b/api_docs/kbn_ftr_common_functional_ui_services.mdx index 0d6bcd266571c..605deca2d24b7 100644 --- a/api_docs/kbn_ftr_common_functional_ui_services.mdx +++ b/api_docs/kbn_ftr_common_functional_ui_services.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ftr-common-functional-ui-services title: "@kbn/ftr-common-functional-ui-services" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ftr-common-functional-ui-services plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ftr-common-functional-ui-services'] --- import kbnFtrCommonFunctionalUiServicesObj from './kbn_ftr_common_functional_ui_services.devdocs.json'; diff --git a/api_docs/kbn_generate.mdx b/api_docs/kbn_generate.mdx index 30f7d1f51c480..d4dee6dd76749 100644 --- a/api_docs/kbn_generate.mdx +++ b/api_docs/kbn_generate.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate title: "@kbn/generate" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate'] --- import kbnGenerateObj from './kbn_generate.devdocs.json'; diff --git a/api_docs/kbn_generate_console_definitions.mdx b/api_docs/kbn_generate_console_definitions.mdx index 8ccc8da4eb167..fa85b11ccee2e 100644 --- a/api_docs/kbn_generate_console_definitions.mdx +++ b/api_docs/kbn_generate_console_definitions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-console-definitions title: "@kbn/generate-console-definitions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-console-definitions plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-console-definitions'] --- import kbnGenerateConsoleDefinitionsObj from './kbn_generate_console_definitions.devdocs.json'; diff --git a/api_docs/kbn_generate_csv.mdx b/api_docs/kbn_generate_csv.mdx index b8d71d817b25e..7c6efb3966be7 100644 --- a/api_docs/kbn_generate_csv.mdx +++ b/api_docs/kbn_generate_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-generate-csv title: "@kbn/generate-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/generate-csv plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/generate-csv'] --- import kbnGenerateCsvObj from './kbn_generate_csv.devdocs.json'; diff --git a/api_docs/kbn_guided_onboarding.mdx b/api_docs/kbn_guided_onboarding.mdx index 06350166dd858..d66e47a21cfcb 100644 --- a/api_docs/kbn_guided_onboarding.mdx +++ b/api_docs/kbn_guided_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-guided-onboarding title: "@kbn/guided-onboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/guided-onboarding plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/guided-onboarding'] --- import kbnGuidedOnboardingObj from './kbn_guided_onboarding.devdocs.json'; diff --git a/api_docs/kbn_handlebars.mdx b/api_docs/kbn_handlebars.mdx index 154154c2558ce..5dbcbf3a5f6d3 100644 --- a/api_docs/kbn_handlebars.mdx +++ b/api_docs/kbn_handlebars.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-handlebars title: "@kbn/handlebars" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/handlebars plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/handlebars'] --- import kbnHandlebarsObj from './kbn_handlebars.devdocs.json'; diff --git a/api_docs/kbn_hapi_mocks.mdx b/api_docs/kbn_hapi_mocks.mdx index 68a7a4733e951..c85d1881f3a70 100644 --- a/api_docs/kbn_hapi_mocks.mdx +++ b/api_docs/kbn_hapi_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-hapi-mocks title: "@kbn/hapi-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/hapi-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/hapi-mocks'] --- import kbnHapiMocksObj from './kbn_hapi_mocks.devdocs.json'; diff --git a/api_docs/kbn_health_gateway_server.mdx b/api_docs/kbn_health_gateway_server.mdx index f677ea2dd8199..0f4e39732b7bf 100644 --- a/api_docs/kbn_health_gateway_server.mdx +++ b/api_docs/kbn_health_gateway_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-health-gateway-server title: "@kbn/health-gateway-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/health-gateway-server plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/health-gateway-server'] --- import kbnHealthGatewayServerObj from './kbn_health_gateway_server.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_card.mdx b/api_docs/kbn_home_sample_data_card.mdx index 1b8520f3d4a7f..de4bdade0d5f3 100644 --- a/api_docs/kbn_home_sample_data_card.mdx +++ b/api_docs/kbn_home_sample_data_card.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-card title: "@kbn/home-sample-data-card" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-card plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-card'] --- import kbnHomeSampleDataCardObj from './kbn_home_sample_data_card.devdocs.json'; diff --git a/api_docs/kbn_home_sample_data_tab.mdx b/api_docs/kbn_home_sample_data_tab.mdx index 4d38b885f6d78..3f33a68adbde6 100644 --- a/api_docs/kbn_home_sample_data_tab.mdx +++ b/api_docs/kbn_home_sample_data_tab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-home-sample-data-tab title: "@kbn/home-sample-data-tab" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/home-sample-data-tab plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/home-sample-data-tab'] --- import kbnHomeSampleDataTabObj from './kbn_home_sample_data_tab.devdocs.json'; diff --git a/api_docs/kbn_i18n.mdx b/api_docs/kbn_i18n.mdx index 05bfad64c9640..9541a345278c6 100644 --- a/api_docs/kbn_i18n.mdx +++ b/api_docs/kbn_i18n.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n title: "@kbn/i18n" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n'] --- import kbnI18nObj from './kbn_i18n.devdocs.json'; diff --git a/api_docs/kbn_i18n_react.mdx b/api_docs/kbn_i18n_react.mdx index 8a86719ab610c..9092df548e264 100644 --- a/api_docs/kbn_i18n_react.mdx +++ b/api_docs/kbn_i18n_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-i18n-react title: "@kbn/i18n-react" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/i18n-react plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/i18n-react'] --- import kbnI18nReactObj from './kbn_i18n_react.devdocs.json'; diff --git a/api_docs/kbn_import_resolver.mdx b/api_docs/kbn_import_resolver.mdx index ba340bd2fc4f2..15bfa66e22218 100644 --- a/api_docs/kbn_import_resolver.mdx +++ b/api_docs/kbn_import_resolver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-import-resolver title: "@kbn/import-resolver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/import-resolver plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_index_management.mdx b/api_docs/kbn_index_management.mdx index 56b638b5ef4e7..d74d0804ced1b 100644 --- a/api_docs/kbn_index_management.mdx +++ b/api_docs/kbn_index_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-index-management title: "@kbn/index-management" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/index-management plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/index-management'] --- import kbnIndexManagementObj from './kbn_index_management.devdocs.json'; diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index 69be78b27084c..18918fb43fef9 100644 --- a/api_docs/kbn_infra_forge.mdx +++ b/api_docs/kbn_infra_forge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-infra-forge title: "@kbn/infra-forge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/infra-forge plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/infra-forge'] --- import kbnInfraForgeObj from './kbn_infra_forge.devdocs.json'; diff --git a/api_docs/kbn_interpreter.mdx b/api_docs/kbn_interpreter.mdx index 2a0015cefafd7..8eb092c986ed1 100644 --- a/api_docs/kbn_interpreter.mdx +++ b/api_docs/kbn_interpreter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-interpreter title: "@kbn/interpreter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/interpreter plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/interpreter'] --- import kbnInterpreterObj from './kbn_interpreter.devdocs.json'; diff --git a/api_docs/kbn_io_ts_utils.mdx b/api_docs/kbn_io_ts_utils.mdx index e8bfd7f71980c..77f9117b12147 100644 --- a/api_docs/kbn_io_ts_utils.mdx +++ b/api_docs/kbn_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-io-ts-utils title: "@kbn/io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/io-ts-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/io-ts-utils'] --- import kbnIoTsUtilsObj from './kbn_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_ipynb.devdocs.json b/api_docs/kbn_ipynb.devdocs.json new file mode 100644 index 0000000000000..f0742196f8739 --- /dev/null +++ b/api_docs/kbn_ipynb.devdocs.json @@ -0,0 +1,698 @@ +{ + "id": "@kbn/ipynb", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookRenderer", + "type": "Function", + "tags": [], + "label": "NotebookRenderer", + "description": [], + "signature": [ + "({ notebook }: ", + { + "pluginId": "@kbn/ipynb", + "scope": "common", + "docId": "kibKbnIpynbPluginApi", + "section": "def-common.NotebookRendererProps", + "text": "NotebookRendererProps" + }, + ") => JSX.Element" + ], + "path": "packages/kbn-ipynb/components/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookRenderer.$1", + "type": "Object", + "tags": [], + "label": "{ notebook }", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ipynb", + "scope": "common", + "docId": "kibKbnIpynbPluginApi", + "section": "def-common.NotebookRendererProps", + "text": "NotebookRendererProps" + } + ], + "path": "packages/kbn-ipynb/components/index.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType", + "type": "Interface", + "tags": [], + "label": "NotebookCellType", + "description": [], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType.auto_number", + "type": "number", + "tags": [], + "label": "auto_number", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType.cell_type", + "type": "string", + "tags": [], + "label": "cell_type", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType.execution_count", + "type": "CompoundType", + "tags": [], + "label": "execution_count", + "description": [], + "signature": [ + "number | null | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType.input", + "type": "Array", + "tags": [], + "label": "input", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType.metadata", + "type": "Object", + "tags": [], + "label": "metadata", + "description": [], + "signature": [ + "{ id?: string | undefined; } | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType.outputs", + "type": "Array", + "tags": [], + "label": "outputs", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ipynb", + "scope": "common", + "docId": "kibKbnIpynbPluginApi", + "section": "def-common.NotebookOutputType", + "text": "NotebookOutputType" + }, + "[] | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType.prompt_number", + "type": "number", + "tags": [], + "label": "prompt_number", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookCellType.source", + "type": "Array", + "tags": [], + "label": "source", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookDefinition", + "type": "Interface", + "tags": [], + "label": "NotebookDefinition", + "description": [], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookDefinition.cells", + "type": "Array", + "tags": [], + "label": "cells", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ipynb", + "scope": "common", + "docId": "kibKbnIpynbPluginApi", + "section": "def-common.NotebookCellType", + "text": "NotebookCellType" + }, + "[]" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookDefinition.metadata", + "type": "Object", + "tags": [], + "label": "metadata", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ipynb", + "scope": "common", + "docId": "kibKbnIpynbPluginApi", + "section": "def-common.NotebookMetadataType", + "text": "NotebookMetadataType" + }, + " | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookDefinition.nbformat", + "type": "number", + "tags": [], + "label": "nbformat", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookDefinition.nbformat_minor", + "type": "number", + "tags": [], + "label": "nbformat_minor", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookMetadataType", + "type": "Interface", + "tags": [], + "label": "NotebookMetadataType", + "description": [], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookMetadataType.kernelspec", + "type": "Object", + "tags": [], + "label": "kernelspec", + "description": [], + "signature": [ + "{ display_name?: string | undefined; language?: string | undefined; name?: string | undefined; } | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookMetadataType.language_info", + "type": "Object", + "tags": [], + "label": "language_info", + "description": [], + "signature": [ + "{ mimetype?: string | undefined; name?: string | undefined; version?: string | undefined; } | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputData", + "type": "Interface", + "tags": [], + "label": "NotebookOutputData", + "description": [], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputData.textplain", + "type": "Array", + "tags": [], + "label": "'text/plain'", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputData.texthtml", + "type": "Array", + "tags": [], + "label": "'text/html'", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputData.textlatex", + "type": "Array", + "tags": [], + "label": "'text/latex'", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputData.imagepng", + "type": "string", + "tags": [], + "label": "'image/png'", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputData.imagejpeg", + "type": "string", + "tags": [], + "label": "'image/jpeg'", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputData.imagegif", + "type": "string", + "tags": [], + "label": "'image/gif'", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputData.imagesvgxml", + "type": "string", + "tags": [], + "label": "'image/svg+xml'", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputData.applicationjavascript", + "type": "Array", + "tags": [], + "label": "'application/javascript'", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType", + "type": "Interface", + "tags": [], + "label": "NotebookOutputType", + "description": [], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.name", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.ename", + "type": "string", + "tags": [], + "label": "ename", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.evalue", + "type": "string", + "tags": [], + "label": "evalue", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.traceback", + "type": "Array", + "tags": [], + "label": "traceback", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.data", + "type": "Object", + "tags": [], + "label": "data", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ipynb", + "scope": "common", + "docId": "kibKbnIpynbPluginApi", + "section": "def-common.NotebookOutputData", + "text": "NotebookOutputData" + }, + " | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.output_type", + "type": "string", + "tags": [], + "label": "output_type", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.png", + "type": "string", + "tags": [], + "label": "png", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.jpeg", + "type": "string", + "tags": [], + "label": "jpeg", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.gif", + "type": "string", + "tags": [], + "label": "gif", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.svg", + "type": "string", + "tags": [], + "label": "svg", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.text", + "type": "Array", + "tags": [], + "label": "text", + "description": [], + "signature": [ + "string[] | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookOutputType.execution_count", + "type": "number", + "tags": [], + "label": "execution_count", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-ipynb/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookRendererProps", + "type": "Interface", + "tags": [], + "label": "NotebookRendererProps", + "description": [], + "path": "packages/kbn-ipynb/components/index.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/ipynb", + "id": "def-common.NotebookRendererProps.notebook", + "type": "Object", + "tags": [], + "label": "notebook", + "description": [], + "signature": [ + { + "pluginId": "@kbn/ipynb", + "scope": "common", + "docId": "kibKbnIpynbPluginApi", + "section": "def-common.NotebookDefinition", + "text": "NotebookDefinition" + } + ], + "path": "packages/kbn-ipynb/components/index.tsx", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_ipynb.mdx b/api_docs/kbn_ipynb.mdx new file mode 100644 index 0000000000000..6a605fa25b27d --- /dev/null +++ b/api_docs/kbn_ipynb.mdx @@ -0,0 +1,33 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnIpynbPluginApi +slug: /kibana-dev-docs/api/kbn-ipynb +title: "@kbn/ipynb" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/ipynb plugin +date: 2024-04-16 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ipynb'] +--- +import kbnIpynbObj from './kbn_ipynb.devdocs.json'; + + + +Contact [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 44 | 0 | 44 | 0 | + +## Common + +### Functions + + +### Interfaces + + diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index ecc0ff53ff5d3..c3d5e6b349a73 100644 --- a/api_docs/kbn_jest_serializers.mdx +++ b/api_docs/kbn_jest_serializers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-jest-serializers title: "@kbn/jest-serializers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/jest-serializers plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/jest-serializers'] --- import kbnJestSerializersObj from './kbn_jest_serializers.devdocs.json'; diff --git a/api_docs/kbn_journeys.mdx b/api_docs/kbn_journeys.mdx index 53fd0b28355e2..e66a4a81aa1e2 100644 --- a/api_docs/kbn_journeys.mdx +++ b/api_docs/kbn_journeys.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-journeys title: "@kbn/journeys" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/journeys plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/journeys'] --- import kbnJourneysObj from './kbn_journeys.devdocs.json'; diff --git a/api_docs/kbn_json_ast.mdx b/api_docs/kbn_json_ast.mdx index 94dda764b2d0e..6ae3ea5c27f60 100644 --- a/api_docs/kbn_json_ast.mdx +++ b/api_docs/kbn_json_ast.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-json-ast title: "@kbn/json-ast" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/json-ast plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/json-ast'] --- import kbnJsonAstObj from './kbn_json_ast.devdocs.json'; diff --git a/api_docs/kbn_kibana_manifest_schema.mdx b/api_docs/kbn_kibana_manifest_schema.mdx index e9e0e47c35e5a..c0c16920bc372 100644 --- a/api_docs/kbn_kibana_manifest_schema.mdx +++ b/api_docs/kbn_kibana_manifest_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-kibana-manifest-schema title: "@kbn/kibana-manifest-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/kibana-manifest-schema plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/kibana-manifest-schema'] --- import kbnKibanaManifestSchemaObj from './kbn_kibana_manifest_schema.devdocs.json'; diff --git a/api_docs/kbn_language_documentation_popover.mdx b/api_docs/kbn_language_documentation_popover.mdx index f8080f8066f9b..6cbb7b3959946 100644 --- a/api_docs/kbn_language_documentation_popover.mdx +++ b/api_docs/kbn_language_documentation_popover.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-language-documentation-popover title: "@kbn/language-documentation-popover" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/language-documentation-popover plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/language-documentation-popover'] --- import kbnLanguageDocumentationPopoverObj from './kbn_language_documentation_popover.devdocs.json'; diff --git a/api_docs/kbn_lens_embeddable_utils.mdx b/api_docs/kbn_lens_embeddable_utils.mdx index a5b7a13d5708e..56a1e0ad6a5df 100644 --- a/api_docs/kbn_lens_embeddable_utils.mdx +++ b/api_docs/kbn_lens_embeddable_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-embeddable-utils title: "@kbn/lens-embeddable-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-embeddable-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-embeddable-utils'] --- import kbnLensEmbeddableUtilsObj from './kbn_lens_embeddable_utils.devdocs.json'; diff --git a/api_docs/kbn_lens_formula_docs.mdx b/api_docs/kbn_lens_formula_docs.mdx index b51e4379efc93..b1267cca03252 100644 --- a/api_docs/kbn_lens_formula_docs.mdx +++ b/api_docs/kbn_lens_formula_docs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-lens-formula-docs title: "@kbn/lens-formula-docs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/lens-formula-docs plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/lens-formula-docs'] --- import kbnLensFormulaDocsObj from './kbn_lens_formula_docs.devdocs.json'; diff --git a/api_docs/kbn_logging.mdx b/api_docs/kbn_logging.mdx index 6ab8ce8876463..b531b0e3f1cae 100644 --- a/api_docs/kbn_logging.mdx +++ b/api_docs/kbn_logging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging title: "@kbn/logging" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging'] --- import kbnLoggingObj from './kbn_logging.devdocs.json'; diff --git a/api_docs/kbn_logging_mocks.mdx b/api_docs/kbn_logging_mocks.mdx index 45873f17c19f7..4935f2e7fc630 100644 --- a/api_docs/kbn_logging_mocks.mdx +++ b/api_docs/kbn_logging_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-logging-mocks title: "@kbn/logging-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/logging-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/logging-mocks'] --- import kbnLoggingMocksObj from './kbn_logging_mocks.devdocs.json'; diff --git a/api_docs/kbn_managed_content_badge.mdx b/api_docs/kbn_managed_content_badge.mdx index ec6c002607973..e031ba30af0fc 100644 --- a/api_docs/kbn_managed_content_badge.mdx +++ b/api_docs/kbn_managed_content_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-content-badge title: "@kbn/managed-content-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-content-badge plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-content-badge'] --- import kbnManagedContentBadgeObj from './kbn_managed_content_badge.devdocs.json'; diff --git a/api_docs/kbn_managed_vscode_config.mdx b/api_docs/kbn_managed_vscode_config.mdx index 7d38f090c919b..5042add84c164 100644 --- a/api_docs/kbn_managed_vscode_config.mdx +++ b/api_docs/kbn_managed_vscode_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-managed-vscode-config title: "@kbn/managed-vscode-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/managed-vscode-config plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/managed-vscode-config'] --- import kbnManagedVscodeConfigObj from './kbn_managed_vscode_config.devdocs.json'; diff --git a/api_docs/kbn_management_cards_navigation.mdx b/api_docs/kbn_management_cards_navigation.mdx index 362c15399b634..5cf0d8b3efc83 100644 --- a/api_docs/kbn_management_cards_navigation.mdx +++ b/api_docs/kbn_management_cards_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-cards-navigation title: "@kbn/management-cards-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-cards-navigation plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-cards-navigation'] --- import kbnManagementCardsNavigationObj from './kbn_management_cards_navigation.devdocs.json'; diff --git a/api_docs/kbn_management_settings_application.mdx b/api_docs/kbn_management_settings_application.mdx index 13d23e2c1ce58..71583751bf281 100644 --- a/api_docs/kbn_management_settings_application.mdx +++ b/api_docs/kbn_management_settings_application.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-application title: "@kbn/management-settings-application" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-application plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-application'] --- import kbnManagementSettingsApplicationObj from './kbn_management_settings_application.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_category.mdx b/api_docs/kbn_management_settings_components_field_category.mdx index ce29fcc8e65f6..bcc0d2512c4fd 100644 --- a/api_docs/kbn_management_settings_components_field_category.mdx +++ b/api_docs/kbn_management_settings_components_field_category.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-category title: "@kbn/management-settings-components-field-category" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-category plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-category'] --- import kbnManagementSettingsComponentsFieldCategoryObj from './kbn_management_settings_components_field_category.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_input.mdx b/api_docs/kbn_management_settings_components_field_input.mdx index a80fe5cb2e2c9..3c635ba373af4 100644 --- a/api_docs/kbn_management_settings_components_field_input.mdx +++ b/api_docs/kbn_management_settings_components_field_input.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-input title: "@kbn/management-settings-components-field-input" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-input plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-input'] --- import kbnManagementSettingsComponentsFieldInputObj from './kbn_management_settings_components_field_input.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_field_row.mdx b/api_docs/kbn_management_settings_components_field_row.mdx index 9e0791e9b9397..b44a4052ea3db 100644 --- a/api_docs/kbn_management_settings_components_field_row.mdx +++ b/api_docs/kbn_management_settings_components_field_row.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-field-row title: "@kbn/management-settings-components-field-row" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-field-row plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-field-row'] --- import kbnManagementSettingsComponentsFieldRowObj from './kbn_management_settings_components_field_row.devdocs.json'; diff --git a/api_docs/kbn_management_settings_components_form.mdx b/api_docs/kbn_management_settings_components_form.mdx index 90389c7690a51..5e14f30d50f8e 100644 --- a/api_docs/kbn_management_settings_components_form.mdx +++ b/api_docs/kbn_management_settings_components_form.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-components-form title: "@kbn/management-settings-components-form" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-components-form plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-components-form'] --- import kbnManagementSettingsComponentsFormObj from './kbn_management_settings_components_form.devdocs.json'; diff --git a/api_docs/kbn_management_settings_field_definition.mdx b/api_docs/kbn_management_settings_field_definition.mdx index d7f903e40acf6..d54db6678ae3e 100644 --- a/api_docs/kbn_management_settings_field_definition.mdx +++ b/api_docs/kbn_management_settings_field_definition.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-field-definition title: "@kbn/management-settings-field-definition" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-field-definition plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-field-definition'] --- import kbnManagementSettingsFieldDefinitionObj from './kbn_management_settings_field_definition.devdocs.json'; diff --git a/api_docs/kbn_management_settings_ids.mdx b/api_docs/kbn_management_settings_ids.mdx index 9a0e10e35969f..445c88ccf6499 100644 --- a/api_docs/kbn_management_settings_ids.mdx +++ b/api_docs/kbn_management_settings_ids.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-ids title: "@kbn/management-settings-ids" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-ids plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-ids'] --- import kbnManagementSettingsIdsObj from './kbn_management_settings_ids.devdocs.json'; diff --git a/api_docs/kbn_management_settings_section_registry.mdx b/api_docs/kbn_management_settings_section_registry.mdx index 6eb7414b7c0e3..c8b70869d3c4b 100644 --- a/api_docs/kbn_management_settings_section_registry.mdx +++ b/api_docs/kbn_management_settings_section_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-section-registry title: "@kbn/management-settings-section-registry" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-section-registry plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-section-registry'] --- import kbnManagementSettingsSectionRegistryObj from './kbn_management_settings_section_registry.devdocs.json'; diff --git a/api_docs/kbn_management_settings_types.mdx b/api_docs/kbn_management_settings_types.mdx index 0faf727cd4c68..d4f9c35de199a 100644 --- a/api_docs/kbn_management_settings_types.mdx +++ b/api_docs/kbn_management_settings_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-types title: "@kbn/management-settings-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-types'] --- import kbnManagementSettingsTypesObj from './kbn_management_settings_types.devdocs.json'; diff --git a/api_docs/kbn_management_settings_utilities.mdx b/api_docs/kbn_management_settings_utilities.mdx index 8af270704bacf..07edc82d3f004 100644 --- a/api_docs/kbn_management_settings_utilities.mdx +++ b/api_docs/kbn_management_settings_utilities.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-settings-utilities title: "@kbn/management-settings-utilities" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-settings-utilities plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-settings-utilities'] --- import kbnManagementSettingsUtilitiesObj from './kbn_management_settings_utilities.devdocs.json'; diff --git a/api_docs/kbn_management_storybook_config.mdx b/api_docs/kbn_management_storybook_config.mdx index 3d0e571648a50..32745a0dbe4bc 100644 --- a/api_docs/kbn_management_storybook_config.mdx +++ b/api_docs/kbn_management_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-management-storybook-config title: "@kbn/management-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/management-storybook-config plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/management-storybook-config'] --- import kbnManagementStorybookConfigObj from './kbn_management_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_mapbox_gl.mdx b/api_docs/kbn_mapbox_gl.mdx index e6ff638d808c5..8e9d6c5d4a255 100644 --- a/api_docs/kbn_mapbox_gl.mdx +++ b/api_docs/kbn_mapbox_gl.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mapbox-gl title: "@kbn/mapbox-gl" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mapbox-gl plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mapbox-gl'] --- import kbnMapboxGlObj from './kbn_mapbox_gl.devdocs.json'; diff --git a/api_docs/kbn_maps_vector_tile_utils.mdx b/api_docs/kbn_maps_vector_tile_utils.mdx index 7c32423edb450..2f76c2f97e482 100644 --- a/api_docs/kbn_maps_vector_tile_utils.mdx +++ b/api_docs/kbn_maps_vector_tile_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-maps-vector-tile-utils title: "@kbn/maps-vector-tile-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/maps-vector-tile-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/maps-vector-tile-utils'] --- import kbnMapsVectorTileUtilsObj from './kbn_maps_vector_tile_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_agg_utils.mdx b/api_docs/kbn_ml_agg_utils.mdx index 9dcd546e7358b..db9a350876c0d 100644 --- a/api_docs/kbn_ml_agg_utils.mdx +++ b/api_docs/kbn_ml_agg_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-agg-utils title: "@kbn/ml-agg-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-agg-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-agg-utils'] --- import kbnMlAggUtilsObj from './kbn_ml_agg_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_anomaly_utils.mdx b/api_docs/kbn_ml_anomaly_utils.mdx index ab84ad211c994..f3bec3aeaa419 100644 --- a/api_docs/kbn_ml_anomaly_utils.mdx +++ b/api_docs/kbn_ml_anomaly_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-anomaly-utils title: "@kbn/ml-anomaly-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-anomaly-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-anomaly-utils'] --- import kbnMlAnomalyUtilsObj from './kbn_ml_anomaly_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_cancellable_search.mdx b/api_docs/kbn_ml_cancellable_search.mdx index 5b6a48427d497..00e5300a1e17a 100644 --- a/api_docs/kbn_ml_cancellable_search.mdx +++ b/api_docs/kbn_ml_cancellable_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-cancellable-search title: "@kbn/ml-cancellable-search" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-cancellable-search plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-cancellable-search'] --- import kbnMlCancellableSearchObj from './kbn_ml_cancellable_search.devdocs.json'; diff --git a/api_docs/kbn_ml_category_validator.mdx b/api_docs/kbn_ml_category_validator.mdx index b8e1a2b11bbc1..f3594481eea1b 100644 --- a/api_docs/kbn_ml_category_validator.mdx +++ b/api_docs/kbn_ml_category_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-category-validator title: "@kbn/ml-category-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-category-validator plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-category-validator'] --- import kbnMlCategoryValidatorObj from './kbn_ml_category_validator.devdocs.json'; diff --git a/api_docs/kbn_ml_chi2test.mdx b/api_docs/kbn_ml_chi2test.mdx index 2533aedd2c034..575e441e80aaf 100644 --- a/api_docs/kbn_ml_chi2test.mdx +++ b/api_docs/kbn_ml_chi2test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-chi2test title: "@kbn/ml-chi2test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-chi2test plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-chi2test'] --- import kbnMlChi2testObj from './kbn_ml_chi2test.devdocs.json'; diff --git a/api_docs/kbn_ml_data_frame_analytics_utils.mdx b/api_docs/kbn_ml_data_frame_analytics_utils.mdx index c76e765217dd9..0a1483fd5604b 100644 --- a/api_docs/kbn_ml_data_frame_analytics_utils.mdx +++ b/api_docs/kbn_ml_data_frame_analytics_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-frame-analytics-utils title: "@kbn/ml-data-frame-analytics-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-frame-analytics-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-frame-analytics-utils'] --- import kbnMlDataFrameAnalyticsUtilsObj from './kbn_ml_data_frame_analytics_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_data_grid.mdx b/api_docs/kbn_ml_data_grid.mdx index 3d5843a38a97b..3dc2df50eb6cf 100644 --- a/api_docs/kbn_ml_data_grid.mdx +++ b/api_docs/kbn_ml_data_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-data-grid title: "@kbn/ml-data-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-data-grid plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-data-grid'] --- import kbnMlDataGridObj from './kbn_ml_data_grid.devdocs.json'; diff --git a/api_docs/kbn_ml_date_picker.mdx b/api_docs/kbn_ml_date_picker.mdx index c72f441df37fd..8fe3a10454e4f 100644 --- a/api_docs/kbn_ml_date_picker.mdx +++ b/api_docs/kbn_ml_date_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-picker title: "@kbn/ml-date-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-picker plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-picker'] --- import kbnMlDatePickerObj from './kbn_ml_date_picker.devdocs.json'; diff --git a/api_docs/kbn_ml_date_utils.mdx b/api_docs/kbn_ml_date_utils.mdx index 7832bfd0a500d..1079a21cbabcf 100644 --- a/api_docs/kbn_ml_date_utils.mdx +++ b/api_docs/kbn_ml_date_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-date-utils title: "@kbn/ml-date-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-date-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-date-utils'] --- import kbnMlDateUtilsObj from './kbn_ml_date_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_error_utils.mdx b/api_docs/kbn_ml_error_utils.mdx index 798e863ee37a0..b17262e21e83e 100644 --- a/api_docs/kbn_ml_error_utils.mdx +++ b/api_docs/kbn_ml_error_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-error-utils title: "@kbn/ml-error-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-error-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-error-utils'] --- import kbnMlErrorUtilsObj from './kbn_ml_error_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_in_memory_table.mdx b/api_docs/kbn_ml_in_memory_table.mdx index dc0eee44e962d..9906597a32578 100644 --- a/api_docs/kbn_ml_in_memory_table.mdx +++ b/api_docs/kbn_ml_in_memory_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-in-memory-table title: "@kbn/ml-in-memory-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-in-memory-table plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-in-memory-table'] --- import kbnMlInMemoryTableObj from './kbn_ml_in_memory_table.devdocs.json'; diff --git a/api_docs/kbn_ml_is_defined.mdx b/api_docs/kbn_ml_is_defined.mdx index 518e1dce79e82..882db6095794e 100644 --- a/api_docs/kbn_ml_is_defined.mdx +++ b/api_docs/kbn_ml_is_defined.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-defined title: "@kbn/ml-is-defined" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-defined plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-defined'] --- import kbnMlIsDefinedObj from './kbn_ml_is_defined.devdocs.json'; diff --git a/api_docs/kbn_ml_is_populated_object.mdx b/api_docs/kbn_ml_is_populated_object.mdx index 4597ee7a79c1f..7cc73ceb0e62f 100644 --- a/api_docs/kbn_ml_is_populated_object.mdx +++ b/api_docs/kbn_ml_is_populated_object.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-is-populated-object title: "@kbn/ml-is-populated-object" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-is-populated-object plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-is-populated-object'] --- import kbnMlIsPopulatedObjectObj from './kbn_ml_is_populated_object.devdocs.json'; diff --git a/api_docs/kbn_ml_kibana_theme.mdx b/api_docs/kbn_ml_kibana_theme.mdx index 73d6237a06b45..f9fbbdb825c38 100644 --- a/api_docs/kbn_ml_kibana_theme.mdx +++ b/api_docs/kbn_ml_kibana_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-kibana-theme title: "@kbn/ml-kibana-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-kibana-theme plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-kibana-theme'] --- import kbnMlKibanaThemeObj from './kbn_ml_kibana_theme.devdocs.json'; diff --git a/api_docs/kbn_ml_local_storage.mdx b/api_docs/kbn_ml_local_storage.mdx index a836d125c0eef..7297df2b14093 100644 --- a/api_docs/kbn_ml_local_storage.mdx +++ b/api_docs/kbn_ml_local_storage.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-local-storage title: "@kbn/ml-local-storage" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-local-storage plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-local-storage'] --- import kbnMlLocalStorageObj from './kbn_ml_local_storage.devdocs.json'; diff --git a/api_docs/kbn_ml_nested_property.mdx b/api_docs/kbn_ml_nested_property.mdx index 50f9649620e68..e4a9c05711117 100644 --- a/api_docs/kbn_ml_nested_property.mdx +++ b/api_docs/kbn_ml_nested_property.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-nested-property title: "@kbn/ml-nested-property" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-nested-property plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-nested-property'] --- import kbnMlNestedPropertyObj from './kbn_ml_nested_property.devdocs.json'; diff --git a/api_docs/kbn_ml_number_utils.mdx b/api_docs/kbn_ml_number_utils.mdx index 3cc8923033867..d331d877b6993 100644 --- a/api_docs/kbn_ml_number_utils.mdx +++ b/api_docs/kbn_ml_number_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-number-utils title: "@kbn/ml-number-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-number-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-number-utils'] --- import kbnMlNumberUtilsObj from './kbn_ml_number_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_query_utils.mdx b/api_docs/kbn_ml_query_utils.mdx index 24d2a49981475..d298a5dc5e206 100644 --- a/api_docs/kbn_ml_query_utils.mdx +++ b/api_docs/kbn_ml_query_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-query-utils title: "@kbn/ml-query-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-query-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-query-utils'] --- import kbnMlQueryUtilsObj from './kbn_ml_query_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_random_sampler_utils.mdx b/api_docs/kbn_ml_random_sampler_utils.mdx index 72f93574412c4..b7e86f22058dd 100644 --- a/api_docs/kbn_ml_random_sampler_utils.mdx +++ b/api_docs/kbn_ml_random_sampler_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-random-sampler-utils title: "@kbn/ml-random-sampler-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-random-sampler-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-random-sampler-utils'] --- import kbnMlRandomSamplerUtilsObj from './kbn_ml_random_sampler_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_route_utils.mdx b/api_docs/kbn_ml_route_utils.mdx index 68978421db6fc..3215d349e428f 100644 --- a/api_docs/kbn_ml_route_utils.mdx +++ b/api_docs/kbn_ml_route_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-route-utils title: "@kbn/ml-route-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-route-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-route-utils'] --- import kbnMlRouteUtilsObj from './kbn_ml_route_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_runtime_field_utils.mdx b/api_docs/kbn_ml_runtime_field_utils.mdx index fb2e5f5172f28..a64deabf4cc41 100644 --- a/api_docs/kbn_ml_runtime_field_utils.mdx +++ b/api_docs/kbn_ml_runtime_field_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-runtime-field-utils title: "@kbn/ml-runtime-field-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-runtime-field-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-runtime-field-utils'] --- import kbnMlRuntimeFieldUtilsObj from './kbn_ml_runtime_field_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_string_hash.mdx b/api_docs/kbn_ml_string_hash.mdx index d8a7c748046a1..f813ebb9a7b51 100644 --- a/api_docs/kbn_ml_string_hash.mdx +++ b/api_docs/kbn_ml_string_hash.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-string-hash title: "@kbn/ml-string-hash" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-string-hash plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-string-hash'] --- import kbnMlStringHashObj from './kbn_ml_string_hash.devdocs.json'; diff --git a/api_docs/kbn_ml_time_buckets.mdx b/api_docs/kbn_ml_time_buckets.mdx index 5fdf460ad67e4..fe40be3d49a4a 100644 --- a/api_docs/kbn_ml_time_buckets.mdx +++ b/api_docs/kbn_ml_time_buckets.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-time-buckets title: "@kbn/ml-time-buckets" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-time-buckets plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-time-buckets'] --- import kbnMlTimeBucketsObj from './kbn_ml_time_buckets.devdocs.json'; diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index ee40796fc68e9..32d044705cfff 100644 --- a/api_docs/kbn_ml_trained_models_utils.mdx +++ b/api_docs/kbn_ml_trained_models_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-trained-models-utils title: "@kbn/ml-trained-models-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-trained-models-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-trained-models-utils'] --- import kbnMlTrainedModelsUtilsObj from './kbn_ml_trained_models_utils.devdocs.json'; diff --git a/api_docs/kbn_ml_ui_actions.mdx b/api_docs/kbn_ml_ui_actions.mdx index 79583351c8e16..f2787251b73b6 100644 --- a/api_docs/kbn_ml_ui_actions.mdx +++ b/api_docs/kbn_ml_ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-ui-actions title: "@kbn/ml-ui-actions" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-ui-actions plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-ui-actions'] --- import kbnMlUiActionsObj from './kbn_ml_ui_actions.devdocs.json'; diff --git a/api_docs/kbn_ml_url_state.mdx b/api_docs/kbn_ml_url_state.mdx index e1dce8c94f7b9..416a08a868641 100644 --- a/api_docs/kbn_ml_url_state.mdx +++ b/api_docs/kbn_ml_url_state.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ml-url-state title: "@kbn/ml-url-state" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ml-url-state plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ml-url-state'] --- import kbnMlUrlStateObj from './kbn_ml_url_state.devdocs.json'; diff --git a/api_docs/kbn_mock_idp_utils.mdx b/api_docs/kbn_mock_idp_utils.mdx index 42fb684ad0f9c..001c693766b96 100644 --- a/api_docs/kbn_mock_idp_utils.mdx +++ b/api_docs/kbn_mock_idp_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-mock-idp-utils title: "@kbn/mock-idp-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/mock-idp-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/mock-idp-utils'] --- import kbnMockIdpUtilsObj from './kbn_mock_idp_utils.devdocs.json'; diff --git a/api_docs/kbn_monaco.mdx b/api_docs/kbn_monaco.mdx index 9ad43ba9aae86..0a145f08328fa 100644 --- a/api_docs/kbn_monaco.mdx +++ b/api_docs/kbn_monaco.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-monaco title: "@kbn/monaco" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/monaco plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/monaco'] --- import kbnMonacoObj from './kbn_monaco.devdocs.json'; diff --git a/api_docs/kbn_object_versioning.mdx b/api_docs/kbn_object_versioning.mdx index c8fa3d1274f6a..52dd803a975d7 100644 --- a/api_docs/kbn_object_versioning.mdx +++ b/api_docs/kbn_object_versioning.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-object-versioning title: "@kbn/object-versioning" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/object-versioning plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/object-versioning'] --- import kbnObjectVersioningObj from './kbn_object_versioning.devdocs.json'; diff --git a/api_docs/kbn_observability_alert_details.mdx b/api_docs/kbn_observability_alert_details.mdx index dc0ac1119d843..b7f03faf62202 100644 --- a/api_docs/kbn_observability_alert_details.mdx +++ b/api_docs/kbn_observability_alert_details.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alert-details title: "@kbn/observability-alert-details" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alert-details plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alert-details'] --- import kbnObservabilityAlertDetailsObj from './kbn_observability_alert_details.devdocs.json'; diff --git a/api_docs/kbn_observability_alerting_test_data.mdx b/api_docs/kbn_observability_alerting_test_data.mdx index 9a24e2edf5454..489990d0a9363 100644 --- a/api_docs/kbn_observability_alerting_test_data.mdx +++ b/api_docs/kbn_observability_alerting_test_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-alerting-test-data title: "@kbn/observability-alerting-test-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-alerting-test-data plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-alerting-test-data'] --- import kbnObservabilityAlertingTestDataObj from './kbn_observability_alerting_test_data.devdocs.json'; diff --git a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx index e064a615ef7c6..d1acc359e4866 100644 --- a/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx +++ b/api_docs/kbn_observability_get_padded_alert_time_range_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-observability-get-padded-alert-time-range-util title: "@kbn/observability-get-padded-alert-time-range-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/observability-get-padded-alert-time-range-util plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/observability-get-padded-alert-time-range-util'] --- import kbnObservabilityGetPaddedAlertTimeRangeUtilObj from './kbn_observability_get_padded_alert_time_range_util.devdocs.json'; diff --git a/api_docs/kbn_openapi_bundler.mdx b/api_docs/kbn_openapi_bundler.mdx index 354f62b234381..d196a04ac3786 100644 --- a/api_docs/kbn_openapi_bundler.mdx +++ b/api_docs/kbn_openapi_bundler.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-bundler title: "@kbn/openapi-bundler" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-bundler plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-bundler'] --- import kbnOpenapiBundlerObj from './kbn_openapi_bundler.devdocs.json'; diff --git a/api_docs/kbn_openapi_generator.mdx b/api_docs/kbn_openapi_generator.mdx index b3c7218a8451f..093a5715f019a 100644 --- a/api_docs/kbn_openapi_generator.mdx +++ b/api_docs/kbn_openapi_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-openapi-generator title: "@kbn/openapi-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/openapi-generator plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/openapi-generator'] --- import kbnOpenapiGeneratorObj from './kbn_openapi_generator.devdocs.json'; diff --git a/api_docs/kbn_optimizer.mdx b/api_docs/kbn_optimizer.mdx index d9b4de9e7a495..010c80c5588a7 100644 --- a/api_docs/kbn_optimizer.mdx +++ b/api_docs/kbn_optimizer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer title: "@kbn/optimizer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer'] --- import kbnOptimizerObj from './kbn_optimizer.devdocs.json'; diff --git a/api_docs/kbn_optimizer_webpack_helpers.mdx b/api_docs/kbn_optimizer_webpack_helpers.mdx index e39db6a98cf79..e4b094b9a1e92 100644 --- a/api_docs/kbn_optimizer_webpack_helpers.mdx +++ b/api_docs/kbn_optimizer_webpack_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-optimizer-webpack-helpers title: "@kbn/optimizer-webpack-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/optimizer-webpack-helpers plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/optimizer-webpack-helpers'] --- import kbnOptimizerWebpackHelpersObj from './kbn_optimizer_webpack_helpers.devdocs.json'; diff --git a/api_docs/kbn_osquery_io_ts_types.mdx b/api_docs/kbn_osquery_io_ts_types.mdx index 8ae7646c06c67..2e311d6943642 100644 --- a/api_docs/kbn_osquery_io_ts_types.mdx +++ b/api_docs/kbn_osquery_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-osquery-io-ts-types title: "@kbn/osquery-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/osquery-io-ts-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/osquery-io-ts-types'] --- import kbnOsqueryIoTsTypesObj from './kbn_osquery_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_panel_loader.mdx b/api_docs/kbn_panel_loader.mdx index 61a0dd802c9ec..01847e87f2858 100644 --- a/api_docs/kbn_panel_loader.mdx +++ b/api_docs/kbn_panel_loader.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-panel-loader title: "@kbn/panel-loader" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/panel-loader plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/panel-loader'] --- import kbnPanelLoaderObj from './kbn_panel_loader.devdocs.json'; diff --git a/api_docs/kbn_performance_testing_dataset_extractor.mdx b/api_docs/kbn_performance_testing_dataset_extractor.mdx index fff9fb06c1e53..9c5faa8ed4f79 100644 --- a/api_docs/kbn_performance_testing_dataset_extractor.mdx +++ b/api_docs/kbn_performance_testing_dataset_extractor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-performance-testing-dataset-extractor title: "@kbn/performance-testing-dataset-extractor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/performance-testing-dataset-extractor plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/performance-testing-dataset-extractor'] --- import kbnPerformanceTestingDatasetExtractorObj from './kbn_performance_testing_dataset_extractor.devdocs.json'; diff --git a/api_docs/kbn_plugin_check.mdx b/api_docs/kbn_plugin_check.mdx index 4294934800764..8a3a852e87e0f 100644 --- a/api_docs/kbn_plugin_check.mdx +++ b/api_docs/kbn_plugin_check.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-check title: "@kbn/plugin-check" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-check plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-check'] --- import kbnPluginCheckObj from './kbn_plugin_check.devdocs.json'; diff --git a/api_docs/kbn_plugin_generator.mdx b/api_docs/kbn_plugin_generator.mdx index 8c8c25127647d..c9e207834c906 100644 --- a/api_docs/kbn_plugin_generator.mdx +++ b/api_docs/kbn_plugin_generator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-generator title: "@kbn/plugin-generator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-generator plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-generator'] --- import kbnPluginGeneratorObj from './kbn_plugin_generator.devdocs.json'; diff --git a/api_docs/kbn_plugin_helpers.mdx b/api_docs/kbn_plugin_helpers.mdx index 3fa8a66cc7ec2..4aea098117a6d 100644 --- a/api_docs/kbn_plugin_helpers.mdx +++ b/api_docs/kbn_plugin_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-plugin-helpers title: "@kbn/plugin-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/plugin-helpers plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/plugin-helpers'] --- import kbnPluginHelpersObj from './kbn_plugin_helpers.devdocs.json'; diff --git a/api_docs/kbn_presentation_containers.mdx b/api_docs/kbn_presentation_containers.mdx index fedb018892072..8a4ec15bd19fc 100644 --- a/api_docs/kbn_presentation_containers.mdx +++ b/api_docs/kbn_presentation_containers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-presentation-containers title: "@kbn/presentation-containers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/presentation-containers plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/presentation-containers'] --- import kbnPresentationContainersObj from './kbn_presentation_containers.devdocs.json'; diff --git a/api_docs/kbn_presentation_publishing.devdocs.json b/api_docs/kbn_presentation_publishing.devdocs.json index b5c67debe0760..e290dee7335a8 100644 --- a/api_docs/kbn_presentation_publishing.devdocs.json +++ b/api_docs/kbn_presentation_publishing.devdocs.json @@ -5041,6 +5041,27 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/presentation-publishing", + "id": "def-common.PublishesTimeRange.timeRestore$", + "type": "Object", + "tags": [], + "label": "timeRestore$", + "description": [], + "signature": [ + { + "pluginId": "@kbn/presentation-publishing", + "scope": "common", + "docId": "kibKbnPresentationPublishingPluginApi", + "section": "def-common.PublishingSubject", + "text": "PublishingSubject" + }, + " | undefined" + ], + "path": "packages/presentation/presentation_publishing/interfaces/fetch/publishes_unified_search.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/presentation-publishing", "id": "def-common.PublishesTimeRange.timeslice$", diff --git a/api_docs/kbn_presentation_publishing.mdx b/api_docs/kbn_presentation_publishing.mdx index 86cee544e4d78..7b02dfce404ee 100644 --- a/api_docs/kbn_presentation_publishing.mdx +++ b/api_docs/kbn_presentation_publishing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-presentation-publishing title: "@kbn/presentation-publishing" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/presentation-publishing plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/presentation-publishing'] --- import kbnPresentationPublishingObj from './kbn_presentation_publishing.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kib | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 177 | 0 | 148 | 6 | +| 178 | 0 | 149 | 6 | ## Common diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index 7686fbacfdd9c..982a460216aa6 100644 --- a/api_docs/kbn_profiling_utils.mdx +++ b/api_docs/kbn_profiling_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-profiling-utils title: "@kbn/profiling-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/profiling-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/profiling-utils'] --- import kbnProfilingUtilsObj from './kbn_profiling_utils.devdocs.json'; diff --git a/api_docs/kbn_random_sampling.mdx b/api_docs/kbn_random_sampling.mdx index ff01920106b8e..bc7f67c0b5373 100644 --- a/api_docs/kbn_random_sampling.mdx +++ b/api_docs/kbn_random_sampling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-random-sampling title: "@kbn/random-sampling" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/random-sampling plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/random-sampling'] --- import kbnRandomSamplingObj from './kbn_random_sampling.devdocs.json'; diff --git a/api_docs/kbn_react_field.mdx b/api_docs/kbn_react_field.mdx index 042151c7ba032..5a422f544d3ca 100644 --- a/api_docs/kbn_react_field.mdx +++ b/api_docs/kbn_react_field.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-field title: "@kbn/react-field" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-field plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-field'] --- import kbnReactFieldObj from './kbn_react_field.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_common.mdx b/api_docs/kbn_react_kibana_context_common.mdx index 4a4e276c2b31c..08ba3de1b46fe 100644 --- a/api_docs/kbn_react_kibana_context_common.mdx +++ b/api_docs/kbn_react_kibana_context_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-common title: "@kbn/react-kibana-context-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-common plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-common'] --- import kbnReactKibanaContextCommonObj from './kbn_react_kibana_context_common.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_render.mdx b/api_docs/kbn_react_kibana_context_render.mdx index a7d1281a8b141..6a76bd25ec12f 100644 --- a/api_docs/kbn_react_kibana_context_render.mdx +++ b/api_docs/kbn_react_kibana_context_render.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-render title: "@kbn/react-kibana-context-render" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-render plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-render'] --- import kbnReactKibanaContextRenderObj from './kbn_react_kibana_context_render.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_root.mdx b/api_docs/kbn_react_kibana_context_root.mdx index e1d41b9c1288f..f297fd4a637bd 100644 --- a/api_docs/kbn_react_kibana_context_root.mdx +++ b/api_docs/kbn_react_kibana_context_root.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-root title: "@kbn/react-kibana-context-root" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-root plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-root'] --- import kbnReactKibanaContextRootObj from './kbn_react_kibana_context_root.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_styled.mdx b/api_docs/kbn_react_kibana_context_styled.mdx index 662c902d69c2c..a83a45d0ed2d3 100644 --- a/api_docs/kbn_react_kibana_context_styled.mdx +++ b/api_docs/kbn_react_kibana_context_styled.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-styled title: "@kbn/react-kibana-context-styled" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-styled plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-styled'] --- import kbnReactKibanaContextStyledObj from './kbn_react_kibana_context_styled.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_context_theme.mdx b/api_docs/kbn_react_kibana_context_theme.mdx index 0aebe2cbd5a00..43dfb3ae03b1d 100644 --- a/api_docs/kbn_react_kibana_context_theme.mdx +++ b/api_docs/kbn_react_kibana_context_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-context-theme title: "@kbn/react-kibana-context-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-context-theme plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-context-theme'] --- import kbnReactKibanaContextThemeObj from './kbn_react_kibana_context_theme.devdocs.json'; diff --git a/api_docs/kbn_react_kibana_mount.mdx b/api_docs/kbn_react_kibana_mount.mdx index 2ad236dd04fef..64999db8024fd 100644 --- a/api_docs/kbn_react_kibana_mount.mdx +++ b/api_docs/kbn_react_kibana_mount.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-react-kibana-mount title: "@kbn/react-kibana-mount" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/react-kibana-mount plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/react-kibana-mount'] --- import kbnReactKibanaMountObj from './kbn_react_kibana_mount.devdocs.json'; diff --git a/api_docs/kbn_repo_file_maps.mdx b/api_docs/kbn_repo_file_maps.mdx index 66bb6fa50e556..4ea9a02b599c5 100644 --- a/api_docs/kbn_repo_file_maps.mdx +++ b/api_docs/kbn_repo_file_maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-file-maps title: "@kbn/repo-file-maps" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-file-maps plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-file-maps'] --- import kbnRepoFileMapsObj from './kbn_repo_file_maps.devdocs.json'; diff --git a/api_docs/kbn_repo_linter.mdx b/api_docs/kbn_repo_linter.mdx index c9231b4bfd4b5..36a3e20348d7d 100644 --- a/api_docs/kbn_repo_linter.mdx +++ b/api_docs/kbn_repo_linter.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-linter title: "@kbn/repo-linter" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-linter plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-linter'] --- import kbnRepoLinterObj from './kbn_repo_linter.devdocs.json'; diff --git a/api_docs/kbn_repo_path.mdx b/api_docs/kbn_repo_path.mdx index 976c99638a761..8b43e3feb1f88 100644 --- a/api_docs/kbn_repo_path.mdx +++ b/api_docs/kbn_repo_path.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-path title: "@kbn/repo-path" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-path plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-path'] --- import kbnRepoPathObj from './kbn_repo_path.devdocs.json'; diff --git a/api_docs/kbn_repo_source_classifier.mdx b/api_docs/kbn_repo_source_classifier.mdx index 94f9c5c016ae2..cd1aa708e7121 100644 --- a/api_docs/kbn_repo_source_classifier.mdx +++ b/api_docs/kbn_repo_source_classifier.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-repo-source-classifier title: "@kbn/repo-source-classifier" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/repo-source-classifier plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/repo-source-classifier'] --- import kbnRepoSourceClassifierObj from './kbn_repo_source_classifier.devdocs.json'; diff --git a/api_docs/kbn_reporting_common.mdx b/api_docs/kbn_reporting_common.mdx index fc987c038bb96..0d14d37dcd732 100644 --- a/api_docs/kbn_reporting_common.mdx +++ b/api_docs/kbn_reporting_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-common title: "@kbn/reporting-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-common plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx index 8ed71644cea0d..e9ccb5628970d 100644 --- a/api_docs/kbn_reporting_export_types_csv.mdx +++ b/api_docs/kbn_reporting_export_types_csv.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv title: "@kbn/reporting-export-types-csv" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv'] --- import kbnReportingExportTypesCsvObj from './kbn_reporting_export_types_csv.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv_common.mdx b/api_docs/kbn_reporting_export_types_csv_common.mdx index b6837d804d991..0200411b453cb 100644 --- a/api_docs/kbn_reporting_export_types_csv_common.mdx +++ b/api_docs/kbn_reporting_export_types_csv_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-csv-common title: "@kbn/reporting-export-types-csv-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-csv-common plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-csv-common'] --- import kbnReportingExportTypesCsvCommonObj from './kbn_reporting_export_types_csv_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf.mdx b/api_docs/kbn_reporting_export_types_pdf.mdx index efa5075f0f9d3..74ff2c1034a04 100644 --- a/api_docs/kbn_reporting_export_types_pdf.mdx +++ b/api_docs/kbn_reporting_export_types_pdf.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf title: "@kbn/reporting-export-types-pdf" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf'] --- import kbnReportingExportTypesPdfObj from './kbn_reporting_export_types_pdf.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_pdf_common.mdx b/api_docs/kbn_reporting_export_types_pdf_common.mdx index d8abf6941e910..a8b2ad25a0237 100644 --- a/api_docs/kbn_reporting_export_types_pdf_common.mdx +++ b/api_docs/kbn_reporting_export_types_pdf_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-pdf-common title: "@kbn/reporting-export-types-pdf-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-pdf-common plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-pdf-common'] --- import kbnReportingExportTypesPdfCommonObj from './kbn_reporting_export_types_pdf_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png.mdx b/api_docs/kbn_reporting_export_types_png.mdx index 3145824073fc5..3c6295fbb830c 100644 --- a/api_docs/kbn_reporting_export_types_png.mdx +++ b/api_docs/kbn_reporting_export_types_png.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png title: "@kbn/reporting-export-types-png" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png'] --- import kbnReportingExportTypesPngObj from './kbn_reporting_export_types_png.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_png_common.mdx b/api_docs/kbn_reporting_export_types_png_common.mdx index fed41731f4f37..9a6d02b2103a2 100644 --- a/api_docs/kbn_reporting_export_types_png_common.mdx +++ b/api_docs/kbn_reporting_export_types_png_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-export-types-png-common title: "@kbn/reporting-export-types-png-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-export-types-png-common plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-export-types-png-common'] --- import kbnReportingExportTypesPngCommonObj from './kbn_reporting_export_types_png_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_mocks_server.mdx b/api_docs/kbn_reporting_mocks_server.mdx index 96526d7b845f9..1f259bcf342f4 100644 --- a/api_docs/kbn_reporting_mocks_server.mdx +++ b/api_docs/kbn_reporting_mocks_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-mocks-server title: "@kbn/reporting-mocks-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-mocks-server plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-mocks-server'] --- import kbnReportingMocksServerObj from './kbn_reporting_mocks_server.devdocs.json'; diff --git a/api_docs/kbn_reporting_public.mdx b/api_docs/kbn_reporting_public.mdx index c495c0ab6fcd1..55b0416ddfb14 100644 --- a/api_docs/kbn_reporting_public.mdx +++ b/api_docs/kbn_reporting_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-public title: "@kbn/reporting-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-public plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-public'] --- import kbnReportingPublicObj from './kbn_reporting_public.devdocs.json'; diff --git a/api_docs/kbn_reporting_server.mdx b/api_docs/kbn_reporting_server.mdx index bfc05ee9ef76a..7387ae4ddb6ad 100644 --- a/api_docs/kbn_reporting_server.mdx +++ b/api_docs/kbn_reporting_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-server title: "@kbn/reporting-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-server plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-server'] --- import kbnReportingServerObj from './kbn_reporting_server.devdocs.json'; diff --git a/api_docs/kbn_resizable_layout.mdx b/api_docs/kbn_resizable_layout.mdx index e810fcc5cb4da..eaa841d3444f5 100644 --- a/api_docs/kbn_resizable_layout.mdx +++ b/api_docs/kbn_resizable_layout.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-resizable-layout title: "@kbn/resizable-layout" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/resizable-layout plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/resizable-layout'] --- import kbnResizableLayoutObj from './kbn_resizable_layout.devdocs.json'; diff --git a/api_docs/kbn_rison.mdx b/api_docs/kbn_rison.mdx index 214b6783da13e..a988e0e430960 100644 --- a/api_docs/kbn_rison.mdx +++ b/api_docs/kbn_rison.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rison title: "@kbn/rison" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rison plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_router_utils.mdx b/api_docs/kbn_router_utils.mdx index a9547fb7e7537..71a3b990262f7 100644 --- a/api_docs/kbn_router_utils.mdx +++ b/api_docs/kbn_router_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-router-utils title: "@kbn/router-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/router-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/router-utils'] --- import kbnRouterUtilsObj from './kbn_router_utils.devdocs.json'; diff --git a/api_docs/kbn_rrule.mdx b/api_docs/kbn_rrule.mdx index b11991a51f09d..1074b4a6e1dd8 100644 --- a/api_docs/kbn_rrule.mdx +++ b/api_docs/kbn_rrule.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rrule title: "@kbn/rrule" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rrule plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rrule'] --- import kbnRruleObj from './kbn_rrule.devdocs.json'; diff --git a/api_docs/kbn_rule_data_utils.mdx b/api_docs/kbn_rule_data_utils.mdx index b9ad79338f666..1148507dab966 100644 --- a/api_docs/kbn_rule_data_utils.mdx +++ b/api_docs/kbn_rule_data_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-rule-data-utils title: "@kbn/rule-data-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/rule-data-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rule-data-utils'] --- import kbnRuleDataUtilsObj from './kbn_rule_data_utils.devdocs.json'; diff --git a/api_docs/kbn_saved_objects_settings.mdx b/api_docs/kbn_saved_objects_settings.mdx index 5d16c10a2f6a2..b1ca937ff2031 100644 --- a/api_docs/kbn_saved_objects_settings.mdx +++ b/api_docs/kbn_saved_objects_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-saved-objects-settings title: "@kbn/saved-objects-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/saved-objects-settings plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/saved-objects-settings'] --- import kbnSavedObjectsSettingsObj from './kbn_saved_objects_settings.devdocs.json'; diff --git a/api_docs/kbn_search_api_panels.devdocs.json b/api_docs/kbn_search_api_panels.devdocs.json index 0b85e3ba827ee..6dde859270d31 100644 --- a/api_docs/kbn_search_api_panels.devdocs.json +++ b/api_docs/kbn_search_api_panels.devdocs.json @@ -1308,33 +1308,14 @@ "label": "sharePlugin", "description": [], "signature": [ - "{ toggleShareContextMenu: (options: ", - { - "pluginId": "share", - "scope": "public", - "docId": "kibSharePluginApi", - "section": "def-public.ShowShareMenuOptions", - "text": "ShowShareMenuOptions" - }, - ") => void; } & { url: ", { "pluginId": "share", "scope": "public", "docId": "kibSharePluginApi", - "section": "def-public.BrowserUrlService", - "text": "BrowserUrlService" + "section": "def-public.SharePublicStart", + "text": "SharePublicStart" }, - "; navigate(options: ", - "RedirectOptions", - "<", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - ">): void; }" + " | undefined" ], "path": "packages/kbn-search-api-panels/components/try_in_console_button.tsx", "deprecated": false, diff --git a/api_docs/kbn_search_api_panels.mdx b/api_docs/kbn_search_api_panels.mdx index 2a25299ef1324..a70c115b771e9 100644 --- a/api_docs/kbn_search_api_panels.mdx +++ b/api_docs/kbn_search_api_panels.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-api-panels title: "@kbn/search-api-panels" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-api-panels plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-api-panels'] --- import kbnSearchApiPanelsObj from './kbn_search_api_panels.devdocs.json'; diff --git a/api_docs/kbn_search_connectors.devdocs.json b/api_docs/kbn_search_connectors.devdocs.json index a1014d6857cd8..7a61e3a8c01ca 100644 --- a/api_docs/kbn_search_connectors.devdocs.json +++ b/api_docs/kbn_search_connectors.devdocs.json @@ -19,6 +19,76 @@ "common": { "classes": [], "functions": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.cancelSync", + "type": "Function", + "tags": [], + "label": "cancelSync", + "description": [], + "signature": [ + "(client: ", + { + "pluginId": "@kbn/core-elasticsearch-server", + "scope": "common", + "docId": "kibKbnCoreElasticsearchServerPluginApi", + "section": "def-common.ElasticsearchClient", + "text": "ElasticsearchClient" + }, + ", syncJobId: string) => Promise<", + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.ConnectorAPICancelSyncResponse", + "text": "ConnectorAPICancelSyncResponse" + }, + ">" + ], + "path": "packages/kbn-search-connectors/lib/cancel_sync.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.cancelSync.$1", + "type": "Object", + "tags": [], + "label": "client", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-elasticsearch-server", + "scope": "common", + "docId": "kibKbnCoreElasticsearchServerPluginApi", + "section": "def-common.ElasticsearchClient", + "text": "ElasticsearchClient" + } + ], + "path": "packages/kbn-search-connectors/lib/cancel_sync.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.cancelSync.$2", + "type": "string", + "tags": [], + "label": "syncJobId", + "description": [], + "signature": [ + "string" + ], + "path": "packages/kbn-search-connectors/lib/cancel_sync.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/search-connectors", "id": "def-common.cancelSyncs", @@ -1380,6 +1450,53 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.isSyncCancellable", + "type": "Function", + "tags": [], + "label": "isSyncCancellable", + "description": [], + "signature": [ + "(syncStatus: ", + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.SyncStatus", + "text": "SyncStatus" + }, + ") => boolean" + ], + "path": "packages/kbn-search-connectors/utils/sync_status_to_text.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.isSyncCancellable.$1", + "type": "Enum", + "tags": [], + "label": "syncStatus", + "description": [], + "signature": [ + { + "pluginId": "@kbn/search-connectors", + "scope": "common", + "docId": "kibKbnSearchConnectorsPluginApi", + "section": "def-common.SyncStatus", + "text": "SyncStatus" + } + ], + "path": "packages/kbn-search-connectors/utils/sync_status_to_text.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/search-connectors", "id": "def-common.pageToPagination", @@ -1647,7 +1764,7 @@ "label": "SyncJobsTable", "description": [], "signature": [ - "({ isLoading, onPaginate, pagination, syncJobs, type, }: React.PropsWithChildren) => JSX.Element" + "({ isLoading, onPaginate, pagination, syncJobs, type, cancelConfirmModalProps, }: React.PropsWithChildren) => JSX.Element" ], "path": "packages/kbn-search-connectors/components/sync_jobs/sync_jobs_table.tsx", "deprecated": false, @@ -1658,7 +1775,7 @@ "id": "def-common.SyncJobsTable.$1", "type": "CompoundType", "tags": [], - "label": "{\n isLoading,\n onPaginate,\n pagination,\n syncJobs,\n type,\n}", + "label": "{\n isLoading,\n onPaginate,\n pagination,\n syncJobs,\n type,\n cancelConfirmModalProps = {\n onConfirmCb: () => {},\n isLoading: false,\n setSyncJobIdToCancel: () => {},\n syncJobIdToCancel: undefined,\n },\n}", "description": [], "signature": [ "React.PropsWithChildren" @@ -3440,6 +3557,31 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.ConnectorAPICancelSyncResponse", + "type": "Interface", + "tags": [], + "label": "ConnectorAPICancelSyncResponse", + "description": [], + "path": "packages/kbn-search-connectors/types/connectors_api.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.ConnectorAPICancelSyncResponse.success", + "type": "boolean", + "tags": [], + "label": "success", + "description": [], + "path": "packages/kbn-search-connectors/types/connectors_api.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/search-connectors", "id": "def-common.ConnectorAPIListConnectorsResponse", @@ -5971,6 +6113,20 @@ "path": "packages/kbn-search-connectors/types/connector_stats.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "@kbn/search-connectors", + "id": "def-common.SyncJobStatsByState.topErrors", + "type": "Array", + "tags": [], + "label": "topErrors", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-search-connectors/types/connector_stats.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_search_connectors.mdx b/api_docs/kbn_search_connectors.mdx index c860ecd196999..74c3b58890a6a 100644 --- a/api_docs/kbn_search_connectors.mdx +++ b/api_docs/kbn_search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-connectors title: "@kbn/search-connectors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-connectors plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/te | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 3208 | 0 | 3208 | 0 | +| 3216 | 0 | 3216 | 0 | ## Common diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx index 16ef57ba9e269..9544678a19d17 100644 --- a/api_docs/kbn_search_errors.mdx +++ b/api_docs/kbn_search_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-errors title: "@kbn/search-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-errors plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-errors'] --- import kbnSearchErrorsObj from './kbn_search_errors.devdocs.json'; diff --git a/api_docs/kbn_search_index_documents.mdx b/api_docs/kbn_search_index_documents.mdx index bd4315282e65d..250b713f3865b 100644 --- a/api_docs/kbn_search_index_documents.mdx +++ b/api_docs/kbn_search_index_documents.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-index-documents title: "@kbn/search-index-documents" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-index-documents plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-index-documents'] --- import kbnSearchIndexDocumentsObj from './kbn_search_index_documents.devdocs.json'; diff --git a/api_docs/kbn_search_response_warnings.mdx b/api_docs/kbn_search_response_warnings.mdx index 4b14e56bcf149..48a2f907f9006 100644 --- a/api_docs/kbn_search_response_warnings.mdx +++ b/api_docs/kbn_search_response_warnings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-search-response-warnings title: "@kbn/search-response-warnings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/search-response-warnings plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-response-warnings'] --- import kbnSearchResponseWarningsObj from './kbn_search_response_warnings.devdocs.json'; diff --git a/api_docs/kbn_security_hardening.mdx b/api_docs/kbn_security_hardening.mdx index 6901800f767ed..712aff0a20e14 100644 --- a/api_docs/kbn_security_hardening.mdx +++ b/api_docs/kbn_security_hardening.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-hardening title: "@kbn/security-hardening" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-hardening plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-hardening'] --- import kbnSecurityHardeningObj from './kbn_security_hardening.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_common.mdx b/api_docs/kbn_security_plugin_types_common.mdx index 7085611f07836..c089b1ddaf866 100644 --- a/api_docs/kbn_security_plugin_types_common.mdx +++ b/api_docs/kbn_security_plugin_types_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-common title: "@kbn/security-plugin-types-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-common plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-common'] --- import kbnSecurityPluginTypesCommonObj from './kbn_security_plugin_types_common.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_public.mdx b/api_docs/kbn_security_plugin_types_public.mdx index 63be74c206ec1..77055fb41bc6b 100644 --- a/api_docs/kbn_security_plugin_types_public.mdx +++ b/api_docs/kbn_security_plugin_types_public.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-public title: "@kbn/security-plugin-types-public" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-public plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-public'] --- import kbnSecurityPluginTypesPublicObj from './kbn_security_plugin_types_public.devdocs.json'; diff --git a/api_docs/kbn_security_plugin_types_server.mdx b/api_docs/kbn_security_plugin_types_server.mdx index 323ac89fca154..732ae45357a19 100644 --- a/api_docs/kbn_security_plugin_types_server.mdx +++ b/api_docs/kbn_security_plugin_types_server.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-plugin-types-server title: "@kbn/security-plugin-types-server" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-plugin-types-server plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-plugin-types-server'] --- import kbnSecurityPluginTypesServerObj from './kbn_security_plugin_types_server.devdocs.json'; diff --git a/api_docs/kbn_security_solution_features.mdx b/api_docs/kbn_security_solution_features.mdx index 0747d5f1267b9..7bd5c6dc9e959 100644 --- a/api_docs/kbn_security_solution_features.mdx +++ b/api_docs/kbn_security_solution_features.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-features title: "@kbn/security-solution-features" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-features plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-features'] --- import kbnSecuritySolutionFeaturesObj from './kbn_security_solution_features.devdocs.json'; diff --git a/api_docs/kbn_security_solution_navigation.devdocs.json b/api_docs/kbn_security_solution_navigation.devdocs.json index 7a727bb3ab213..71e37022fb38f 100644 --- a/api_docs/kbn_security_solution_navigation.devdocs.json +++ b/api_docs/kbn_security_solution_navigation.devdocs.json @@ -627,20 +627,6 @@ "deprecated": false, "trackAdoption": false }, - { - "parentPluginId": "@kbn/security-solution-navigation", - "id": "def-common.NavigationLink.externalUrl", - "type": "string", - "tags": [], - "label": "externalUrl", - "description": [], - "signature": [ - "string | undefined" - ], - "path": "x-pack/packages/security-solution/navigation/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, { "parentPluginId": "@kbn/security-solution-navigation", "id": "def-common.NavigationLink.id", @@ -759,6 +745,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/security-solution-navigation", + "id": "def-common.NavigationLink.isFooterLink", + "type": "CompoundType", + "tags": [], + "label": "isFooterLink", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/packages/security-solution/navigation/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/security-solution-navigation", "id": "def-common.NavigationLink.isBeta", @@ -937,6 +937,20 @@ } ], "enums": [ + { + "parentPluginId": "@kbn/security-solution-navigation", + "id": "def-common.ExternalPageName", + "type": "Enum", + "tags": [], + "label": "ExternalPageName", + "description": [ + "\nExternal (non-Security) page names that need to be linked in the Security navigation.\nFormat: `:/`.\n\n`pluginId`: is the id of the plugin that owns the deep link\n\n`deepLinkId`: is the id of the deep link inside the plugin.\nKeep empty for the root page of the plugin, e.g. `osquery:`\n\n`path`: is the path to append to the plugin and deep link.\nThis is optional and only needed if the path is not registered in the plugin's `deepLinks`. e.g. `integrations:/browse/security`\nThe path should not be used for links displayed in the main left navigation, since highlighting won't work." + ], + "path": "x-pack/packages/security-solution/navigation/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/security-solution-navigation", "id": "def-common.LinkCategoryType", @@ -1064,6 +1078,21 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/security-solution-navigation", + "id": "def-common.SECURITY_UI_APP_ID", + "type": "string", + "tags": [], + "label": "SECURITY_UI_APP_ID", + "description": [], + "signature": [ + "\"securitySolutionUI\"" + ], + "path": "x-pack/packages/security-solution/navigation/src/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ], "objects": [] diff --git a/api_docs/kbn_security_solution_navigation.mdx b/api_docs/kbn_security_solution_navigation.mdx index e2fb297498d03..6f18ff2a61ddd 100644 --- a/api_docs/kbn_security_solution_navigation.mdx +++ b/api_docs/kbn_security_solution_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-navigation title: "@kbn/security-solution-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-navigation plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-threat-hunting-explore](https://github.com/orgs/elast | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 52 | 0 | 48 | 0 | +| 54 | 0 | 49 | 0 | ## Common diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 97de908a38d94..8ec2d0c01bfdb 100644 --- a/api_docs/kbn_security_solution_side_nav.mdx +++ b/api_docs/kbn_security_solution_side_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-side-nav title: "@kbn/security-solution-side-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-side-nav plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-side-nav'] --- import kbnSecuritySolutionSideNavObj from './kbn_security_solution_side_nav.devdocs.json'; diff --git a/api_docs/kbn_security_solution_storybook_config.mdx b/api_docs/kbn_security_solution_storybook_config.mdx index 60bd6601d72c6..5a1573c4a72c5 100644 --- a/api_docs/kbn_security_solution_storybook_config.mdx +++ b/api_docs/kbn_security_solution_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-security-solution-storybook-config title: "@kbn/security-solution-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/security-solution-storybook-config plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.devdocs.json b/api_docs/kbn_securitysolution_autocomplete.devdocs.json index 928cdb15bbfd8..472566e8db99c 100644 --- a/api_docs/kbn_securitysolution_autocomplete.devdocs.json +++ b/api_docs/kbn_securitysolution_autocomplete.devdocs.json @@ -60,7 +60,7 @@ "label": "AutocompleteFieldListsComponent", "description": [], "signature": [ - "{ ({ httpService, isClearable, isDisabled, isLoading, onChange, placeholder, rowLabel, selectedField, selectedValue, allowLargeValueLists, \"aria-label\": ariaLabel, }: React.PropsWithChildren): JSX.Element; displayName: string | undefined; }" + "{ ({ httpService, isClearable, isDisabled, isLoading, onChange, placeholder, rowLabel, selectedField, selectedValue, allowLargeValueLists, \"aria-label\": ariaLabel, showValueListModal, }: React.PropsWithChildren): JSX.Element; displayName: string | undefined; }" ], "path": "packages/kbn-securitysolution-autocomplete/src/field_value_lists/index.tsx", "deprecated": false, @@ -71,7 +71,7 @@ "id": "def-common.AutocompleteFieldListsComponent.$1", "type": "CompoundType", "tags": [], - "label": "{\n httpService,\n isClearable = false,\n isDisabled = false,\n isLoading = false,\n onChange,\n placeholder,\n rowLabel,\n selectedField,\n selectedValue,\n allowLargeValueLists = false,\n 'aria-label': ariaLabel,\n}", + "label": "{\n httpService,\n isClearable = false,\n isDisabled = false,\n isLoading = false,\n onChange,\n placeholder,\n rowLabel,\n selectedField,\n selectedValue,\n allowLargeValueLists = false,\n 'aria-label': ariaLabel,\n showValueListModal,\n}", "description": [], "signature": [ "React.PropsWithChildren" diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 9e03684a5e59f..b9b445f994fb6 100644 --- a/api_docs/kbn_securitysolution_autocomplete.mdx +++ b/api_docs/kbn_securitysolution_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-autocomplete title: "@kbn/securitysolution-autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-autocomplete plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-autocomplete'] --- import kbnSecuritysolutionAutocompleteObj from './kbn_securitysolution_autocomplete.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_data_table.mdx b/api_docs/kbn_securitysolution_data_table.mdx index 688b67fa22fad..254d6f9ef62ec 100644 --- a/api_docs/kbn_securitysolution_data_table.mdx +++ b/api_docs/kbn_securitysolution_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-data-table title: "@kbn/securitysolution-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-data-table plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-data-table'] --- import kbnSecuritysolutionDataTableObj from './kbn_securitysolution_data_table.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_ecs.mdx b/api_docs/kbn_securitysolution_ecs.mdx index 353ff5dcac802..91c0be28c6c1f 100644 --- a/api_docs/kbn_securitysolution_ecs.mdx +++ b/api_docs/kbn_securitysolution_ecs.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-ecs title: "@kbn/securitysolution-ecs" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-ecs plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-ecs'] --- import kbnSecuritysolutionEcsObj from './kbn_securitysolution_ecs.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_es_utils.mdx b/api_docs/kbn_securitysolution_es_utils.mdx index 255830fb4271a..ca87bc3f7a53e 100644 --- a/api_docs/kbn_securitysolution_es_utils.mdx +++ b/api_docs/kbn_securitysolution_es_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-es-utils title: "@kbn/securitysolution-es-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-es-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.devdocs.json b/api_docs/kbn_securitysolution_exception_list_components.devdocs.json index cd08648e101f0..d77f0ae3b3914 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.devdocs.json +++ b/api_docs/kbn_securitysolution_exception_list_components.devdocs.json @@ -1135,6 +1135,20 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "@kbn/securitysolution-exception-list-components", + "id": "def-common.ExceptionItemProps.showValueListModal", + "type": "CompoundType", + "tags": [], + "label": "showValueListModal", + "description": [], + "signature": [ + "\"symbol\" | \"object\" | \"source\" | \"big\" | \"link\" | \"small\" | \"sub\" | \"sup\" | \"desc\" | \"filter\" | \"text\" | \"map\" | \"head\" | \"slot\" | \"style\" | \"title\" | \"meta\" | \"summary\" | \"data\" | \"pattern\" | \"template\" | \"span\" | \"main\" | \"path\" | \"form\" | \"body\" | \"q\" | \"label\" | \"html\" | \"stop\" | \"progress\" | \"article\" | \"image\" | \"menu\" | \"base\" | React.ComponentType | \"s\" | \"legend\" | \"h1\" | \"h2\" | \"h3\" | \"h4\" | \"h5\" | \"h6\" | \"p\" | \"canvas\" | \"svg\" | \"select\" | \"output\" | \"view\" | \"script\" | \"time\" | \"mask\" | \"input\" | \"table\" | \"a\" | \"abbr\" | \"address\" | \"area\" | \"aside\" | \"audio\" | \"b\" | \"bdi\" | \"bdo\" | \"blockquote\" | \"br\" | \"button\" | \"caption\" | \"cite\" | \"code\" | \"col\" | \"colgroup\" | \"datalist\" | \"dd\" | \"del\" | \"details\" | \"dfn\" | \"dialog\" | \"div\" | \"dl\" | \"dt\" | \"em\" | \"embed\" | \"fieldset\" | \"figcaption\" | \"figure\" | \"footer\" | \"header\" | \"hgroup\" | \"hr\" | \"i\" | \"iframe\" | \"img\" | \"ins\" | \"kbd\" | \"keygen\" | \"li\" | \"mark\" | \"menuitem\" | \"meter\" | \"nav\" | \"noindex\" | \"noscript\" | \"ol\" | \"optgroup\" | \"option\" | \"param\" | \"picture\" | \"pre\" | \"rp\" | \"rt\" | \"ruby\" | \"samp\" | \"section\" | \"strong\" | \"tbody\" | \"td\" | \"textarea\" | \"tfoot\" | \"th\" | \"thead\" | \"tr\" | \"track\" | \"u\" | \"ul\" | \"var\" | \"video\" | \"wbr\" | \"webview\" | \"animate\" | \"animateMotion\" | \"animateTransform\" | \"circle\" | \"clipPath\" | \"defs\" | \"ellipse\" | \"feBlend\" | \"feColorMatrix\" | \"feComponentTransfer\" | \"feComposite\" | \"feConvolveMatrix\" | \"feDiffuseLighting\" | \"feDisplacementMap\" | \"feDistantLight\" | \"feDropShadow\" | \"feFlood\" | \"feFuncA\" | \"feFuncB\" | \"feFuncG\" | \"feFuncR\" | \"feGaussianBlur\" | \"feImage\" | \"feMerge\" | \"feMergeNode\" | \"feMorphology\" | \"feOffset\" | \"fePointLight\" | \"feSpecularLighting\" | \"feSpotLight\" | \"feTile\" | \"feTurbulence\" | \"foreignObject\" | \"g\" | \"line\" | \"linearGradient\" | \"marker\" | \"metadata\" | \"mpath\" | \"polygon\" | \"polyline\" | \"radialGradient\" | \"rect\" | \"switch\" | \"textPath\" | \"tspan\" | \"use\"" + ], + "path": "packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.tsx", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index 828828d38b178..97243356ce799 100644 --- a/api_docs/kbn_securitysolution_exception_list_components.mdx +++ b/api_docs/kbn_securitysolution_exception_list_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-exception-list-components title: "@kbn/securitysolution-exception-list-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-exception-list-components plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-detection-engine](https://github.com/orgs/elastic/tea | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 105 | 0 | 94 | 1 | +| 106 | 0 | 95 | 1 | ## Common diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index 06b2dec53f803..1ae37589979dc 100644 --- a/api_docs/kbn_securitysolution_grouping.mdx +++ b/api_docs/kbn_securitysolution_grouping.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-grouping title: "@kbn/securitysolution-grouping" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-grouping plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-grouping'] --- import kbnSecuritysolutionGroupingObj from './kbn_securitysolution_grouping.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_hook_utils.mdx b/api_docs/kbn_securitysolution_hook_utils.mdx index ae0b893a94a28..245cbfd0388c3 100644 --- a/api_docs/kbn_securitysolution_hook_utils.mdx +++ b/api_docs/kbn_securitysolution_hook_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-hook-utils title: "@kbn/securitysolution-hook-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-hook-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-hook-utils'] --- import kbnSecuritysolutionHookUtilsObj from './kbn_securitysolution_hook_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx index 5a0cc27a55bac..1b121afe28ac7 100644 --- a/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_alerting_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-alerting-types title: "@kbn/securitysolution-io-ts-alerting-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-alerting-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.devdocs.json b/api_docs/kbn_securitysolution_io_ts_list_types.devdocs.json index b64ee5e92d55d..7a064dd56949a 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.devdocs.json +++ b/api_docs/kbn_securitysolution_io_ts_list_types.devdocs.json @@ -2975,7 +2975,7 @@ "label": "CreateListItemSchema", "description": [], "signature": [ - "{ list_id: string; value: string; } & { id?: string | undefined; meta?: object | undefined; }" + "{ list_id: string; value: string; } & { id?: string | undefined; meta?: object | undefined; refresh?: \"true\" | \"false\" | \"wait_for\" | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/create_list_item_schema/index.ts", "deprecated": false, @@ -2990,7 +2990,7 @@ "label": "CreateListItemSchemaDecoded", "description": [], "signature": [ - "{ list_id: string; value: string; id: string | undefined; meta: object | undefined; }" + "{ list_id: string; value: string; id: string | undefined; meta: object | undefined; refresh: \"true\" | \"false\" | \"wait_for\" | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/create_list_item_schema/index.ts", "deprecated": false, @@ -3215,7 +3215,7 @@ "label": "DeleteListItemSchema", "description": [], "signature": [ - "{ value: string | undefined; } & { id?: string | undefined; list_id?: string | undefined; }" + "{ value: string | undefined; } & { id?: string | undefined; list_id?: string | undefined; refresh?: \"true\" | \"false\" | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/delete_list_item_schema/index.ts", "deprecated": false, @@ -3230,7 +3230,7 @@ "label": "DeleteListItemSchemaDecoded", "description": [], "signature": [ - "{ value: string | undefined; id: string | undefined; list_id: string | undefined; }" + "{ value: string | undefined; id: string | undefined; list_id: string | undefined; refresh: \"true\" | \"false\" | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/delete_list_item_schema/index.ts", "deprecated": false, @@ -4190,7 +4190,7 @@ "label": "ImportListItemQuerySchema", "description": [], "signature": [ - "{ deserializer: string | undefined; list_id: string | undefined; serializer: string | undefined; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\" | undefined; }" + "{ deserializer: string | undefined; list_id: string | undefined; serializer: string | undefined; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\" | undefined; refresh: \"true\" | \"false\" | \"wait_for\" | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.ts", "deprecated": false, @@ -4205,7 +4205,7 @@ "label": "ImportListItemQuerySchemaEncoded", "description": [], "signature": [ - "{ deserializer?: string | undefined; list_id?: string | undefined; serializer?: string | undefined; type?: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\" | undefined; }" + "{ deserializer?: string | undefined; list_id?: string | undefined; serializer?: string | undefined; type?: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\" | undefined; refresh?: \"true\" | \"false\" | \"wait_for\" | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.ts", "deprecated": false, @@ -4850,7 +4850,7 @@ "label": "PatchListItemSchema", "description": [], "signature": [ - "{ id: string; } & { _version?: string | undefined; meta?: object | undefined; value?: string | undefined; }" + "{ id: string; } & { _version?: string | undefined; meta?: object | undefined; value?: string | undefined; refresh?: \"true\" | \"false\" | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/patch_list_item_schema/index.ts", "deprecated": false, @@ -4865,7 +4865,7 @@ "label": "PatchListItemSchemaDecoded", "description": [], "signature": [ - "{ id: string; _version: string | undefined; meta: object | undefined; value: string | undefined; }" + "{ id: string; _version: string | undefined; meta: object | undefined; value: string | undefined; refresh: \"true\" | \"false\" | undefined; }" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/patch_list_item_schema/index.ts", "deprecated": false, @@ -5112,6 +5112,36 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-io-ts-list-types", + "id": "def-common.Refresh", + "type": "Type", + "tags": [], + "label": "Refresh", + "description": [], + "signature": [ + "\"true\" | \"false\"" + ], + "path": "packages/kbn-securitysolution-io-ts-list-types/src/common/refresh/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-io-ts-list-types", + "id": "def-common.RefreshWithWaitFor", + "type": "Type", + "tags": [], + "label": "RefreshWithWaitFor", + "description": [], + "signature": [ + "\"true\" | \"false\" | \"wait_for\"" + ], + "path": "packages/kbn-securitysolution-io-ts-list-types/src/common/refresh/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-io-ts-list-types", "id": "def-common.Search", @@ -6130,7 +6160,15 @@ "Type", "; meta: ", "ObjectC", - "; }>>]>" + "; refresh: ", + "UnionC", + "<[", + "LiteralC", + "<\"true\">, ", + "LiteralC", + "<\"false\">, ", + "LiteralC", + "<\"wait_for\">]>; }>>]>" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/create_list_item_schema/index.ts", "deprecated": false, @@ -6455,7 +6493,13 @@ "Type", "; list_id: ", "Type", - "; }>>]>" + "; refresh: ", + "UnionC", + "<[", + "LiteralC", + "<\"true\">, ", + "LiteralC", + "<\"false\">]>; }>>]>" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/delete_list_item_schema/index.ts", "deprecated": false, @@ -9493,7 +9537,15 @@ "StringC", "; type: ", "KeyofC", - "<{ binary: null; boolean: null; byte: null; date: null; date_nanos: null; date_range: null; double: null; double_range: null; float: null; float_range: null; geo_point: null; geo_shape: null; half_float: null; integer: null; integer_range: null; ip: null; ip_range: null; keyword: null; long: null; long_range: null; shape: null; short: null; text: null; }>; }>>" + "<{ binary: null; boolean: null; byte: null; date: null; date_nanos: null; date_range: null; double: null; double_range: null; float: null; float_range: null; geo_point: null; geo_shape: null; half_float: null; integer: null; integer_range: null; ip: null; ip_range: null; keyword: null; long: null; long_range: null; shape: null; short: null; text: null; }>; refresh: ", + "UnionC", + "<[", + "LiteralC", + "<\"true\">, ", + "LiteralC", + "<\"false\">, ", + "LiteralC", + "<\"wait_for\">]>; }>>" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.ts", "deprecated": false, @@ -10550,7 +10602,13 @@ "ObjectC", "; value: ", "StringC", - "; }>>]>" + "; refresh: ", + "UnionC", + "<[", + "LiteralC", + "<\"true\">, ", + "LiteralC", + "<\"false\">]>; }>>]>" ], "path": "packages/kbn-securitysolution-io-ts-list-types/src/request/patch_list_item_schema/index.ts", "deprecated": false, @@ -10813,6 +10871,48 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-io-ts-list-types", + "id": "def-common.refresh", + "type": "Object", + "tags": [], + "label": "refresh", + "description": [], + "signature": [ + "UnionC", + "<[", + "LiteralC", + "<\"true\">, ", + "LiteralC", + "<\"false\">]>" + ], + "path": "packages/kbn-securitysolution-io-ts-list-types/src/common/refresh/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-io-ts-list-types", + "id": "def-common.refreshWithWaitFor", + "type": "Object", + "tags": [], + "label": "refreshWithWaitFor", + "description": [], + "signature": [ + "UnionC", + "<[", + "LiteralC", + "<\"true\">, ", + "LiteralC", + "<\"false\">, ", + "LiteralC", + "<\"wait_for\">]>" + ], + "path": "packages/kbn-securitysolution-io-ts-list-types/src/common/refresh/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-io-ts-list-types", "id": "def-common.search", diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 2a2355153e579..21ce9125b08c5 100644 --- a/api_docs/kbn_securitysolution_io_ts_list_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_list_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-list-types title: "@kbn/securitysolution-io-ts-list-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-list-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-detection-engine](https://github.com/orgs/elastic/tea | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 534 | 0 | 521 | 0 | +| 538 | 0 | 525 | 0 | ## Common diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index b2cf7e5d12c07..de3c04d3738d1 100644 --- a/api_docs/kbn_securitysolution_io_ts_types.mdx +++ b/api_docs/kbn_securitysolution_io_ts_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-types title: "@kbn/securitysolution-io-ts-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-types'] --- import kbnSecuritysolutionIoTsTypesObj from './kbn_securitysolution_io_ts_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_utils.mdx b/api_docs/kbn_securitysolution_io_ts_utils.mdx index e3cb7cf8fe07e..742701d35c142 100644 --- a/api_docs/kbn_securitysolution_io_ts_utils.mdx +++ b/api_docs/kbn_securitysolution_io_ts_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-io-ts-utils title: "@kbn/securitysolution-io-ts-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-io-ts-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.devdocs.json b/api_docs/kbn_securitysolution_list_api.devdocs.json index fa3108bcd8c04..09b6f95df14c3 100644 --- a/api_docs/kbn_securitysolution_list_api.devdocs.json +++ b/api_docs/kbn_securitysolution_list_api.devdocs.json @@ -207,6 +207,53 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.createListItemWithValidation", + "type": "Function", + "tags": [], + "label": "createListItemWithValidation", + "description": [], + "signature": [ + "({ http, signal, value, refresh, listId, }: ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.CreateListItemParams", + "text": "CreateListItemParams" + }, + ") => Promise<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }>" + ], + "path": "packages/kbn-securitysolution-list-api/src/list_item_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.createListItemWithValidation.$1", + "type": "Object", + "tags": [], + "label": "{\n http,\n signal,\n value,\n refresh,\n listId,\n}", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.CreateListItemParams", + "text": "CreateListItemParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/list_item_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-api", "id": "def-common.deleteExceptionListByIdWithValidation", @@ -301,6 +348,53 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.deleteListItemWithValidation", + "type": "Function", + "tags": [], + "label": "deleteListItemWithValidation", + "description": [], + "signature": [ + "({ http, id, signal, refresh, }: ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.DeleteListItemParams", + "text": "DeleteListItemParams" + }, + ") => Promise<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }>" + ], + "path": "packages/kbn-securitysolution-list-api/src/list_item_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.deleteListItemWithValidation.$1", + "type": "Object", + "tags": [], + "label": "{\n http,\n id,\n signal,\n refresh,\n}", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.DeleteListItemParams", + "text": "DeleteListItemParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/list_item_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-api", "id": "def-common.deleteListWithValidation", @@ -685,6 +779,53 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.findListItemsWithValidation", + "type": "Function", + "tags": [], + "label": "findListItemsWithValidation", + "description": [], + "signature": [ + "({ cursor, http, pageIndex, pageSize, signal, sortField, sortOrder, filter, listId, }: ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.FindListItemsParams", + "text": "FindListItemsParams" + }, + ") => Promise<{ cursor: string; data: { _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }[]; page: number; per_page: number; total: number; }>" + ], + "path": "packages/kbn-securitysolution-list-api/src/list_item_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.findListItemsWithValidation.$1", + "type": "Object", + "tags": [], + "label": "{\n cursor,\n http,\n pageIndex,\n pageSize,\n signal,\n sortField,\n sortOrder,\n filter,\n listId,\n}", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.FindListItemsParams", + "text": "FindListItemsParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/list_item_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-api", "id": "def-common.findListsBySizeWithValidation", @@ -897,6 +1038,53 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.getListByIdWithValidation", + "type": "Function", + "tags": [], + "label": "getListByIdWithValidation", + "description": [], + "signature": [ + "({ http, signal, id, }: ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.GetListByIdParams", + "text": "GetListByIdParams" + }, + ") => Promise<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; description: string; deserializer: string | undefined; id: string; immutable: boolean; meta: object | undefined; name: string; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; version: number; }>" + ], + "path": "packages/kbn-securitysolution-list-api/src/list_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.getListByIdWithValidation.$1", + "type": "Object", + "tags": [], + "label": "{\n http,\n signal,\n id,\n}", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.GetListByIdParams", + "text": "GetListByIdParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/list_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-api", "id": "def-common.importListWithValidation", @@ -905,7 +1093,7 @@ "label": "importListWithValidation", "description": [], "signature": [ - "({ file, http, listId, type, signal, }: ", + "({ file, http, listId, type, signal, refresh, }: ", { "pluginId": "@kbn/securitysolution-list-api", "scope": "common", @@ -924,7 +1112,7 @@ "id": "def-common.importListWithValidation.$1", "type": "Object", "tags": [], - "label": "{\n file,\n http,\n listId,\n type,\n signal,\n}", + "label": "{\n file,\n http,\n listId,\n type,\n signal,\n refresh,\n}", "description": [], "signature": [ { @@ -944,6 +1132,53 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.patchListItemWithValidation", + "type": "Function", + "tags": [], + "label": "patchListItemWithValidation", + "description": [], + "signature": [ + "({ http, id, signal, value, refresh, _version, }: ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.PatchListItemParams", + "text": "PatchListItemParams" + }, + ") => Promise<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }>" + ], + "path": "packages/kbn-securitysolution-list-api/src/list_item_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.patchListItemWithValidation.$1", + "type": "Object", + "tags": [], + "label": "{\n http,\n id,\n signal,\n value,\n refresh,\n _version,\n}", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.PatchListItemParams", + "text": "PatchListItemParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/list_item_api/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-api", "id": "def-common.readListIndexWithValidation", @@ -1210,7 +1445,7 @@ "tags": [], "label": "ApiParams", "description": [], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false, "children": [ @@ -1224,7 +1459,7 @@ "signature": [ "HttpStart" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false }, @@ -1238,7 +1473,130 @@ "signature": [ "AbortSignal" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.CreateListItemParams", + "type": "Interface", + "tags": [], + "label": "CreateListItemParams", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.CreateListItemParams", + "text": "CreateListItemParams" + }, + " extends ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.ApiParams", + "text": "ApiParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.CreateListItemParams.refresh", + "type": "CompoundType", + "tags": [], + "label": "refresh", + "description": [], + "signature": [ + "\"true\" | \"false\" | \"wait_for\" | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.CreateListItemParams.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.CreateListItemParams.listId", + "type": "string", + "tags": [], + "label": "listId", + "description": [], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.DeleteListItemParams", + "type": "Interface", + "tags": [], + "label": "DeleteListItemParams", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.DeleteListItemParams", + "text": "DeleteListItemParams" + }, + " extends ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.ApiParams", + "text": "ApiParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.DeleteListItemParams.refresh", + "type": "CompoundType", + "tags": [], + "label": "refresh", + "description": [], + "signature": [ + "\"true\" | \"false\" | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.DeleteListItemParams.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false } @@ -1269,7 +1627,7 @@ "text": "ApiParams" } ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false, "children": [ @@ -1283,7 +1641,7 @@ "signature": [ "boolean | undefined" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false }, @@ -1294,7 +1652,7 @@ "tags": [], "label": "id", "description": [], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false }, @@ -1308,7 +1666,7 @@ "signature": [ "boolean | undefined" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false } @@ -1339,7 +1697,7 @@ "text": "ApiParams" } ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false, "children": [ @@ -1350,7 +1708,133 @@ "tags": [], "label": "listId", "description": [], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.FindListItemsParams", + "type": "Interface", + "tags": [], + "label": "FindListItemsParams", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.FindListItemsParams", + "text": "FindListItemsParams" + }, + " extends ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.ApiParams", + "text": "ApiParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.FindListItemsParams.cursor", + "type": "string", + "tags": [], + "label": "cursor", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.FindListItemsParams.pageSize", + "type": "number", + "tags": [], + "label": "pageSize", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.FindListItemsParams.pageIndex", + "type": "number", + "tags": [], + "label": "pageIndex", + "description": [], + "signature": [ + "number | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.FindListItemsParams.sortOrder", + "type": "CompoundType", + "tags": [], + "label": "sortOrder", + "description": [], + "signature": [ + "\"asc\" | \"desc\" | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.FindListItemsParams.sortField", + "type": "string", + "tags": [], + "label": "sortField", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.FindListItemsParams.filter", + "type": "string", + "tags": [], + "label": "filter", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.FindListItemsParams.listId", + "type": "string", + "tags": [], + "label": "listId", + "description": [], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false } @@ -1381,7 +1865,7 @@ "text": "ApiParams" } ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false, "children": [ @@ -1395,7 +1879,7 @@ "signature": [ "string | undefined" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false }, @@ -1409,7 +1893,7 @@ "signature": [ "number | undefined" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false }, @@ -1423,7 +1907,7 @@ "signature": [ "number | undefined" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false }, @@ -1437,7 +1921,7 @@ "signature": [ "\"asc\" | \"desc\" | undefined" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false }, @@ -1451,7 +1935,49 @@ "signature": [ "string | undefined" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.GetListByIdParams", + "type": "Interface", + "tags": [], + "label": "GetListByIdParams", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.GetListByIdParams", + "text": "GetListByIdParams" + }, + " extends ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.ApiParams", + "text": "ApiParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.GetListByIdParams.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false } @@ -1482,7 +2008,7 @@ "text": "ApiParams" } ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false, "children": [ @@ -1496,7 +2022,7 @@ "signature": [ "File" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false }, @@ -1510,7 +2036,7 @@ "signature": [ "string | undefined" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false }, @@ -1524,7 +2050,102 @@ "signature": [ "\"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\" | undefined" ], - "path": "packages/kbn-securitysolution-list-api/src/list_api/types.ts", + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.ImportListParams.refresh", + "type": "CompoundType", + "tags": [], + "label": "refresh", + "description": [], + "signature": [ + "\"true\" | \"false\" | \"wait_for\" | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.PatchListItemParams", + "type": "Interface", + "tags": [], + "label": "PatchListItemParams", + "description": [], + "signature": [ + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.PatchListItemParams", + "text": "PatchListItemParams" + }, + " extends ", + { + "pluginId": "@kbn/securitysolution-list-api", + "scope": "common", + "docId": "kibKbnSecuritysolutionListApiPluginApi", + "section": "def-common.ApiParams", + "text": "ApiParams" + } + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.PatchListItemParams.refresh", + "type": "CompoundType", + "tags": [], + "label": "refresh", + "description": [], + "signature": [ + "\"true\" | \"false\" | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.PatchListItemParams.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.PatchListItemParams.value", + "type": "string", + "tags": [], + "label": "value", + "description": [], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.PatchListItemParams._version", + "type": "string", + "tags": [], + "label": "_version", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", "deprecated": false, "trackAdoption": false } @@ -1533,7 +2154,23 @@ } ], "enums": [], - "misc": [], + "misc": [ + { + "parentPluginId": "@kbn/securitysolution-list-api", + "id": "def-common.ApiPayload", + "type": "Type", + "tags": [], + "label": "ApiPayload", + "description": [], + "signature": [ + "{ [P in Exclude]: T[P]; }" + ], + "path": "packages/kbn-securitysolution-list-api/src/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "objects": [] } } \ No newline at end of file diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index 104a08af18e8e..ae175212a0d4b 100644 --- a/api_docs/kbn_securitysolution_list_api.mdx +++ b/api_docs/kbn_securitysolution_list_api.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-api title: "@kbn/securitysolution-list-api" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-api plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-detection-engine](https://github.com/orgs/elastic/tea | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 69 | 0 | 65 | 0 | +| 103 | 0 | 99 | 0 | ## Common @@ -31,3 +31,6 @@ Contact [@elastic/security-detection-engine](https://github.com/orgs/elastic/tea ### Interfaces +### Consts, variables and types + + diff --git a/api_docs/kbn_securitysolution_list_constants.devdocs.json b/api_docs/kbn_securitysolution_list_constants.devdocs.json index 84e2a5d088c56..b58ba99b72179 100644 --- a/api_docs/kbn_securitysolution_list_constants.devdocs.json +++ b/api_docs/kbn_securitysolution_list_constants.devdocs.json @@ -255,6 +255,14 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/lists_integration/endpoint/validators/event_filter_validator.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" + }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/constants.ts" @@ -307,14 +315,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/management/pages/event_filters/service/api_client.ts" }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" - }, - { - "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/management/pages/policy/view/policy_hooks.ts" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts" diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index dcf4139117eba..32c516000cdc4 100644 --- a/api_docs/kbn_securitysolution_list_constants.mdx +++ b/api_docs/kbn_securitysolution_list_constants.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-constants title: "@kbn/securitysolution-list-constants" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-constants plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.devdocs.json b/api_docs/kbn_securitysolution_list_hooks.devdocs.json index 72be883878841..aaaaf45a49040 100644 --- a/api_docs/kbn_securitysolution_list_hooks.devdocs.json +++ b/api_docs/kbn_securitysolution_list_hooks.devdocs.json @@ -380,6 +380,68 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useCreateListItemMutation", + "type": "Function", + "tags": [], + "label": "useCreateListItemMutation", + "description": [], + "signature": [ + "(options?: ", + "UseMutationOptions", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }, ", + { + "pluginId": "@kbn/core-http-browser", + "scope": "common", + "docId": "kibKbnCoreHttpBrowserPluginApi", + "section": "def-common.IHttpFetchError", + "text": "IHttpFetchError" + }, + ", CreateListMutationParams, unknown> | undefined) => ", + "UseMutationResult", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }, ", + { + "pluginId": "@kbn/core-http-browser", + "scope": "common", + "docId": "kibKbnCoreHttpBrowserPluginApi", + "section": "def-common.IHttpFetchError", + "text": "IHttpFetchError" + }, + ", CreateListMutationParams, unknown>" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_create_list_item/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useCreateListItemMutation.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "UseMutationOptions", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }, ", + { + "pluginId": "@kbn/core-http-browser", + "scope": "common", + "docId": "kibKbnCoreHttpBrowserPluginApi", + "section": "def-common.IHttpFetchError", + "text": "IHttpFetchError" + }, + ", CreateListMutationParams, unknown> | undefined" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_create_list_item/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-hooks", "id": "def-common.useCursor", @@ -468,6 +530,68 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useDeleteListItemMutation", + "type": "Function", + "tags": [], + "label": "useDeleteListItemMutation", + "description": [], + "signature": [ + "(options?: ", + "UseMutationOptions", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }, ", + { + "pluginId": "@kbn/core-http-browser", + "scope": "common", + "docId": "kibKbnCoreHttpBrowserPluginApi", + "section": "def-common.IHttpFetchError", + "text": "IHttpFetchError" + }, + ", DeleteListMutationParams, unknown> | undefined) => ", + "UseMutationResult", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }, ", + { + "pluginId": "@kbn/core-http-browser", + "scope": "common", + "docId": "kibKbnCoreHttpBrowserPluginApi", + "section": "def-common.IHttpFetchError", + "text": "IHttpFetchError" + }, + ", DeleteListMutationParams, unknown>" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_delete_list_item/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useDeleteListItemMutation.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "UseMutationOptions", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }, ", + { + "pluginId": "@kbn/core-http-browser", + "scope": "common", + "docId": "kibKbnCoreHttpBrowserPluginApi", + "section": "def-common.IHttpFetchError", + "text": "IHttpFetchError" + }, + ", DeleteListMutationParams, unknown> | undefined" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_delete_list_item/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-hooks", "id": "def-common.useExceptionLists", @@ -565,6 +689,122 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useFindListItems", + "type": "Function", + "tags": [], + "label": "useFindListItems", + "description": [], + "signature": [ + "({ pageIndex, pageSize, sortField, sortOrder, listId, filter, http, }: { pageIndex: number; pageSize: number; sortField: string; sortOrder: \"asc\" | \"desc\"; listId: string; filter: string; http: HttpStart; }) => ", + "UseQueryResult", + "<{ cursor: string; data: { _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }[]; page: number; per_page: number; total: number; }, unknown>" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useFindListItems.$1", + "type": "Object", + "tags": [], + "label": "{\n pageIndex,\n pageSize,\n sortField,\n sortOrder,\n listId,\n filter,\n http,\n}", + "description": [], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useFindListItems.$1.pageIndex", + "type": "number", + "tags": [], + "label": "pageIndex", + "description": [], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useFindListItems.$1.pageSize", + "type": "number", + "tags": [], + "label": "pageSize", + "description": [], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useFindListItems.$1.sortField", + "type": "string", + "tags": [], + "label": "sortField", + "description": [], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useFindListItems.$1.sortOrder", + "type": "CompoundType", + "tags": [], + "label": "sortOrder", + "description": [], + "signature": [ + "\"asc\" | \"desc\"" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useFindListItems.$1.listId", + "type": "string", + "tags": [], + "label": "listId", + "description": [], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useFindListItems.$1.filter", + "type": "string", + "tags": [], + "label": "filter", + "description": [], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useFindListItems.$1.http", + "type": "Object", + "tags": [], + "label": "http", + "description": [], + "signature": [ + "HttpStart" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-hooks", "id": "def-common.useFindLists", @@ -647,6 +887,64 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useGetListById", + "type": "Function", + "tags": [], + "label": "useGetListById", + "description": [], + "signature": [ + "({ http, id }: { http: HttpStart; id: string; }) => ", + "UseQueryResult", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; description: string; deserializer: string | undefined; id: string; immutable: boolean; meta: object | undefined; name: string; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; version: number; }, unknown>" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_get_list_by_id/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useGetListById.$1", + "type": "Object", + "tags": [], + "label": "{ http, id }", + "description": [], + "path": "packages/kbn-securitysolution-list-hooks/src/use_get_list_by_id/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useGetListById.$1.http", + "type": "Object", + "tags": [], + "label": "http", + "description": [], + "signature": [ + "HttpStart" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_get_list_by_id/index.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useGetListById.$1.id", + "type": "string", + "tags": [], + "label": "id", + "description": [], + "path": "packages/kbn-securitysolution-list-hooks/src/use_get_list_by_id/index.ts", + "deprecated": false, + "trackAdoption": false + } + ] + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-hooks", "id": "def-common.useImportList", @@ -688,6 +986,85 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.useInvalidateListItemQuery", + "type": "Function", + "tags": [], + "label": "useInvalidateListItemQuery", + "description": [], + "signature": [ + "() => () => void" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.usePatchListItemMutation", + "type": "Function", + "tags": [], + "label": "usePatchListItemMutation", + "description": [], + "signature": [ + "(options?: ", + "UseMutationOptions", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }, ", + { + "pluginId": "@kbn/core-http-browser", + "scope": "common", + "docId": "kibKbnCoreHttpBrowserPluginApi", + "section": "def-common.IHttpFetchError", + "text": "IHttpFetchError" + }, + ", PatchListMutationParams, unknown> | undefined) => ", + "UseMutationResult", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }, ", + { + "pluginId": "@kbn/core-http-browser", + "scope": "common", + "docId": "kibKbnCoreHttpBrowserPluginApi", + "section": "def-common.IHttpFetchError", + "text": "IHttpFetchError" + }, + ", PatchListMutationParams, unknown>" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_patch_list_item/index.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.usePatchListItemMutation.$1", + "type": "Object", + "tags": [], + "label": "options", + "description": [], + "signature": [ + "UseMutationOptions", + "<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }, ", + { + "pluginId": "@kbn/core-http-browser", + "scope": "common", + "docId": "kibKbnCoreHttpBrowserPluginApi", + "section": "def-common.IHttpFetchError", + "text": "IHttpFetchError" + }, + ", PatchListMutationParams, unknown> | undefined" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_patch_list_item/index.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-hooks", "id": "def-common.usePersistExceptionItem", @@ -1488,6 +1865,36 @@ ], "enums": [], "misc": [ + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.CREATE_LIST_ITEM_MUTATION_KEY", + "type": "Array", + "tags": [], + "label": "CREATE_LIST_ITEM_MUTATION_KEY", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_create_list_item/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.DELETE_LIST_ITEM_MUTATION_KEY", + "type": "Array", + "tags": [], + "label": "DELETE_LIST_ITEM_MUTATION_KEY", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_delete_list_item/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-hooks", "id": "def-common.Func", @@ -1505,6 +1912,21 @@ "children": [], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/securitysolution-list-hooks", + "id": "def-common.PATCH_LIST_ITEM_MUTATION_KEY", + "type": "Array", + "tags": [], + "label": "PATCH_LIST_ITEM_MUTATION_KEY", + "description": [], + "signature": [ + "string[]" + ], + "path": "packages/kbn-securitysolution-list-hooks/src/use_patch_list_item/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/securitysolution-list-hooks", "id": "def-common.ReturnExceptionLists", diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index 2bebcfdefa82d..00a2cec6a0ced 100644 --- a/api_docs/kbn_securitysolution_list_hooks.mdx +++ b/api_docs/kbn_securitysolution_list_hooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-hooks title: "@kbn/securitysolution-list-hooks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-hooks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-detection-engine](https://github.com/orgs/elastic/tea | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 71 | 0 | 58 | 0 | +| 94 | 0 | 81 | 0 | ## Common diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index e3f9505676af9..f3f1fa8c233a3 100644 --- a/api_docs/kbn_securitysolution_list_utils.mdx +++ b/api_docs/kbn_securitysolution_list_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-list-utils title: "@kbn/securitysolution-list-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-list-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-utils'] --- import kbnSecuritysolutionListUtilsObj from './kbn_securitysolution_list_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_rules.mdx b/api_docs/kbn_securitysolution_rules.mdx index 5a609e24f4488..f65256e03cdca 100644 --- a/api_docs/kbn_securitysolution_rules.mdx +++ b/api_docs/kbn_securitysolution_rules.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-rules title: "@kbn/securitysolution-rules" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-rules plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-rules'] --- import kbnSecuritysolutionRulesObj from './kbn_securitysolution_rules.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_t_grid.mdx b/api_docs/kbn_securitysolution_t_grid.mdx index 7a623d37252ec..96f1a3396efca 100644 --- a/api_docs/kbn_securitysolution_t_grid.mdx +++ b/api_docs/kbn_securitysolution_t_grid.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-t-grid title: "@kbn/securitysolution-t-grid" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-t-grid plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-t-grid'] --- import kbnSecuritysolutionTGridObj from './kbn_securitysolution_t_grid.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_utils.mdx b/api_docs/kbn_securitysolution_utils.mdx index 1a1925045436d..70f630c471d43 100644 --- a/api_docs/kbn_securitysolution_utils.mdx +++ b/api_docs/kbn_securitysolution_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-securitysolution-utils title: "@kbn/securitysolution-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/securitysolution-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-utils'] --- import kbnSecuritysolutionUtilsObj from './kbn_securitysolution_utils.devdocs.json'; diff --git a/api_docs/kbn_server_http_tools.mdx b/api_docs/kbn_server_http_tools.mdx index 126b10e37f047..7c8f2b909c697 100644 --- a/api_docs/kbn_server_http_tools.mdx +++ b/api_docs/kbn_server_http_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-http-tools title: "@kbn/server-http-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-http-tools plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-http-tools'] --- import kbnServerHttpToolsObj from './kbn_server_http_tools.devdocs.json'; diff --git a/api_docs/kbn_server_route_repository.mdx b/api_docs/kbn_server_route_repository.mdx index 3549276c294c6..08d953d063115 100644 --- a/api_docs/kbn_server_route_repository.mdx +++ b/api_docs/kbn_server_route_repository.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-server-route-repository title: "@kbn/server-route-repository" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/server-route-repository plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/server-route-repository'] --- import kbnServerRouteRepositoryObj from './kbn_server_route_repository.devdocs.json'; diff --git a/api_docs/kbn_serverless_common_settings.mdx b/api_docs/kbn_serverless_common_settings.mdx index 1e0b007cd1318..18643f8eea234 100644 --- a/api_docs/kbn_serverless_common_settings.mdx +++ b/api_docs/kbn_serverless_common_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-common-settings title: "@kbn/serverless-common-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-common-settings plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-common-settings'] --- import kbnServerlessCommonSettingsObj from './kbn_serverless_common_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_observability_settings.mdx b/api_docs/kbn_serverless_observability_settings.mdx index 30c13782d01b0..8cd55950cf30d 100644 --- a/api_docs/kbn_serverless_observability_settings.mdx +++ b/api_docs/kbn_serverless_observability_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-observability-settings title: "@kbn/serverless-observability-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-observability-settings plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-observability-settings'] --- import kbnServerlessObservabilitySettingsObj from './kbn_serverless_observability_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_project_switcher.mdx b/api_docs/kbn_serverless_project_switcher.mdx index 2ba107f6e9c65..8f3f8e2f235c5 100644 --- a/api_docs/kbn_serverless_project_switcher.mdx +++ b/api_docs/kbn_serverless_project_switcher.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-project-switcher title: "@kbn/serverless-project-switcher" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-project-switcher plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-project-switcher'] --- import kbnServerlessProjectSwitcherObj from './kbn_serverless_project_switcher.devdocs.json'; diff --git a/api_docs/kbn_serverless_search_settings.mdx b/api_docs/kbn_serverless_search_settings.mdx index c4c20a27345fd..547915734bdab 100644 --- a/api_docs/kbn_serverless_search_settings.mdx +++ b/api_docs/kbn_serverless_search_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-search-settings title: "@kbn/serverless-search-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-search-settings plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-search-settings'] --- import kbnServerlessSearchSettingsObj from './kbn_serverless_search_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_security_settings.mdx b/api_docs/kbn_serverless_security_settings.mdx index 0296b6b466790..8d53cb3e87f65 100644 --- a/api_docs/kbn_serverless_security_settings.mdx +++ b/api_docs/kbn_serverless_security_settings.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-security-settings title: "@kbn/serverless-security-settings" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-security-settings plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-security-settings'] --- import kbnServerlessSecuritySettingsObj from './kbn_serverless_security_settings.devdocs.json'; diff --git a/api_docs/kbn_serverless_storybook_config.mdx b/api_docs/kbn_serverless_storybook_config.mdx index d1ac8883af8a1..8872a3fcd86f7 100644 --- a/api_docs/kbn_serverless_storybook_config.mdx +++ b/api_docs/kbn_serverless_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-serverless-storybook-config title: "@kbn/serverless-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/serverless-storybook-config plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/serverless-storybook-config'] --- import kbnServerlessStorybookConfigObj from './kbn_serverless_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_svg.mdx b/api_docs/kbn_shared_svg.mdx index d67eeecf1ab31..267be65cad41c 100644 --- a/api_docs/kbn_shared_svg.mdx +++ b/api_docs/kbn_shared_svg.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-svg title: "@kbn/shared-svg" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-svg plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-svg'] --- import kbnSharedSvgObj from './kbn_shared_svg.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_avatar_solution.mdx b/api_docs/kbn_shared_ux_avatar_solution.mdx index 77a4a2da81d0d..ed2f7b91d526f 100644 --- a/api_docs/kbn_shared_ux_avatar_solution.mdx +++ b/api_docs/kbn_shared_ux_avatar_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-avatar-solution title: "@kbn/shared-ux-avatar-solution" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-avatar-solution plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-avatar-solution'] --- import kbnSharedUxAvatarSolutionObj from './kbn_shared_ux_avatar_solution.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx index 168311bbea2f7..71f5462ac0007 100644 --- a/api_docs/kbn_shared_ux_button_exit_full_screen.mdx +++ b/api_docs/kbn_shared_ux_button_exit_full_screen.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-exit-full-screen title: "@kbn/shared-ux-button-exit-full-screen" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-exit-full-screen plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-exit-full-screen'] --- import kbnSharedUxButtonExitFullScreenObj from './kbn_shared_ux_button_exit_full_screen.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_button_toolbar.mdx b/api_docs/kbn_shared_ux_button_toolbar.mdx index b6ba86330febd..f15c9a71b9aeb 100644 --- a/api_docs/kbn_shared_ux_button_toolbar.mdx +++ b/api_docs/kbn_shared_ux_button_toolbar.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-button-toolbar title: "@kbn/shared-ux-button-toolbar" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-button-toolbar plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-button-toolbar'] --- import kbnSharedUxButtonToolbarObj from './kbn_shared_ux_button_toolbar.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data.mdx b/api_docs/kbn_shared_ux_card_no_data.mdx index 9740cafb19589..c272fe4af8510 100644 --- a/api_docs/kbn_shared_ux_card_no_data.mdx +++ b/api_docs/kbn_shared_ux_card_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data title: "@kbn/shared-ux-card-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data'] --- import kbnSharedUxCardNoDataObj from './kbn_shared_ux_card_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx index d00ee582676a8..f188f3ed3f837 100644 --- a/api_docs/kbn_shared_ux_card_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_card_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-card-no-data-mocks title: "@kbn/shared-ux-card-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-card-no-data-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-card-no-data-mocks'] --- import kbnSharedUxCardNoDataMocksObj from './kbn_shared_ux_card_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_chrome_navigation.mdx b/api_docs/kbn_shared_ux_chrome_navigation.mdx index 9bc039a7ded4f..920a37cd8ae39 100644 --- a/api_docs/kbn_shared_ux_chrome_navigation.mdx +++ b/api_docs/kbn_shared_ux_chrome_navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-chrome-navigation title: "@kbn/shared-ux-chrome-navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-chrome-navigation plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-chrome-navigation'] --- import kbnSharedUxChromeNavigationObj from './kbn_shared_ux_chrome_navigation.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_error_boundary.mdx b/api_docs/kbn_shared_ux_error_boundary.mdx index 890ff95293c8f..5fa72a779af59 100644 --- a/api_docs/kbn_shared_ux_error_boundary.mdx +++ b/api_docs/kbn_shared_ux_error_boundary.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-error-boundary title: "@kbn/shared-ux-error-boundary" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-error-boundary plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-error-boundary'] --- import kbnSharedUxErrorBoundaryObj from './kbn_shared_ux_error_boundary.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_context.mdx b/api_docs/kbn_shared_ux_file_context.mdx index 357a7186eeb34..bbd57335302d0 100644 --- a/api_docs/kbn_shared_ux_file_context.mdx +++ b/api_docs/kbn_shared_ux_file_context.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-context title: "@kbn/shared-ux-file-context" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-context plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-context'] --- import kbnSharedUxFileContextObj from './kbn_shared_ux_file_context.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image.mdx b/api_docs/kbn_shared_ux_file_image.mdx index 5902997c26ce7..e4f57effa5f1d 100644 --- a/api_docs/kbn_shared_ux_file_image.mdx +++ b/api_docs/kbn_shared_ux_file_image.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image title: "@kbn/shared-ux-file-image" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image'] --- import kbnSharedUxFileImageObj from './kbn_shared_ux_file_image.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_image_mocks.mdx b/api_docs/kbn_shared_ux_file_image_mocks.mdx index eae4235f345c9..16d1f2e3e39a8 100644 --- a/api_docs/kbn_shared_ux_file_image_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_image_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-image-mocks title: "@kbn/shared-ux-file-image-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-image-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-image-mocks'] --- import kbnSharedUxFileImageMocksObj from './kbn_shared_ux_file_image_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_mocks.mdx b/api_docs/kbn_shared_ux_file_mocks.mdx index 3f4cf08acdc9d..969d377cad01a 100644 --- a/api_docs/kbn_shared_ux_file_mocks.mdx +++ b/api_docs/kbn_shared_ux_file_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-mocks title: "@kbn/shared-ux-file-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-mocks'] --- import kbnSharedUxFileMocksObj from './kbn_shared_ux_file_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_picker.mdx b/api_docs/kbn_shared_ux_file_picker.mdx index e538aef4f0ec8..b32ca79ff59be 100644 --- a/api_docs/kbn_shared_ux_file_picker.mdx +++ b/api_docs/kbn_shared_ux_file_picker.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-picker title: "@kbn/shared-ux-file-picker" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-picker plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-picker'] --- import kbnSharedUxFilePickerObj from './kbn_shared_ux_file_picker.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_types.mdx b/api_docs/kbn_shared_ux_file_types.mdx index 97e9cc29f51ff..eafda575c6a18 100644 --- a/api_docs/kbn_shared_ux_file_types.mdx +++ b/api_docs/kbn_shared_ux_file_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-types title: "@kbn/shared-ux-file-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-types'] --- import kbnSharedUxFileTypesObj from './kbn_shared_ux_file_types.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_upload.mdx b/api_docs/kbn_shared_ux_file_upload.mdx index 68b4ee7d30bf2..6e4afdff89d2d 100644 --- a/api_docs/kbn_shared_ux_file_upload.mdx +++ b/api_docs/kbn_shared_ux_file_upload.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-upload title: "@kbn/shared-ux-file-upload" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-upload plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-upload'] --- import kbnSharedUxFileUploadObj from './kbn_shared_ux_file_upload.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_file_util.mdx b/api_docs/kbn_shared_ux_file_util.mdx index 1c46552716865..158ea3efe9d86 100644 --- a/api_docs/kbn_shared_ux_file_util.mdx +++ b/api_docs/kbn_shared_ux_file_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-file-util title: "@kbn/shared-ux-file-util" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-file-util plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-file-util'] --- import kbnSharedUxFileUtilObj from './kbn_shared_ux_file_util.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app.mdx b/api_docs/kbn_shared_ux_link_redirect_app.mdx index 3096ea2a40c02..663120b1bc3ca 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app title: "@kbn/shared-ux-link-redirect-app" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app'] --- import kbnSharedUxLinkRedirectAppObj from './kbn_shared_ux_link_redirect_app.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx index 77042c9b70971..aec69a383f6e3 100644 --- a/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx +++ b/api_docs/kbn_shared_ux_link_redirect_app_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-link-redirect-app-mocks title: "@kbn/shared-ux-link-redirect-app-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-link-redirect-app-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-link-redirect-app-mocks'] --- import kbnSharedUxLinkRedirectAppMocksObj from './kbn_shared_ux_link_redirect_app_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown.mdx b/api_docs/kbn_shared_ux_markdown.mdx index 0345c0f2ddb1d..3cfbff02c567e 100644 --- a/api_docs/kbn_shared_ux_markdown.mdx +++ b/api_docs/kbn_shared_ux_markdown.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown title: "@kbn/shared-ux-markdown" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown'] --- import kbnSharedUxMarkdownObj from './kbn_shared_ux_markdown.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_markdown_mocks.mdx b/api_docs/kbn_shared_ux_markdown_mocks.mdx index 446cf6e215787..7c9cb442a8363 100644 --- a/api_docs/kbn_shared_ux_markdown_mocks.mdx +++ b/api_docs/kbn_shared_ux_markdown_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-markdown-mocks title: "@kbn/shared-ux-markdown-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-markdown-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-markdown-mocks'] --- import kbnSharedUxMarkdownMocksObj from './kbn_shared_ux_markdown_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx index ad2e63280a695..c6ec8fab5f9ba 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data title: "@kbn/shared-ux-page-analytics-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data'] --- import kbnSharedUxPageAnalyticsNoDataObj from './kbn_shared_ux_page_analytics_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx index 55476f6f0ad2a..34fbe1788fc1e 100644 --- a/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_analytics_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-analytics-no-data-mocks title: "@kbn/shared-ux-page-analytics-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-analytics-no-data-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-analytics-no-data-mocks'] --- import kbnSharedUxPageAnalyticsNoDataMocksObj from './kbn_shared_ux_page_analytics_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx index 5a68bf825c558..48146e307ae5b 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data title: "@kbn/shared-ux-page-kibana-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data'] --- import kbnSharedUxPageKibanaNoDataObj from './kbn_shared_ux_page_kibana_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx index 0a43a8106dc18..013da7b99fa92 100644 --- a/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-no-data-mocks title: "@kbn/shared-ux-page-kibana-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-no-data-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-no-data-mocks'] --- import kbnSharedUxPageKibanaNoDataMocksObj from './kbn_shared_ux_page_kibana_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template.mdx b/api_docs/kbn_shared_ux_page_kibana_template.mdx index c339dab461266..5da4b48df4a51 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template title: "@kbn/shared-ux-page-kibana-template" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template'] --- import kbnSharedUxPageKibanaTemplateObj from './kbn_shared_ux_page_kibana_template.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx index 118d9437497db..e3adb4d5a8272 100644 --- a/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_kibana_template_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-kibana-template-mocks title: "@kbn/shared-ux-page-kibana-template-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-kibana-template-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-kibana-template-mocks'] --- import kbnSharedUxPageKibanaTemplateMocksObj from './kbn_shared_ux_page_kibana_template_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data.mdx b/api_docs/kbn_shared_ux_page_no_data.mdx index 4f3b4a5ebf86a..f5e143c839159 100644 --- a/api_docs/kbn_shared_ux_page_no_data.mdx +++ b/api_docs/kbn_shared_ux_page_no_data.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data title: "@kbn/shared-ux-page-no-data" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data'] --- import kbnSharedUxPageNoDataObj from './kbn_shared_ux_page_no_data.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config.mdx b/api_docs/kbn_shared_ux_page_no_data_config.mdx index 4838d6a089aac..83b7298eae599 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config title: "@kbn/shared-ux-page-no-data-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config'] --- import kbnSharedUxPageNoDataConfigObj from './kbn_shared_ux_page_no_data_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx index 5189195cdfe44..5644a02b5987f 100644 --- a/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_config_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-config-mocks title: "@kbn/shared-ux-page-no-data-config-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-config-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-config-mocks'] --- import kbnSharedUxPageNoDataConfigMocksObj from './kbn_shared_ux_page_no_data_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx index bb95eec50ec2a..27caa2baeb27a 100644 --- a/api_docs/kbn_shared_ux_page_no_data_mocks.mdx +++ b/api_docs/kbn_shared_ux_page_no_data_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-no-data-mocks title: "@kbn/shared-ux-page-no-data-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-no-data-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-no-data-mocks'] --- import kbnSharedUxPageNoDataMocksObj from './kbn_shared_ux_page_no_data_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_page_solution_nav.mdx b/api_docs/kbn_shared_ux_page_solution_nav.mdx index b4281d683b220..0a596e640cf1b 100644 --- a/api_docs/kbn_shared_ux_page_solution_nav.mdx +++ b/api_docs/kbn_shared_ux_page_solution_nav.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-page-solution-nav title: "@kbn/shared-ux-page-solution-nav" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-page-solution-nav plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-page-solution-nav'] --- import kbnSharedUxPageSolutionNavObj from './kbn_shared_ux_page_solution_nav.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx index 7aba1eb244d33..8d677feaec60d 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views title: "@kbn/shared-ux-prompt-no-data-views" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views'] --- import kbnSharedUxPromptNoDataViewsObj from './kbn_shared_ux_prompt_no_data_views.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx index 46d83f16d0b9a..159b3335e017c 100644 --- a/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx +++ b/api_docs/kbn_shared_ux_prompt_no_data_views_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-no-data-views-mocks title: "@kbn/shared-ux-prompt-no-data-views-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-no-data-views-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-no-data-views-mocks'] --- import kbnSharedUxPromptNoDataViewsMocksObj from './kbn_shared_ux_prompt_no_data_views_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_prompt_not_found.mdx b/api_docs/kbn_shared_ux_prompt_not_found.mdx index 38f30107b71ce..03c35f1af586a 100644 --- a/api_docs/kbn_shared_ux_prompt_not_found.mdx +++ b/api_docs/kbn_shared_ux_prompt_not_found.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-prompt-not-found title: "@kbn/shared-ux-prompt-not-found" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-prompt-not-found plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-prompt-not-found'] --- import kbnSharedUxPromptNotFoundObj from './kbn_shared_ux_prompt_not_found.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router.mdx b/api_docs/kbn_shared_ux_router.mdx index edf37a5154efb..580e28f109966 100644 --- a/api_docs/kbn_shared_ux_router.mdx +++ b/api_docs/kbn_shared_ux_router.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router title: "@kbn/shared-ux-router" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router'] --- import kbnSharedUxRouterObj from './kbn_shared_ux_router.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_router_mocks.mdx b/api_docs/kbn_shared_ux_router_mocks.mdx index 3025ee6596432..4be2870c93e5a 100644 --- a/api_docs/kbn_shared_ux_router_mocks.mdx +++ b/api_docs/kbn_shared_ux_router_mocks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-router-mocks title: "@kbn/shared-ux-router-mocks" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-router-mocks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-router-mocks'] --- import kbnSharedUxRouterMocksObj from './kbn_shared_ux_router_mocks.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_config.mdx b/api_docs/kbn_shared_ux_storybook_config.mdx index d8b203e52388f..7d677e865c892 100644 --- a/api_docs/kbn_shared_ux_storybook_config.mdx +++ b/api_docs/kbn_shared_ux_storybook_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-config title: "@kbn/shared-ux-storybook-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-config plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-config'] --- import kbnSharedUxStorybookConfigObj from './kbn_shared_ux_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_storybook_mock.mdx b/api_docs/kbn_shared_ux_storybook_mock.mdx index 8a4180cc66ab7..b7347caf1cadc 100644 --- a/api_docs/kbn_shared_ux_storybook_mock.mdx +++ b/api_docs/kbn_shared_ux_storybook_mock.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-storybook-mock title: "@kbn/shared-ux-storybook-mock" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-storybook-mock plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-storybook-mock'] --- import kbnSharedUxStorybookMockObj from './kbn_shared_ux_storybook_mock.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_tabbed_modal.mdx b/api_docs/kbn_shared_ux_tabbed_modal.mdx index 20731b3335acf..62d45d5df66dc 100644 --- a/api_docs/kbn_shared_ux_tabbed_modal.mdx +++ b/api_docs/kbn_shared_ux_tabbed_modal.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-tabbed-modal title: "@kbn/shared-ux-tabbed-modal" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-tabbed-modal plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-tabbed-modal'] --- import kbnSharedUxTabbedModalObj from './kbn_shared_ux_tabbed_modal.devdocs.json'; diff --git a/api_docs/kbn_shared_ux_utility.mdx b/api_docs/kbn_shared_ux_utility.mdx index 9bec2266fb4ac..ea98384546d6f 100644 --- a/api_docs/kbn_shared_ux_utility.mdx +++ b/api_docs/kbn_shared_ux_utility.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-shared-ux-utility title: "@kbn/shared-ux-utility" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/shared-ux-utility plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/shared-ux-utility'] --- import kbnSharedUxUtilityObj from './kbn_shared_ux_utility.devdocs.json'; diff --git a/api_docs/kbn_slo_schema.devdocs.json b/api_docs/kbn_slo_schema.devdocs.json index 930179b2389bf..75b4c84fa7fe2 100644 --- a/api_docs/kbn_slo_schema.devdocs.json +++ b/api_docs/kbn_slo_schema.devdocs.json @@ -781,7 +781,7 @@ "label": "FindSLOGroupsParams", "description": [], "signature": [ - "{ page?: string | undefined; perPage?: string | undefined; groupBy?: \"status\" | \"ungrouped\" | \"slo.tags\" | \"slo.indicator.type\" | undefined; kqlQuery?: string | undefined; filters?: string | undefined; }" + "{ page?: string | undefined; perPage?: string | undefined; groupBy?: \"status\" | \"ungrouped\" | \"slo.tags\" | \"slo.indicator.type\" | undefined; groupsFilter?: string | string[] | undefined; kqlQuery?: string | undefined; filters?: string | undefined; }" ], "path": "x-pack/packages/kbn-slo-schema/src/rest_specs/slo.ts", "deprecated": false, @@ -4769,7 +4769,15 @@ "LiteralC", "<\"status\">, ", "LiteralC", - "<\"slo.indicator.type\">]>; kqlQuery: ", + "<\"slo.indicator.type\">]>; groupsFilter: ", + "UnionC", + "<[", + "ArrayC", + "<", + "StringC", + ">, ", + "StringC", + "]>; kqlQuery: ", "StringC", "; filters: ", "StringC", diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 0ba07a4ba8f5e..789a0364cde66 100644 --- a/api_docs/kbn_slo_schema.mdx +++ b/api_docs/kbn_slo_schema.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-slo-schema title: "@kbn/slo-schema" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/slo-schema plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; diff --git a/api_docs/kbn_solution_nav_analytics.mdx b/api_docs/kbn_solution_nav_analytics.mdx index eac829453be5f..c43ba975f02c6 100644 --- a/api_docs/kbn_solution_nav_analytics.mdx +++ b/api_docs/kbn_solution_nav_analytics.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-solution-nav-analytics title: "@kbn/solution-nav-analytics" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/solution-nav-analytics plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/solution-nav-analytics'] --- import kbnSolutionNavAnalyticsObj from './kbn_solution_nav_analytics.devdocs.json'; diff --git a/api_docs/kbn_solution_nav_es.mdx b/api_docs/kbn_solution_nav_es.mdx index e422191532d6f..927950754dc08 100644 --- a/api_docs/kbn_solution_nav_es.mdx +++ b/api_docs/kbn_solution_nav_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-solution-nav-es title: "@kbn/solution-nav-es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/solution-nav-es plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/solution-nav-es'] --- import kbnSolutionNavEsObj from './kbn_solution_nav_es.devdocs.json'; diff --git a/api_docs/kbn_solution_nav_oblt.mdx b/api_docs/kbn_solution_nav_oblt.mdx index dcf5d0649daac..843b9e4c635ef 100644 --- a/api_docs/kbn_solution_nav_oblt.mdx +++ b/api_docs/kbn_solution_nav_oblt.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-solution-nav-oblt title: "@kbn/solution-nav-oblt" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/solution-nav-oblt plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/solution-nav-oblt'] --- import kbnSolutionNavObltObj from './kbn_solution_nav_oblt.devdocs.json'; diff --git a/api_docs/kbn_some_dev_log.mdx b/api_docs/kbn_some_dev_log.mdx index 126752044d2f2..341d02747be38 100644 --- a/api_docs/kbn_some_dev_log.mdx +++ b/api_docs/kbn_some_dev_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-some-dev-log title: "@kbn/some-dev-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/some-dev-log plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/some-dev-log'] --- import kbnSomeDevLogObj from './kbn_some_dev_log.devdocs.json'; diff --git a/api_docs/kbn_sort_predicates.mdx b/api_docs/kbn_sort_predicates.mdx index 82876a6eb4655..c6173fa7b9048 100644 --- a/api_docs/kbn_sort_predicates.mdx +++ b/api_docs/kbn_sort_predicates.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-sort-predicates title: "@kbn/sort-predicates" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/sort-predicates plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/sort-predicates'] --- import kbnSortPredicatesObj from './kbn_sort_predicates.devdocs.json'; diff --git a/api_docs/kbn_std.mdx b/api_docs/kbn_std.mdx index 0e25e1456646a..41764022a2d90 100644 --- a/api_docs/kbn_std.mdx +++ b/api_docs/kbn_std.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-std title: "@kbn/std" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/std plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/std'] --- import kbnStdObj from './kbn_std.devdocs.json'; diff --git a/api_docs/kbn_stdio_dev_helpers.mdx b/api_docs/kbn_stdio_dev_helpers.mdx index e04a4ed195c32..2c8e1db959643 100644 --- a/api_docs/kbn_stdio_dev_helpers.mdx +++ b/api_docs/kbn_stdio_dev_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-stdio-dev-helpers title: "@kbn/stdio-dev-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/stdio-dev-helpers plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/stdio-dev-helpers'] --- import kbnStdioDevHelpersObj from './kbn_stdio_dev_helpers.devdocs.json'; diff --git a/api_docs/kbn_storybook.mdx b/api_docs/kbn_storybook.mdx index 99afbcb7fcf23..60aff254f3976 100644 --- a/api_docs/kbn_storybook.mdx +++ b/api_docs/kbn_storybook.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-storybook title: "@kbn/storybook" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/storybook plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/storybook'] --- import kbnStorybookObj from './kbn_storybook.devdocs.json'; diff --git a/api_docs/kbn_telemetry_tools.mdx b/api_docs/kbn_telemetry_tools.mdx index 02ea088eee285..4bb0c5f0b0fcc 100644 --- a/api_docs/kbn_telemetry_tools.mdx +++ b/api_docs/kbn_telemetry_tools.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-telemetry-tools title: "@kbn/telemetry-tools" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/telemetry-tools plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/telemetry-tools'] --- import kbnTelemetryToolsObj from './kbn_telemetry_tools.devdocs.json'; diff --git a/api_docs/kbn_test.mdx b/api_docs/kbn_test.mdx index b120eb25d1739..6cf84a87f9114 100644 --- a/api_docs/kbn_test.mdx +++ b/api_docs/kbn_test.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test title: "@kbn/test" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test'] --- import kbnTestObj from './kbn_test.devdocs.json'; diff --git a/api_docs/kbn_test_eui_helpers.mdx b/api_docs/kbn_test_eui_helpers.mdx index 1f7046feae770..990910750e5a1 100644 --- a/api_docs/kbn_test_eui_helpers.mdx +++ b/api_docs/kbn_test_eui_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-eui-helpers title: "@kbn/test-eui-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-eui-helpers plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-eui-helpers'] --- import kbnTestEuiHelpersObj from './kbn_test_eui_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_jest_helpers.mdx b/api_docs/kbn_test_jest_helpers.mdx index 199425cb7dacd..5287729b38e29 100644 --- a/api_docs/kbn_test_jest_helpers.mdx +++ b/api_docs/kbn_test_jest_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-jest-helpers title: "@kbn/test-jest-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-jest-helpers plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-jest-helpers'] --- import kbnTestJestHelpersObj from './kbn_test_jest_helpers.devdocs.json'; diff --git a/api_docs/kbn_test_subj_selector.mdx b/api_docs/kbn_test_subj_selector.mdx index d9a298ec7806c..b9c017833942c 100644 --- a/api_docs/kbn_test_subj_selector.mdx +++ b/api_docs/kbn_test_subj_selector.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-test-subj-selector title: "@kbn/test-subj-selector" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/test-subj-selector plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/test-subj-selector'] --- import kbnTestSubjSelectorObj from './kbn_test_subj_selector.devdocs.json'; diff --git a/api_docs/kbn_text_based_editor.mdx b/api_docs/kbn_text_based_editor.mdx index 8be7e4f910e06..da5d05fb4675f 100644 --- a/api_docs/kbn_text_based_editor.mdx +++ b/api_docs/kbn_text_based_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-text-based-editor title: "@kbn/text-based-editor" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/text-based-editor plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/text-based-editor'] --- import kbnTextBasedEditorObj from './kbn_text_based_editor.devdocs.json'; diff --git a/api_docs/kbn_timerange.mdx b/api_docs/kbn_timerange.mdx index 7434feea3b325..39954baa42835 100644 --- a/api_docs/kbn_timerange.mdx +++ b/api_docs/kbn_timerange.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-timerange title: "@kbn/timerange" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/timerange plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/timerange'] --- import kbnTimerangeObj from './kbn_timerange.devdocs.json'; diff --git a/api_docs/kbn_tooling_log.mdx b/api_docs/kbn_tooling_log.mdx index b33dc819f673d..6fa7810410e8d 100644 --- a/api_docs/kbn_tooling_log.mdx +++ b/api_docs/kbn_tooling_log.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-tooling-log title: "@kbn/tooling-log" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/tooling-log plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/tooling-log'] --- import kbnToolingLogObj from './kbn_tooling_log.devdocs.json'; diff --git a/api_docs/kbn_triggers_actions_ui_types.mdx b/api_docs/kbn_triggers_actions_ui_types.mdx index 842bc58af2aad..8fff7a0f09ffd 100644 --- a/api_docs/kbn_triggers_actions_ui_types.mdx +++ b/api_docs/kbn_triggers_actions_ui_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-triggers-actions-ui-types title: "@kbn/triggers-actions-ui-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/triggers-actions-ui-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/triggers-actions-ui-types'] --- import kbnTriggersActionsUiTypesObj from './kbn_triggers_actions_ui_types.devdocs.json'; diff --git a/api_docs/kbn_ts_projects.mdx b/api_docs/kbn_ts_projects.mdx index a3888952dd772..286d8b2470bcb 100644 --- a/api_docs/kbn_ts_projects.mdx +++ b/api_docs/kbn_ts_projects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ts-projects title: "@kbn/ts-projects" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ts-projects plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ts-projects'] --- import kbnTsProjectsObj from './kbn_ts_projects.devdocs.json'; diff --git a/api_docs/kbn_typed_react_router_config.mdx b/api_docs/kbn_typed_react_router_config.mdx index e5fcefab265d5..140259debad80 100644 --- a/api_docs/kbn_typed_react_router_config.mdx +++ b/api_docs/kbn_typed_react_router_config.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-typed-react-router-config title: "@kbn/typed-react-router-config" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/typed-react-router-config plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/typed-react-router-config'] --- import kbnTypedReactRouterConfigObj from './kbn_typed_react_router_config.devdocs.json'; diff --git a/api_docs/kbn_ui_actions_browser.mdx b/api_docs/kbn_ui_actions_browser.mdx index d742914020dec..e100753b638e6 100644 --- a/api_docs/kbn_ui_actions_browser.mdx +++ b/api_docs/kbn_ui_actions_browser.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-actions-browser title: "@kbn/ui-actions-browser" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-actions-browser plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-actions-browser'] --- import kbnUiActionsBrowserObj from './kbn_ui_actions_browser.devdocs.json'; diff --git a/api_docs/kbn_ui_shared_deps_src.mdx b/api_docs/kbn_ui_shared_deps_src.mdx index 5ff3402db5493..04686385ead35 100644 --- a/api_docs/kbn_ui_shared_deps_src.mdx +++ b/api_docs/kbn_ui_shared_deps_src.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-shared-deps-src title: "@kbn/ui-shared-deps-src" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-shared-deps-src plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-shared-deps-src'] --- import kbnUiSharedDepsSrcObj from './kbn_ui_shared_deps_src.devdocs.json'; diff --git a/api_docs/kbn_ui_theme.mdx b/api_docs/kbn_ui_theme.mdx index e9320d0eb0f67..7f0cb6d5e8d3e 100644 --- a/api_docs/kbn_ui_theme.mdx +++ b/api_docs/kbn_ui_theme.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-ui-theme title: "@kbn/ui-theme" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/ui-theme plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ui-theme'] --- import kbnUiThemeObj from './kbn_ui_theme.devdocs.json'; diff --git a/api_docs/kbn_unified_data_table.mdx b/api_docs/kbn_unified_data_table.mdx index 7e9e7d0b3031c..0a3dbea282a8a 100644 --- a/api_docs/kbn_unified_data_table.mdx +++ b/api_docs/kbn_unified_data_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-data-table title: "@kbn/unified-data-table" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-data-table plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-data-table'] --- import kbnUnifiedDataTableObj from './kbn_unified_data_table.devdocs.json'; diff --git a/api_docs/kbn_unified_doc_viewer.mdx b/api_docs/kbn_unified_doc_viewer.mdx index d02d531627d52..70fb4234a2160 100644 --- a/api_docs/kbn_unified_doc_viewer.mdx +++ b/api_docs/kbn_unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-doc-viewer title: "@kbn/unified-doc-viewer" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-doc-viewer plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-doc-viewer'] --- import kbnUnifiedDocViewerObj from './kbn_unified_doc_viewer.devdocs.json'; diff --git a/api_docs/kbn_unified_field_list.mdx b/api_docs/kbn_unified_field_list.mdx index 940952c9c3f1c..74596871730ba 100644 --- a/api_docs/kbn_unified_field_list.mdx +++ b/api_docs/kbn_unified_field_list.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unified-field-list title: "@kbn/unified-field-list" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unified-field-list plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unified-field-list'] --- import kbnUnifiedFieldListObj from './kbn_unified_field_list.devdocs.json'; diff --git a/api_docs/kbn_unsaved_changes_badge.mdx b/api_docs/kbn_unsaved_changes_badge.mdx index 4af4896d101d7..1bc63fb2052a4 100644 --- a/api_docs/kbn_unsaved_changes_badge.mdx +++ b/api_docs/kbn_unsaved_changes_badge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-unsaved-changes-badge title: "@kbn/unsaved-changes-badge" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/unsaved-changes-badge plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/unsaved-changes-badge'] --- import kbnUnsavedChangesBadgeObj from './kbn_unsaved_changes_badge.devdocs.json'; diff --git a/api_docs/kbn_use_tracked_promise.mdx b/api_docs/kbn_use_tracked_promise.mdx index 0fc5a0cfec010..132adae437c0c 100644 --- a/api_docs/kbn_use_tracked_promise.mdx +++ b/api_docs/kbn_use_tracked_promise.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-use-tracked-promise title: "@kbn/use-tracked-promise" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/use-tracked-promise plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/use-tracked-promise'] --- import kbnUseTrackedPromiseObj from './kbn_use_tracked_promise.devdocs.json'; diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index 7c28c570b74a6..0bca9de29ca7c 100644 --- a/api_docs/kbn_user_profile_components.mdx +++ b/api_docs/kbn_user_profile_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-user-profile-components title: "@kbn/user-profile-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/user-profile-components plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/user-profile-components'] --- import kbnUserProfileComponentsObj from './kbn_user_profile_components.devdocs.json'; diff --git a/api_docs/kbn_utility_types.mdx b/api_docs/kbn_utility_types.mdx index 5466086e0dd11..768fa68d66983 100644 --- a/api_docs/kbn_utility_types.mdx +++ b/api_docs/kbn_utility_types.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types title: "@kbn/utility-types" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types'] --- import kbnUtilityTypesObj from './kbn_utility_types.devdocs.json'; diff --git a/api_docs/kbn_utility_types_jest.mdx b/api_docs/kbn_utility_types_jest.mdx index 1bfdc9f049143..cfd1945c8bab7 100644 --- a/api_docs/kbn_utility_types_jest.mdx +++ b/api_docs/kbn_utility_types_jest.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utility-types-jest title: "@kbn/utility-types-jest" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utility-types-jest plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utility-types-jest'] --- import kbnUtilityTypesJestObj from './kbn_utility_types_jest.devdocs.json'; diff --git a/api_docs/kbn_utils.mdx b/api_docs/kbn_utils.mdx index b7764653d0b92..6a00447ee4d59 100644 --- a/api_docs/kbn_utils.mdx +++ b/api_docs/kbn_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-utils title: "@kbn/utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/utils'] --- import kbnUtilsObj from './kbn_utils.devdocs.json'; diff --git a/api_docs/kbn_visualization_ui_components.mdx b/api_docs/kbn_visualization_ui_components.mdx index d9d0c4695e8ac..8f1b687793a34 100644 --- a/api_docs/kbn_visualization_ui_components.mdx +++ b/api_docs/kbn_visualization_ui_components.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-ui-components title: "@kbn/visualization-ui-components" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-ui-components plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-ui-components'] --- import kbnVisualizationUiComponentsObj from './kbn_visualization_ui_components.devdocs.json'; diff --git a/api_docs/kbn_visualization_utils.mdx b/api_docs/kbn_visualization_utils.mdx index 0a7a7fb188982..1aa238ce8daf4 100644 --- a/api_docs/kbn_visualization_utils.mdx +++ b/api_docs/kbn_visualization_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-visualization-utils title: "@kbn/visualization-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/visualization-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/visualization-utils'] --- import kbnVisualizationUtilsObj from './kbn_visualization_utils.devdocs.json'; diff --git a/api_docs/kbn_xstate_utils.mdx b/api_docs/kbn_xstate_utils.mdx index bdc9de499f1e5..8ad846e16bfb8 100644 --- a/api_docs/kbn_xstate_utils.mdx +++ b/api_docs/kbn_xstate_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-xstate-utils title: "@kbn/xstate-utils" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/xstate-utils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/xstate-utils'] --- import kbnXstateUtilsObj from './kbn_xstate_utils.devdocs.json'; diff --git a/api_docs/kbn_yarn_lock_validator.mdx b/api_docs/kbn_yarn_lock_validator.mdx index 913fcdf5b2c29..75b37db9fd4b7 100644 --- a/api_docs/kbn_yarn_lock_validator.mdx +++ b/api_docs/kbn_yarn_lock_validator.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-yarn-lock-validator title: "@kbn/yarn-lock-validator" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/yarn-lock-validator plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/yarn-lock-validator'] --- import kbnYarnLockValidatorObj from './kbn_yarn_lock_validator.devdocs.json'; diff --git a/api_docs/kbn_zod_helpers.mdx b/api_docs/kbn_zod_helpers.mdx index 157ea970291b1..7345fd465913d 100644 --- a/api_docs/kbn_zod_helpers.mdx +++ b/api_docs/kbn_zod_helpers.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-zod-helpers title: "@kbn/zod-helpers" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/zod-helpers plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/zod-helpers'] --- import kbnZodHelpersObj from './kbn_zod_helpers.devdocs.json'; diff --git a/api_docs/kibana_overview.mdx b/api_docs/kibana_overview.mdx index 40fd3b2b3236e..fb28cfee7d0c3 100644 --- a/api_docs/kibana_overview.mdx +++ b/api_docs/kibana_overview.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaOverview title: "kibanaOverview" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaOverview plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaOverview'] --- import kibanaOverviewObj from './kibana_overview.devdocs.json'; diff --git a/api_docs/kibana_react.devdocs.json b/api_docs/kibana_react.devdocs.json index 4509a754f1314..59a23a0487234 100644 --- a/api_docs/kibana_react.devdocs.json +++ b/api_docs/kibana_react.devdocs.json @@ -523,18 +523,6 @@ "plugin": "uiActions", "path": "src/plugins/ui_actions/public/context_menu/open_context_menu.tsx" }, - { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/public/plugin.tsx" - }, - { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/public/plugin.tsx" - }, - { - "plugin": "guidedOnboarding", - "path": "src/plugins/guided_onboarding/public/plugin.tsx" - }, { "plugin": "home", "path": "src/plugins/home/public/application/application.tsx" @@ -1183,18 +1171,6 @@ "plugin": "ml", "path": "x-pack/plugins/ml/public/embeddables/single_metric_viewer/single_metric_viewer_embeddable.tsx" }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx" - }, - { - "plugin": "ml", - "path": "x-pack/plugins/ml/public/embeddables/anomaly_swimlane/anomaly_swimlane_embeddable.tsx" - }, { "plugin": "ml", "path": "x-pack/plugins/ml/public/application/app.tsx" @@ -1323,18 +1299,6 @@ "plugin": "ingestPipelines", "path": "x-pack/plugins/ingest_pipelines/public/application/index.tsx" }, - { - "plugin": "logstash", - "path": "x-pack/plugins/logstash/public/application/index.tsx" - }, - { - "plugin": "logstash", - "path": "x-pack/plugins/logstash/public/application/index.tsx" - }, - { - "plugin": "logstash", - "path": "x-pack/plugins/logstash/public/application/index.tsx" - }, { "plugin": "metricsDataAccess", "path": "x-pack/plugins/metrics_data_access/public/apps/common_providers.tsx" @@ -1571,18 +1535,6 @@ "plugin": "watcher", "path": "x-pack/plugins/watcher/public/application/index.tsx" }, - { - "plugin": "cloudDataMigration", - "path": "x-pack/plugins/cloud_integrations/cloud_data_migration/public/application/index.tsx" - }, - { - "plugin": "cloudDataMigration", - "path": "x-pack/plugins/cloud_integrations/cloud_data_migration/public/application/index.tsx" - }, - { - "plugin": "cloudDataMigration", - "path": "x-pack/plugins/cloud_integrations/cloud_data_migration/public/application/index.tsx" - }, { "plugin": "profiling", "path": "x-pack/plugins/observability_solution/profiling/public/app.tsx" diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index e4c20f120bfa4..f72943b423c8a 100644 --- a/api_docs/kibana_react.mdx +++ b/api_docs/kibana_react.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaReact title: "kibanaReact" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaReact plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaReact'] --- import kibanaReactObj from './kibana_react.devdocs.json'; diff --git a/api_docs/kibana_utils.mdx b/api_docs/kibana_utils.mdx index 7fd56bbd745b3..3a69d2c6eb898 100644 --- a/api_docs/kibana_utils.mdx +++ b/api_docs/kibana_utils.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kibanaUtils title: "kibanaUtils" image: https://source.unsplash.com/400x175/?github description: API docs for the kibanaUtils plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kibanaUtils'] --- import kibanaUtilsObj from './kibana_utils.devdocs.json'; diff --git a/api_docs/kubernetes_security.mdx b/api_docs/kubernetes_security.mdx index 44aebf234d5df..f334d39719d5e 100644 --- a/api_docs/kubernetes_security.mdx +++ b/api_docs/kubernetes_security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kubernetesSecurity title: "kubernetesSecurity" image: https://source.unsplash.com/400x175/?github description: API docs for the kubernetesSecurity plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'kubernetesSecurity'] --- import kubernetesSecurityObj from './kubernetes_security.devdocs.json'; diff --git a/api_docs/lens.mdx b/api_docs/lens.mdx index 9fe16236b3d15..9f90215fbb707 100644 --- a/api_docs/lens.mdx +++ b/api_docs/lens.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lens title: "lens" image: https://source.unsplash.com/400x175/?github description: API docs for the lens plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lens'] --- import lensObj from './lens.devdocs.json'; diff --git a/api_docs/license_api_guard.mdx b/api_docs/license_api_guard.mdx index 3a2ba26e86d7f..c66da05d38c90 100644 --- a/api_docs/license_api_guard.mdx +++ b/api_docs/license_api_guard.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseApiGuard title: "licenseApiGuard" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseApiGuard plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseApiGuard'] --- import licenseApiGuardObj from './license_api_guard.devdocs.json'; diff --git a/api_docs/license_management.mdx b/api_docs/license_management.mdx index dc1787bc87e31..495bd7f66379a 100644 --- a/api_docs/license_management.mdx +++ b/api_docs/license_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licenseManagement title: "licenseManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the licenseManagement plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 7c52498e11df0..303bebeaced48 100644 --- a/api_docs/licensing.mdx +++ b/api_docs/licensing.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/licensing title: "licensing" image: https://source.unsplash.com/400x175/?github description: API docs for the licensing plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licensing'] --- import licensingObj from './licensing.devdocs.json'; diff --git a/api_docs/links.mdx b/api_docs/links.mdx index 270f6e3bccd4a..ff7b7b265ba87 100644 --- a/api_docs/links.mdx +++ b/api_docs/links.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/links title: "links" image: https://source.unsplash.com/400x175/?github description: API docs for the links plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links'] --- import linksObj from './links.devdocs.json'; diff --git a/api_docs/lists.devdocs.json b/api_docs/lists.devdocs.json index b99555928251b..c9cfd1ad3574d 100644 --- a/api_docs/lists.devdocs.json +++ b/api_docs/lists.devdocs.json @@ -2660,7 +2660,7 @@ "\nGiven a list item id, this will delete the single list item" ], "signature": [ - "({ id }: ", + "({ id, refresh, }: ", "DeleteListItemOptions", ") => Promise<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; } | null>" ], @@ -2673,7 +2673,7 @@ "id": "def-server.ListClient.deleteListItem.$1", "type": "Object", "tags": [], - "label": "{ id }", + "label": "{\n id,\n refresh,\n }", "description": [], "signature": [ "DeleteListItemOptions" @@ -2698,7 +2698,7 @@ "\nGiven a list value, this will delete all list items that have that value" ], "signature": [ - "({ listId, value, type, }: ", + "({ listId, value, type, refresh, }: ", "DeleteListItemByValueOptions", ") => Promise<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; }[]>" ], @@ -2711,7 +2711,7 @@ "id": "def-server.ListClient.deleteListItemByValue.$1", "type": "Object", "tags": [], - "label": "{\n listId,\n value,\n type,\n }", + "label": "{\n listId,\n value,\n type,\n refresh,\n }", "description": [], "signature": [ "DeleteListItemByValueOptions" @@ -2846,7 +2846,7 @@ "\nImports list items to a stream. If the list already exists, this will append the list items to the existing list.\nIf the list does not exist, this will auto-create the list and then add the items to that list.\nSee {@link https://www.elastic.co/guide/en/security/current/lists-api-create-container.html}\nfor more information around formats of the deserializer and serializer." ], "signature": [ - "({ deserializer, serializer, type, listId, stream, meta, version, }: ", + "({ deserializer, serializer, type, listId, stream, meta, version, refresh, }: ", "ImportListItemsToStreamOptions", ") => Promise<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; description: string; deserializer: string | undefined; id: string; immutable: boolean; meta: object | undefined; name: string; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; version: number; } | null>" ], @@ -2859,7 +2859,7 @@ "id": "def-server.ListClient.importListItemsToStream.$1", "type": "Object", "tags": [], - "label": "{\n deserializer,\n serializer,\n type,\n listId,\n stream,\n meta,\n version,\n }", + "label": "{\n deserializer,\n serializer,\n type,\n listId,\n stream,\n meta,\n version,\n refresh,\n }", "description": [], "signature": [ "ImportListItemsToStreamOptions" @@ -2920,7 +2920,7 @@ "\nCreates a list item given at least \"value\", \"type\", and a \"listId\" where \"listId\" is the parent container that this list\nitem belongs to.\nSee {@link https://www.elastic.co/guide/en/security/current/lists-api-create-container.html}\nfor more information around formats of the deserializer and serializer." ], "signature": [ - "({ id, deserializer, serializer, listId, value, type, meta, }: ", + "({ id, deserializer, serializer, listId, value, type, meta, refresh, }: ", "CreateListItemOptions", ") => Promise<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; } | null>" ], @@ -2933,7 +2933,7 @@ "id": "def-server.ListClient.createListItem.$1", "type": "Object", "tags": [], - "label": "{\n id,\n deserializer,\n serializer,\n listId,\n value,\n type,\n meta,\n }", + "label": "{\n id,\n deserializer,\n serializer,\n listId,\n value,\n type,\n meta,\n refresh,\n }", "description": [], "signature": [ "CreateListItemOptions" @@ -2992,7 +2992,7 @@ "\nPatches a list item's value given the id of the list item.\nSee {@link https://www.elastic.co/guide/en/elasticsearch/reference/current/optimistic-concurrency-control.html}\nfor more information around optimistic concurrency control." ], "signature": [ - "({ _version, id, value, meta, }: ", + "({ _version, id, value, meta, refresh, }: ", "UpdateListItemOptions", ") => Promise<{ _version: string | undefined; '@timestamp': string | undefined; created_at: string; created_by: string; deserializer: string | undefined; id: string; list_id: string; meta: object | undefined; serializer: string | undefined; tie_breaker_id: string; type: \"boolean\" | \"geo_point\" | \"geo_shape\" | \"ip\" | \"binary\" | \"keyword\" | \"text\" | \"date\" | \"date_nanos\" | \"integer\" | \"long\" | \"short\" | \"byte\" | \"float\" | \"half_float\" | \"double\" | \"integer_range\" | \"float_range\" | \"long_range\" | \"double_range\" | \"date_range\" | \"ip_range\" | \"shape\"; updated_at: string; updated_by: string; value: string; } | null>" ], @@ -3005,7 +3005,7 @@ "id": "def-server.ListClient.patchListItem.$1", "type": "Object", "tags": [], - "label": "{\n _version,\n id,\n value,\n meta,\n }", + "label": "{\n _version,\n id,\n value,\n meta,\n refresh,\n }", "description": [], "signature": [ "UpdateListItemOptions" diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index d9db54cac36aa..5dc4448c26c61 100644 --- a/api_docs/lists.mdx +++ b/api_docs/lists.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/lists title: "lists" image: https://source.unsplash.com/400x175/?github description: API docs for the lists plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'lists'] --- import listsObj from './lists.devdocs.json'; diff --git a/api_docs/logs_explorer.mdx b/api_docs/logs_explorer.mdx index 9a5474d62ae34..0deb37b3a64ce 100644 --- a/api_docs/logs_explorer.mdx +++ b/api_docs/logs_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsExplorer title: "logsExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the logsExplorer plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsExplorer'] --- import logsExplorerObj from './logs_explorer.devdocs.json'; diff --git a/api_docs/logs_shared.mdx b/api_docs/logs_shared.mdx index 11f56fab8ea7e..4a0a3b8c49b5a 100644 --- a/api_docs/logs_shared.mdx +++ b/api_docs/logs_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/logsShared title: "logsShared" image: https://source.unsplash.com/400x175/?github description: API docs for the logsShared plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'logsShared'] --- import logsSharedObj from './logs_shared.devdocs.json'; diff --git a/api_docs/management.devdocs.json b/api_docs/management.devdocs.json index 09117c7a85fef..c8239c131bc1d 100644 --- a/api_docs/management.devdocs.json +++ b/api_docs/management.devdocs.json @@ -678,10 +678,6 @@ "plugin": "ingestPipelines", "path": "x-pack/plugins/ingest_pipelines/public/application/mount_management_section.ts" }, - { - "plugin": "logstash", - "path": "x-pack/plugins/logstash/public/application/index.tsx" - }, { "plugin": "rollup", "path": "x-pack/plugins/rollup/public/application.tsx" @@ -697,10 +693,6 @@ { "plugin": "watcher", "path": "x-pack/plugins/watcher/public/plugin.ts" - }, - { - "plugin": "cloudDataMigration", - "path": "x-pack/plugins/cloud_integrations/cloud_data_migration/public/application/index.tsx" } ] } diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 42b7d37cd3610..2b9cce6d2a3bf 100644 --- a/api_docs/management.mdx +++ b/api_docs/management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/management title: "management" image: https://source.unsplash.com/400x175/?github description: API docs for the management plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'management'] --- import managementObj from './management.devdocs.json'; diff --git a/api_docs/maps.mdx b/api_docs/maps.mdx index 881b401110185..e688b8e80f375 100644 --- a/api_docs/maps.mdx +++ b/api_docs/maps.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/maps title: "maps" image: https://source.unsplash.com/400x175/?github description: API docs for the maps plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'maps'] --- import mapsObj from './maps.devdocs.json'; diff --git a/api_docs/maps_ems.mdx b/api_docs/maps_ems.mdx index 4eb0081f0647c..575efaeeb8987 100644 --- a/api_docs/maps_ems.mdx +++ b/api_docs/maps_ems.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mapsEms title: "mapsEms" image: https://source.unsplash.com/400x175/?github description: API docs for the mapsEms plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mapsEms'] --- import mapsEmsObj from './maps_ems.devdocs.json'; diff --git a/api_docs/metrics_data_access.mdx b/api_docs/metrics_data_access.mdx index 219342208f1e7..25a32c171dc0f 100644 --- a/api_docs/metrics_data_access.mdx +++ b/api_docs/metrics_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/metricsDataAccess title: "metricsDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the metricsDataAccess plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'metricsDataAccess'] --- import metricsDataAccessObj from './metrics_data_access.devdocs.json'; diff --git a/api_docs/ml.devdocs.json b/api_docs/ml.devdocs.json index 5ab99dcb6af70..10faf6915315a 100644 --- a/api_docs/ml.devdocs.json +++ b/api_docs/ml.devdocs.json @@ -281,6 +281,40 @@ } ], "interfaces": [ + { + "parentPluginId": "ml", + "id": "def-public.AnomalySwimLaneEmbeddableState", + "type": "Interface", + "tags": [], + "label": "AnomalySwimLaneEmbeddableState", + "description": [ + "\nPersisted state for the Anomaly Swim Lane Embeddable." + ], + "signature": [ + { + "pluginId": "ml", + "scope": "public", + "docId": "kibMlPluginApi", + "section": "def-public.AnomalySwimLaneEmbeddableState", + "text": "AnomalySwimLaneEmbeddableState" + }, + " extends ", + { + "pluginId": "@kbn/presentation-publishing", + "scope": "common", + "docId": "kibKbnPresentationPublishingPluginApi", + "section": "def-common.SerializedTitles", + "text": "SerializedTitles" + }, + ",", + "AnomalySwimlaneEmbeddableCustomInput" + ], + "path": "x-pack/plugins/ml/public/embeddables/anomaly_swimlane/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "initialIsOpen": false + }, { "parentPluginId": "ml", "id": "def-public.DataRecognizerConfigResponse", @@ -942,23 +976,33 @@ }, { "parentPluginId": "ml", - "id": "def-public.AnomalySwimlaneEmbeddableInput", + "id": "def-public.AnomalySwimLaneEmbeddableApi", "type": "Type", "tags": [], - "label": "AnomalySwimlaneEmbeddableInput", + "label": "AnomalySwimLaneEmbeddableApi", "description": [], "signature": [ + "MlEmbeddableBaseApi", + "<", { - "pluginId": "embeddable", + "pluginId": "ml", + "scope": "public", + "docId": "kibMlPluginApi", + "section": "def-public.AnomalySwimLaneEmbeddableState", + "text": "AnomalySwimLaneEmbeddableState" + }, + "> & ", + { + "pluginId": "@kbn/presentation-publishing", "scope": "common", - "docId": "kibEmbeddablePluginApi", - "section": "def-common.EmbeddableInput", - "text": "EmbeddableInput" + "docId": "kibKbnPresentationPublishingPluginApi", + "section": "def-common.PublishesPanelTitle", + "text": "PublishesPanelTitle" }, - " & ", - "AnomalySwimlaneEmbeddableCustomInput" + " & { setPanelTitle: (newTitle: string | undefined) => void; setHidePanelTitle: (hide: boolean | undefined) => void; } & ", + "AnomalySwimLaneComponentApi" ], - "path": "x-pack/plugins/ml/public/embeddables/types.ts", + "path": "x-pack/plugins/ml/public/embeddables/anomaly_swimlane/types.ts", "deprecated": false, "trackAdoption": false, "initialIsOpen": false @@ -1540,7 +1584,9 @@ "NotificationsCountResponse", ">; }; jsonSchema: { getSchemaDefinition(params: ", "GetSchemaDefinitionParams", - "): Promise; }; } | undefined; }" + "): Promise; }; } | undefined; components: { AnomalySwimLane: React.ForwardRefExoticComponent<", + "AnomalySwimLaneProps", + " & { children?: React.ReactNode; } & React.RefAttributes<{}>>; }; }" ], "path": "x-pack/plugins/ml/public/plugin.ts", "deprecated": false, diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index ed1748224c686..47363994b0b91 100644 --- a/api_docs/ml.mdx +++ b/api_docs/ml.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ml title: "ml" image: https://source.unsplash.com/400x175/?github description: API docs for the ml plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questi | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 152 | 3 | 66 | 97 | +| 153 | 3 | 66 | 100 | ## Client diff --git a/api_docs/mock_idp_plugin.mdx b/api_docs/mock_idp_plugin.mdx index 19b842c53a9cc..0045970989588 100644 --- a/api_docs/mock_idp_plugin.mdx +++ b/api_docs/mock_idp_plugin.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/mockIdpPlugin title: "mockIdpPlugin" image: https://source.unsplash.com/400x175/?github description: API docs for the mockIdpPlugin plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'mockIdpPlugin'] --- import mockIdpPluginObj from './mock_idp_plugin.devdocs.json'; diff --git a/api_docs/monitoring.mdx b/api_docs/monitoring.mdx index a60b528a6a5ba..4caac02afbf82 100644 --- a/api_docs/monitoring.mdx +++ b/api_docs/monitoring.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoring title: "monitoring" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoring plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoring'] --- import monitoringObj from './monitoring.devdocs.json'; diff --git a/api_docs/monitoring_collection.mdx b/api_docs/monitoring_collection.mdx index a1ada9e03fb0b..7aeea48673192 100644 --- a/api_docs/monitoring_collection.mdx +++ b/api_docs/monitoring_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/monitoringCollection title: "monitoringCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the monitoringCollection plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'monitoringCollection'] --- import monitoringCollectionObj from './monitoring_collection.devdocs.json'; diff --git a/api_docs/navigation.devdocs.json b/api_docs/navigation.devdocs.json index b49c6e1f6bfc2..9e3f9bad9baf2 100644 --- a/api_docs/navigation.devdocs.json +++ b/api_docs/navigation.devdocs.json @@ -1059,8 +1059,8 @@ "Add a solution navigation to the header nav switcher." ], "signature": [ - "(solutionNavigation: ", - "SolutionNavigation", + "(solutionNavigationAgg: ", + "AddSolutionNavigationArg", ") => void" ], "path": "src/plugins/navigation/public/types.ts", @@ -1070,12 +1070,12 @@ { "parentPluginId": "navigation", "id": "def-public.NavigationPublicStart.addSolutionNavigation.$1", - "type": "Object", + "type": "CompoundType", "tags": [], - "label": "solutionNavigation", + "label": "solutionNavigationAgg", "description": [], "signature": [ - "SolutionNavigation" + "AddSolutionNavigationArg" ], "path": "src/plugins/navigation/public/types.ts", "deprecated": false, diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index 85e4345e4fc0a..0d1e2c3efe575 100644 --- a/api_docs/navigation.mdx +++ b/api_docs/navigation.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/navigation title: "navigation" image: https://source.unsplash.com/400x175/?github description: API docs for the navigation plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'navigation'] --- import navigationObj from './navigation.devdocs.json'; diff --git a/api_docs/newsfeed.mdx b/api_docs/newsfeed.mdx index 889a1752884b0..2ec87b063c8f4 100644 --- a/api_docs/newsfeed.mdx +++ b/api_docs/newsfeed.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/newsfeed title: "newsfeed" image: https://source.unsplash.com/400x175/?github description: API docs for the newsfeed plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'newsfeed'] --- import newsfeedObj from './newsfeed.devdocs.json'; diff --git a/api_docs/no_data_page.mdx b/api_docs/no_data_page.mdx index b0bb6e939d3d2..3b1f7a048ccc7 100644 --- a/api_docs/no_data_page.mdx +++ b/api_docs/no_data_page.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/noDataPage title: "noDataPage" image: https://source.unsplash.com/400x175/?github description: API docs for the noDataPage plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'noDataPage'] --- import noDataPageObj from './no_data_page.devdocs.json'; diff --git a/api_docs/notifications.mdx b/api_docs/notifications.mdx index 366031c6a4c1b..5bfe95fa2eb4d 100644 --- a/api_docs/notifications.mdx +++ b/api_docs/notifications.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/notifications title: "notifications" image: https://source.unsplash.com/400x175/?github description: API docs for the notifications plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'notifications'] --- import notificationsObj from './notifications.devdocs.json'; diff --git a/api_docs/observability.devdocs.json b/api_docs/observability.devdocs.json index 6ef7f0dfa2852..45d46771e0ea5 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -12234,15 +12234,15 @@ "label": "ObservabilityPluginSetup", "description": [], "signature": [ - "{ getAlertDetailsConfig(): Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; getScopedAnnotationsClient: (requestContext: ", + "{ getAlertDetailsConfig(): Readonly<{} & { uptime: Readonly<{} & { enabled: boolean; }>; metrics: Readonly<{} & { enabled: boolean; }>; observability: Readonly<{} & { enabled: boolean; }>; logs: Readonly<{} & { enabled: boolean; }>; }>; getScopedAnnotationsClient: (requestContext: { core: Promise<{ elasticsearch: { client: ", { - "pluginId": "@kbn/core-http-request-handler-context-server", + "pluginId": "@kbn/core-elasticsearch-server", "scope": "common", - "docId": "kibKbnCoreHttpRequestHandlerContextServerPluginApi", - "section": "def-common.RequestHandlerContext", - "text": "RequestHandlerContext" + "docId": "kibKbnCoreElasticsearchServerPluginApi", + "section": "def-common.IScopedClusterClient", + "text": "IScopedClusterClient" }, - " & { licensing: Promise<", + "; }; }>; licensing: Promise<", { "pluginId": "licensing", "scope": "server", diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 2248282252bc5..c0e7585c314fc 100644 --- a/api_docs/observability.mdx +++ b/api_docs/observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observability title: "observability" image: https://source.unsplash.com/400x175/?github description: API docs for the observability plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant.devdocs.json b/api_docs/observability_a_i_assistant.devdocs.json index 29417e3d4f79e..d4df21a16fc41 100644 --- a/api_docs/observability_a_i_assistant.devdocs.json +++ b/api_docs/observability_a_i_assistant.devdocs.json @@ -780,7 +780,7 @@ "label": "user", "description": [], "signature": [ - "{ id?: string | undefined; name: string; }" + "{ id?: string | undefined; name: string; } | undefined" ], "path": "x-pack/plugins/observability_solution/observability_ai_assistant/common/types.ts", "deprecated": false, @@ -3321,6 +3321,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "observabilityAIAssistant", + "id": "def-public.aiAssistantSimulatedFunctionCalling", + "type": "string", + "tags": [], + "label": "aiAssistantSimulatedFunctionCalling", + "description": [], + "signature": [ + "\"observability:aiAssistantSimulatedFunctionCalling\"" + ], + "path": "x-pack/plugins/observability_solution/observability_ai_assistant/common/ui_settings/settings_keys.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "observabilityAIAssistant", "id": "def-public.APIReturnType", @@ -5204,6 +5219,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "observabilityAIAssistant", + "id": "def-server.aiAssistantSimulatedFunctionCalling", + "type": "string", + "tags": [], + "label": "aiAssistantSimulatedFunctionCalling", + "description": [], + "signature": [ + "\"observability:aiAssistantSimulatedFunctionCalling\"" + ], + "path": "x-pack/plugins/observability_solution/observability_ai_assistant/common/ui_settings/settings_keys.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "observabilityAIAssistant", "id": "def-server.ObservabilityAIAssistantServerRouteRepository", @@ -5971,6 +6001,55 @@ "returnComment": [], "initialIsOpen": false }, + { + "parentPluginId": "observabilityAIAssistant", + "id": "def-common.createFunctionNotFoundError", + "type": "Function", + "tags": [], + "label": "createFunctionNotFoundError", + "description": [], + "signature": [ + "(name: string) => ", + { + "pluginId": "observabilityAIAssistant", + "scope": "common", + "docId": "kibObservabilityAIAssistantPluginApi", + "section": "def-common.ChatCompletionError", + "text": "ChatCompletionError" + }, + "<", + { + "pluginId": "observabilityAIAssistant", + "scope": "common", + "docId": "kibObservabilityAIAssistantPluginApi", + "section": "def-common.ChatCompletionErrorCode", + "text": "ChatCompletionErrorCode" + }, + ".FunctionNotFoundError>" + ], + "path": "x-pack/plugins/observability_solution/observability_ai_assistant/common/conversation_complete.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "observabilityAIAssistant", + "id": "def-common.createFunctionNotFoundError.$1", + "type": "string", + "tags": [], + "label": "name", + "description": [], + "signature": [ + "string" + ], + "path": "x-pack/plugins/observability_solution/observability_ai_assistant/common/conversation_complete.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, { "parentPluginId": "observabilityAIAssistant", "id": "def-common.createInternalServerError", @@ -6215,7 +6294,7 @@ "label": "user", "description": [], "signature": [ - "{ id?: string | undefined; name: string; }" + "{ id?: string | undefined; name: string; } | undefined" ], "path": "x-pack/plugins/observability_solution/observability_ai_assistant/common/types.ts", "deprecated": false, @@ -6725,6 +6804,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "observabilityAIAssistant", + "id": "def-common.aiAssistantSimulatedFunctionCalling", + "type": "string", + "tags": [], + "label": "aiAssistantSimulatedFunctionCalling", + "description": [], + "signature": [ + "\"observability:aiAssistantSimulatedFunctionCalling\"" + ], + "path": "x-pack/plugins/observability_solution/observability_ai_assistant/common/ui_settings/settings_keys.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "observabilityAIAssistant", "id": "def-common.BufferFlushEvent", @@ -6845,7 +6939,7 @@ }, ", \"namespace\" | \"user\" | \"conversation\"> & { conversation: { title: string; token_count?: ", "TokenCount", - " | undefined; }; }" + " | undefined; id?: string | undefined; }; }" ], "path": "x-pack/plugins/observability_solution/observability_ai_assistant/common/types.ts", "deprecated": false, diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 8408fd5d89cfb..670d6661c21fb 100644 --- a/api_docs/observability_a_i_assistant.mdx +++ b/api_docs/observability_a_i_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistant title: "observabilityAIAssistant" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistant plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 246 | 1 | 244 | 25 | +| 251 | 1 | 249 | 25 | ## Client diff --git a/api_docs/observability_a_i_assistant_app.mdx b/api_docs/observability_a_i_assistant_app.mdx index 548bb28150c25..c21f6d4f59092 100644 --- a/api_docs/observability_a_i_assistant_app.mdx +++ b/api_docs/observability_a_i_assistant_app.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAIAssistantApp title: "observabilityAIAssistantApp" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAIAssistantApp plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistantApp'] --- import observabilityAIAssistantAppObj from './observability_a_i_assistant_app.devdocs.json'; diff --git a/api_docs/observability_ai_assistant_management.mdx b/api_docs/observability_ai_assistant_management.mdx index 977e43f36299f..e7b46638f8a6d 100644 --- a/api_docs/observability_ai_assistant_management.mdx +++ b/api_docs/observability_ai_assistant_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityAiAssistantManagement title: "observabilityAiAssistantManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityAiAssistantManagement plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAiAssistantManagement'] --- import observabilityAiAssistantManagementObj from './observability_ai_assistant_management.devdocs.json'; diff --git a/api_docs/observability_logs_explorer.mdx b/api_docs/observability_logs_explorer.mdx index b4a72a695a1b4..6117a0fa84bc3 100644 --- a/api_docs/observability_logs_explorer.mdx +++ b/api_docs/observability_logs_explorer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityLogsExplorer title: "observabilityLogsExplorer" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityLogsExplorer plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityLogsExplorer'] --- import observabilityLogsExplorerObj from './observability_logs_explorer.devdocs.json'; diff --git a/api_docs/observability_onboarding.mdx b/api_docs/observability_onboarding.mdx index cbf897fd13415..e00bbdad26b2a 100644 --- a/api_docs/observability_onboarding.mdx +++ b/api_docs/observability_onboarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityOnboarding title: "observabilityOnboarding" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityOnboarding plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityOnboarding'] --- import observabilityOnboardingObj from './observability_onboarding.devdocs.json'; diff --git a/api_docs/observability_shared.mdx b/api_docs/observability_shared.mdx index 39f4730d37643..3c696e96e716d 100644 --- a/api_docs/observability_shared.mdx +++ b/api_docs/observability_shared.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/observabilityShared title: "observabilityShared" image: https://source.unsplash.com/400x175/?github description: API docs for the observabilityShared plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityShared'] --- import observabilitySharedObj from './observability_shared.devdocs.json'; diff --git a/api_docs/osquery.mdx b/api_docs/osquery.mdx index 538c916debe52..5e0d4b3d893cd 100644 --- a/api_docs/osquery.mdx +++ b/api_docs/osquery.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/osquery title: "osquery" image: https://source.unsplash.com/400x175/?github description: API docs for the osquery plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'osquery'] --- import osqueryObj from './osquery.devdocs.json'; diff --git a/api_docs/painless_lab.mdx b/api_docs/painless_lab.mdx index da0e1e4ca352d..36926253ba21f 100644 --- a/api_docs/painless_lab.mdx +++ b/api_docs/painless_lab.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/painlessLab title: "painlessLab" image: https://source.unsplash.com/400x175/?github description: API docs for the painlessLab plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'painlessLab'] --- import painlessLabObj from './painless_lab.devdocs.json'; diff --git a/api_docs/plugin_directory.mdx b/api_docs/plugin_directory.mdx index 93f73f62f14d0..ddc235e3866a5 100644 --- a/api_docs/plugin_directory.mdx +++ b/api_docs/plugin_directory.mdx @@ -7,7 +7,7 @@ id: kibDevDocsPluginDirectory slug: /kibana-dev-docs/api-meta/plugin-api-directory title: Directory description: Directory of public APIs available through plugins or packages. -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,24 +15,24 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 780 | 669 | 42 | +| 781 | 670 | 42 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 47129 | 239 | 35821 | 1836 | +| 47272 | 239 | 35967 | 1839 | ## Plugin Directory | Plugin name           | Maintaining team | Description | API Cnt | Any Cnt | Missing
comments | Missing
exports | |--------------|----------------|-----------|--------------|----------|---------------|--------| -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 296 | 0 | 290 | 32 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 298 | 0 | 292 | 32 | | | [@elastic/appex-sharedux @elastic/kibana-management](https://github.com/orgs/elastic/teams/appex-sharedux ) | - | 2 | 0 | 2 | 0 | | | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | - | 4 | 0 | 4 | 1 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | AIOps plugin maintained by ML team. | 67 | 0 | 4 | 1 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 857 | 1 | 825 | 54 | -| | [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/teams/obs-ux-infra_services-team) | The user interface for Elastic APM | 29 | 0 | 29 | 127 | +| | [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/teams/obs-ux-infra_services-team) | The user interface for Elastic APM | 29 | 0 | 29 | 125 | | | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | - | 9 | 0 | 9 | 0 | | | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | Asset manager plugin for entity assets (inventory, topology, etc) | 9 | 0 | 9 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 9 | 0 | 9 | 0 | @@ -48,7 +48,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | cloudFullStory | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | When Kibana runs on Elastic Cloud, this plugin registers FullStory as a shipper for telemetry. | 0 | 0 | 0 | 0 | | cloudLinks | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | Adds the links to the Elastic Cloud console | 0 | 0 | 0 | 0 | | | [@elastic/kibana-cloud-security-posture](https://github.com/orgs/elastic/teams/kibana-cloud-security-posture) | The cloud security posture plugin | 14 | 0 | 2 | 2 | -| | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 31 | 0 | 23 | 0 | +| | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 40 | 0 | 30 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Content management app | 149 | 0 | 125 | 6 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | The Controls Plugin contains embeddable components intended to create a simple query interface for end users, and a powerful editing suite that allows dashboard authors to build controls | 340 | 0 | 332 | 20 | | crossClusterReplication | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 0 | 0 | 0 | 0 | @@ -56,12 +56,12 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | Add custom data integrations so they can be displayed in the Fleet integrations app | 271 | 0 | 252 | 1 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | Adds the Dashboard app to Kibana | 108 | 0 | 105 | 12 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 54 | 0 | 51 | 0 | -| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3285 | 31 | 2619 | 23 | +| | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 3288 | 31 | 2622 | 23 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin provides the ability to create data views via a modal flyout inside Kibana apps | 35 | 0 | 25 | 5 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Reusable data view field editor across Kibana | 72 | 0 | 33 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data view management app | 2 | 0 | 2 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | Data services are useful for searching and querying data from Elasticsearch. Helpful utilities include: a re-usable react query bar, KQL autocomplete, async search, Data Views (Index Patterns) and field formatters. | 1070 | 0 | 370 | 4 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | The Data Visualizer tools help you understand your data, by analyzing the metrics and fields in a log file or an existing Elasticsearch index. | 31 | 3 | 25 | 1 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | The Data Visualizer tools help you understand your data, by analyzing the metrics and fields in a log file or an existing Elasticsearch index. | 31 | 3 | 25 | 3 | | | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | This plugin introduces the concept of dataset quality, where users can easily get an overview on the datasets they have. | 10 | 0 | 10 | 5 | | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 15 | 0 | 9 | 2 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains the Discover application and the saved search embeddable. | 156 | 0 | 108 | 27 | @@ -96,7 +96,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | The file upload plugin contains components and services for uploading a file, analyzing its data, and then importing the data into an Elasticsearch index. Supported file types include CSV, TSV, newline-delimited JSON and GeoJSON. | 84 | 0 | 84 | 8 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | File upload, download, sharing, and serving over HTTP implementation in Kibana. | 240 | 0 | 24 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Simple UI for managing files in Kibana | 2 | 0 | 2 | 0 | -| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1297 | 5 | 1176 | 66 | +| | [@elastic/fleet](https://github.com/orgs/elastic/teams/fleet) | - | 1298 | 5 | 1177 | 66 | | ftrApis | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 0 | 0 | 0 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 72 | 0 | 14 | 5 | | globalSearchBar | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 0 | 0 | 0 | 0 | @@ -104,7 +104,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | graph | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 0 | 0 | 0 | 0 | | grokdebugger | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 0 | 0 | 0 | 0 | | | [@elastic/platform-onboarding](https://github.com/orgs/elastic/teams/platform-onboarding) | Guided onboarding framework | 59 | 0 | 58 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 151 | 0 | 111 | 1 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 149 | 0 | 111 | 1 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Image embeddable | 1 | 0 | 1 | 0 | | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 4 | 0 | 4 | 0 | | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 223 | 0 | 218 | 1 | @@ -131,7 +131,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 275 | 0 | 274 | 31 | | | [@elastic/kibana-gis](https://github.com/orgs/elastic/teams/kibana-gis) | - | 60 | 0 | 60 | 0 | | | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | Exposes utilities for accessing metrics data | 104 | 8 | 104 | 6 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the machine learning features provided by Elastic. | 152 | 3 | 66 | 97 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the machine learning features provided by Elastic. | 153 | 3 | 66 | 100 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 2 | 0 | 2 | 0 | | | [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/teams/obs-ux-infra_services-team) | - | 15 | 3 | 13 | 1 | | | [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/teams/obs-ux-infra_services-team) | - | 9 | 0 | 9 | 0 | @@ -140,7 +140,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 1 | | | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 670 | 2 | 661 | 14 | -| | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 246 | 1 | 244 | 25 | +| | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 251 | 1 | 249 | 25 | | | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 2 | 0 | 2 | 0 | | | [@elastic/obs-ai-assistant](https://github.com/orgs/elastic/teams/obs-ai-assistant) | - | 2 | 0 | 2 | 0 | | | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | This plugin exposes and registers observability log consumption features. | 21 | 0 | 21 | 1 | @@ -166,11 +166,11 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 32 | 0 | 13 | 0 | | | [@elastic/kibana-reporting-services](https://github.com/orgs/elastic/teams/kibana-reporting-services) | Kibana Screenshotting Plugin | 32 | 0 | 8 | 4 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Plugin hosting shared features for connectors | 19 | 0 | 19 | 3 | -| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Plugin to provide access to and rendering of python notebooks for use in the persistent developer console. | 4 | 0 | 4 | 0 | +| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | Plugin to provide access to and rendering of python notebooks for use in the persistent developer console. | 6 | 0 | 6 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 15 | 0 | 9 | 1 | | searchprofiler | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 0 | 0 | 0 | 0 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides authentication and authorization features, and exposes functionality to understand the capabilities of the currently authenticated user. | 409 | 0 | 199 | 2 | -| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 196 | 0 | 124 | 37 | +| | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 188 | 0 | 119 | 36 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | ESS customizations for Security Solution. | 6 | 0 | 6 | 0 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | Serverless customizations for security. | 7 | 0 | 7 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | The core Serverless plugin, providing APIs to Serverless Project plugins. | 25 | 0 | 24 | 0 | @@ -181,8 +181,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 61 | 0 | 61 | 1 | | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 22 | 1 | 22 | 1 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | This plugin provides the Spaces feature, which allows saved objects to be organized into meaningful categories. | 256 | 0 | 65 | 0 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 23 | 0 | 23 | 3 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 4 | 0 | 4 | 0 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 25 | 0 | 25 | 3 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 10 | 0 | 10 | 0 | | synthetics | [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/teams/obs-ux-infra_services-team) | This plugin visualizes data from Synthetics and Heartbeat, and integrates with other Observability solutions. | 0 | 0 | 0 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 102 | 0 | 59 | 5 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 45 | 0 | 1 | 0 | @@ -194,7 +194,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 240 | 1 | 196 | 17 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | This plugin provides access to the transforms features provided by Elastic. Transforms enable you to convert existing Elasticsearch indices into summarized indices, which provide opportunities for new insights and analytics. | 4 | 0 | 4 | 1 | | translations | [@elastic/kibana-localization](https://github.com/orgs/elastic/teams/kibana-localization) | - | 0 | 0 | 0 | 0 | -| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 593 | 1 | 567 | 60 | +| | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 595 | 1 | 569 | 60 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Adds UI Actions service to Kibana | 149 | 0 | 103 | 9 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | Extends UI Actions plugin with more functionality | 212 | 0 | 145 | 11 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | This plugin contains services reliant on the plugin lifecycle for the unified doc viewer component (see @kbn/unified-doc-viewer). | 10 | 0 | 7 | 2 | @@ -392,7 +392,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 112 | 1 | 0 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 354 | 1 | 5 | 2 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 11 | 0 | 11 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 223 | 0 | 180 | 11 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 224 | 0 | 181 | 11 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 5 | 0 | 5 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 2 | 0 | 1 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 6 | 0 | 6 | 0 | @@ -473,13 +473,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 19 | 0 | 11 | 0 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 13 | 0 | 5 | 0 | | | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | - | 35 | 0 | 34 | 0 | -| | [@elastic/security-generative-ai](https://github.com/orgs/elastic/teams/security-generative-ai) | - | 153 | 0 | 131 | 8 | +| | [@elastic/security-generative-ai](https://github.com/orgs/elastic/teams/security-generative-ai) | - | 155 | 0 | 135 | 8 | | | [@elastic/security-generative-ai](https://github.com/orgs/elastic/teams/security-generative-ai) | - | 225 | 0 | 211 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 52 | 0 | 37 | 7 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 32 | 0 | 19 | 1 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 3 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 263 | 1 | 202 | 15 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 26 | 0 | 26 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 26 | 0 | 26 | 1 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 2 | 0 | 1 | 0 | | | [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql) | - | 63 | 1 | 63 | 6 | | | [@elastic/kibana-esql](https://github.com/orgs/elastic/teams/kibana-esql) | - | 21 | 0 | 19 | 0 | @@ -509,6 +509,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 9 | 0 | 9 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 52 | 12 | 43 | 0 | | | [@elastic/obs-knowledge-team](https://github.com/orgs/elastic/teams/obs-knowledge-team) | - | 59 | 0 | 59 | 4 | +| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 44 | 0 | 44 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 13 | 0 | 13 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 86 | 0 | 78 | 6 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 41 | 2 | 35 | 0 | @@ -577,7 +578,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 1 | 0 | 1 | 0 | | | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 65 | 0 | 61 | 1 | -| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 177 | 0 | 148 | 6 | +| | [@elastic/kibana-presentation](https://github.com/orgs/elastic/teams/kibana-presentation) | - | 178 | 0 | 149 | 6 | | | [@elastic/obs-ux-infra_services-team](https://github.com/orgs/elastic/teams/obs-ux-infra_services-team) | - | 161 | 0 | 48 | 0 | | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 13 | 0 | 7 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 22 | 0 | 9 | 0 | @@ -608,7 +609,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/security-detections-response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 123 | 0 | 120 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 2 | 0 | 2 | 0 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 81 | 0 | 81 | 0 | -| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 3208 | 0 | 3208 | 0 | +| | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 3216 | 0 | 3216 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 18 | 1 | 17 | 1 | | | [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/teams/enterprise-search-frontend) | - | 25 | 0 | 25 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 20 | 0 | 18 | 1 | @@ -617,23 +618,23 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 53 | 0 | 15 | 0 | | | [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana-security) | - | 213 | 0 | 114 | 0 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 14 | 0 | 14 | 6 | -| | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 52 | 0 | 48 | 0 | +| | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 54 | 0 | 49 | 0 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 29 | 0 | 23 | 0 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 2 | 0 | 0 | 0 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 56 | 1 | 41 | 1 | | | [@elastic/security-threat-hunting-investigations](https://github.com/orgs/elastic/teams/security-threat-hunting-investigations) | - | 94 | 0 | 71 | 7 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 341 | 1 | 337 | 32 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 87 | 0 | 76 | 1 | -| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 105 | 0 | 94 | 1 | +| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 106 | 0 | 95 | 1 | | | [@elastic/security-threat-hunting-explore](https://github.com/orgs/elastic/teams/security-threat-hunting-explore) | - | 17 | 0 | 12 | 8 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 15 | 0 | 7 | 0 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 147 | 0 | 125 | 0 | -| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 534 | 0 | 521 | 0 | +| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 538 | 0 | 525 | 0 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 68 | 0 | 38 | 0 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 28 | 0 | 21 | 0 | -| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 69 | 0 | 65 | 0 | +| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 103 | 0 | 99 | 0 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 35 | 0 | 23 | 0 | -| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 71 | 0 | 58 | 0 | +| | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 94 | 0 | 81 | 0 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 207 | 0 | 160 | 0 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 28 | 0 | 25 | 0 | | | [@elastic/security-detection-engine](https://github.com/orgs/elastic/teams/security-detection-engine) | - | 120 | 0 | 116 | 0 | diff --git a/api_docs/presentation_panel.mdx b/api_docs/presentation_panel.mdx index 323665a4dc4f2..d990c09f84cb7 100644 --- a/api_docs/presentation_panel.mdx +++ b/api_docs/presentation_panel.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationPanel title: "presentationPanel" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationPanel plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationPanel'] --- import presentationPanelObj from './presentation_panel.devdocs.json'; diff --git a/api_docs/presentation_util.mdx b/api_docs/presentation_util.mdx index 8edb4b1dd1478..3193d4fc8141c 100644 --- a/api_docs/presentation_util.mdx +++ b/api_docs/presentation_util.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/presentationUtil title: "presentationUtil" image: https://source.unsplash.com/400x175/?github description: API docs for the presentationUtil plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'presentationUtil'] --- import presentationUtilObj from './presentation_util.devdocs.json'; diff --git a/api_docs/profiling.mdx b/api_docs/profiling.mdx index 4922a5cbe430e..ef2551054b3ce 100644 --- a/api_docs/profiling.mdx +++ b/api_docs/profiling.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profiling title: "profiling" image: https://source.unsplash.com/400x175/?github description: API docs for the profiling plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profiling'] --- import profilingObj from './profiling.devdocs.json'; diff --git a/api_docs/profiling_data_access.mdx b/api_docs/profiling_data_access.mdx index 80501be06de6f..298a28dc2943b 100644 --- a/api_docs/profiling_data_access.mdx +++ b/api_docs/profiling_data_access.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/profilingDataAccess title: "profilingDataAccess" image: https://source.unsplash.com/400x175/?github description: API docs for the profilingDataAccess plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'profilingDataAccess'] --- import profilingDataAccessObj from './profiling_data_access.devdocs.json'; diff --git a/api_docs/remote_clusters.mdx b/api_docs/remote_clusters.mdx index 797d4dee81bb9..c97a7c18d124f 100644 --- a/api_docs/remote_clusters.mdx +++ b/api_docs/remote_clusters.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/remoteClusters title: "remoteClusters" image: https://source.unsplash.com/400x175/?github description: API docs for the remoteClusters plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'remoteClusters'] --- import remoteClustersObj from './remote_clusters.devdocs.json'; diff --git a/api_docs/reporting.mdx b/api_docs/reporting.mdx index e7d0bbc37119f..e548d0d560056 100644 --- a/api_docs/reporting.mdx +++ b/api_docs/reporting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/reporting title: "reporting" image: https://source.unsplash.com/400x175/?github description: API docs for the reporting plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'reporting'] --- import reportingObj from './reporting.devdocs.json'; diff --git a/api_docs/rollup.mdx b/api_docs/rollup.mdx index 2515010789063..7e9ad4611f368 100644 --- a/api_docs/rollup.mdx +++ b/api_docs/rollup.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/rollup title: "rollup" image: https://source.unsplash.com/400x175/?github description: API docs for the rollup plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'rollup'] --- import rollupObj from './rollup.devdocs.json'; diff --git a/api_docs/rule_registry.mdx b/api_docs/rule_registry.mdx index 1ef29ea0584ac..448930b084365 100644 --- a/api_docs/rule_registry.mdx +++ b/api_docs/rule_registry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ruleRegistry title: "ruleRegistry" image: https://source.unsplash.com/400x175/?github description: API docs for the ruleRegistry plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ruleRegistry'] --- import ruleRegistryObj from './rule_registry.devdocs.json'; diff --git a/api_docs/runtime_fields.mdx b/api_docs/runtime_fields.mdx index db1b51b99c095..022a8752eec6d 100644 --- a/api_docs/runtime_fields.mdx +++ b/api_docs/runtime_fields.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/runtimeFields title: "runtimeFields" image: https://source.unsplash.com/400x175/?github description: API docs for the runtimeFields plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index bfab1cb6652bc..bf1e79633a7fe 100644 --- a/api_docs/saved_objects.mdx +++ b/api_docs/saved_objects.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjects title: "savedObjects" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjects plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index eb0ab049c714c..439ca744ace44 100644 --- a/api_docs/saved_objects_finder.mdx +++ b/api_docs/saved_objects_finder.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsFinder title: "savedObjectsFinder" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsFinder plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index 5a86c44fa6ce6..87470c3d51e0d 100644 --- a/api_docs/saved_objects_management.mdx +++ b/api_docs/saved_objects_management.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsManagement title: "savedObjectsManagement" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsManagement plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsManagement'] --- import savedObjectsManagementObj from './saved_objects_management.devdocs.json'; diff --git a/api_docs/saved_objects_tagging.mdx b/api_docs/saved_objects_tagging.mdx index 68049a8f26750..b592985ddd880 100644 --- a/api_docs/saved_objects_tagging.mdx +++ b/api_docs/saved_objects_tagging.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTagging title: "savedObjectsTagging" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTagging plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTagging'] --- import savedObjectsTaggingObj from './saved_objects_tagging.devdocs.json'; diff --git a/api_docs/saved_objects_tagging_oss.mdx b/api_docs/saved_objects_tagging_oss.mdx index 0c876b2fb4b8f..1ada0a04d0db7 100644 --- a/api_docs/saved_objects_tagging_oss.mdx +++ b/api_docs/saved_objects_tagging_oss.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedObjectsTaggingOss title: "savedObjectsTaggingOss" image: https://source.unsplash.com/400x175/?github description: API docs for the savedObjectsTaggingOss plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsTaggingOss'] --- import savedObjectsTaggingOssObj from './saved_objects_tagging_oss.devdocs.json'; diff --git a/api_docs/saved_search.mdx b/api_docs/saved_search.mdx index 068ef511278d1..b801f2890f17b 100644 --- a/api_docs/saved_search.mdx +++ b/api_docs/saved_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/savedSearch title: "savedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the savedSearch plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedSearch'] --- import savedSearchObj from './saved_search.devdocs.json'; diff --git a/api_docs/screenshot_mode.mdx b/api_docs/screenshot_mode.mdx index f9f150cc0a3c2..0e1d4f69851d3 100644 --- a/api_docs/screenshot_mode.mdx +++ b/api_docs/screenshot_mode.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotMode title: "screenshotMode" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotMode plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotMode'] --- import screenshotModeObj from './screenshot_mode.devdocs.json'; diff --git a/api_docs/screenshotting.mdx b/api_docs/screenshotting.mdx index c49c9172216fd..020c3e547c817 100644 --- a/api_docs/screenshotting.mdx +++ b/api_docs/screenshotting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/screenshotting title: "screenshotting" image: https://source.unsplash.com/400x175/?github description: API docs for the screenshotting plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'screenshotting'] --- import screenshottingObj from './screenshotting.devdocs.json'; diff --git a/api_docs/search_connectors.mdx b/api_docs/search_connectors.mdx index 4708af26f1c3c..e43290905d4ff 100644 --- a/api_docs/search_connectors.mdx +++ b/api_docs/search_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchConnectors title: "searchConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the searchConnectors plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchConnectors'] --- import searchConnectorsObj from './search_connectors.devdocs.json'; diff --git a/api_docs/search_notebooks.devdocs.json b/api_docs/search_notebooks.devdocs.json index 6603e14c71417..88ebf531e43e9 100644 --- a/api_docs/search_notebooks.devdocs.json +++ b/api_docs/search_notebooks.devdocs.json @@ -6,7 +6,35 @@ "interfaces": [], "enums": [], "misc": [], - "objects": [] + "objects": [], + "setup": { + "parentPluginId": "searchNotebooks", + "id": "def-public.SearchNotebooksPluginSetup", + "type": "Interface", + "tags": [], + "label": "SearchNotebooksPluginSetup", + "description": [], + "path": "x-pack/plugins/search_notebooks/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "lifecycle": "setup", + "initialIsOpen": true + }, + "start": { + "parentPluginId": "searchNotebooks", + "id": "def-public.SearchNotebooksPluginStart", + "type": "Interface", + "tags": [], + "label": "SearchNotebooksPluginStart", + "description": [], + "path": "x-pack/plugins/search_notebooks/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "lifecycle": "start", + "initialIsOpen": true + } }, "server": { "classes": [], diff --git a/api_docs/search_notebooks.mdx b/api_docs/search_notebooks.mdx index d524fd4129db4..67ffdaa009b6e 100644 --- a/api_docs/search_notebooks.mdx +++ b/api_docs/search_notebooks.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchNotebooks title: "searchNotebooks" image: https://source.unsplash.com/400x175/?github description: API docs for the searchNotebooks plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchNotebooks'] --- import searchNotebooksObj from './search_notebooks.devdocs.json'; @@ -21,7 +21,15 @@ Contact [@elastic/enterprise-search-frontend](https://github.com/orgs/elastic/te | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 4 | 0 | 4 | 0 | +| 6 | 0 | 6 | 0 | + +## Client + +### Setup + + +### Start + ## Server diff --git a/api_docs/search_playground.mdx b/api_docs/search_playground.mdx index 4df79b206b2de..c75ddbfd01707 100644 --- a/api_docs/search_playground.mdx +++ b/api_docs/search_playground.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/searchPlayground title: "searchPlayground" image: https://source.unsplash.com/400x175/?github description: API docs for the searchPlayground plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchPlayground'] --- import searchPlaygroundObj from './search_playground.devdocs.json'; diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 69e68166cc2cc..68539e289e219 100644 --- a/api_docs/security.mdx +++ b/api_docs/security.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/security title: "security" image: https://source.unsplash.com/400x175/?github description: API docs for the security plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; diff --git a/api_docs/security_solution.devdocs.json b/api_docs/security_solution.devdocs.json index d319f5cdaf404..22d586327971a 100644 --- a/api_docs/security_solution.devdocs.json +++ b/api_docs/security_solution.devdocs.json @@ -51,89 +51,6 @@ "deprecated": false, "trackAdoption": false, "children": [ - { - "parentPluginId": "securitySolution", - "id": "def-public.Plugin.kibanaBranch", - "type": "string", - "tags": [], - "label": "kibanaBranch", - "description": [ - "\nThe current Kibana branch. e.g. 'main'" - ], - "path": "x-pack/plugins/security_solution/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "securitySolution", - "id": "def-public.Plugin.kibanaVersion", - "type": "string", - "tags": [], - "label": "kibanaVersion", - "description": [ - "\nThe current Kibana version. e.g. '8.0.0' or '8.0.0-SNAPSHOT'" - ], - "path": "x-pack/plugins/security_solution/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "securitySolution", - "id": "def-public.Plugin.buildFlavor", - "type": "string", - "tags": [], - "label": "buildFlavor", - "description": [ - "\nWhether the environment is 'serverless' or 'traditional'" - ], - "path": "x-pack/plugins/security_solution/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "securitySolution", - "id": "def-public.Plugin.prebuiltRulesPackageVersion", - "type": "string", - "tags": [], - "label": "prebuiltRulesPackageVersion", - "description": [ - "\nFor internal use. Specify which version of the Detection Rules fleet package to install\nwhen upgrading rules. If not provided, the latest compatible package will be installed,\nor if running from a dev environment or -SNAPSHOT build, the latest pre-release package\nwill be used (if fleet is available or not within an airgapped environment).\n\nNote: This is for `upgrade only`, which occurs by means of the `useUpgradeSecurityPackages`\nhook when navigating to a Security Solution page. The package version specified in\n`fleet_packages.json` in project root will always be installed first on Kibana start if\nthe package is not already installed." - ], - "signature": [ - "string | undefined" - ], - "path": "x-pack/plugins/security_solution/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "securitySolution", - "id": "def-public.Plugin.experimentalFeatures", - "type": "Object", - "tags": [], - "label": "experimentalFeatures", - "description": [], - "signature": [ - "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly chartEmbeddablesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly automatedProcessActionsEnabled: boolean; readonly responseActionsSentinelOneV1Enabled: boolean; readonly responseActionsSentinelOneV2Enabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantModelEvaluation: boolean; readonly newUserDetailsFlyout: boolean; readonly newUserDetailsFlyoutManagedUser: boolean; readonly newHostDetailsFlyout: boolean; readonly riskScoringPersistence: boolean; readonly riskScoringRoutesEnabled: boolean; readonly esqlRulesDisabled: boolean; readonly protectionUpdatesEnabled: boolean; readonly disableTimelineSaveTour: boolean; readonly riskEnginePrivilegesRouteEnabled: boolean; readonly alertSuppressionForNewTermsRuleEnabled: boolean; readonly sentinelOneDataInAnalyzerEnabled: boolean; readonly sentinelOneManualHostActionsEnabled: boolean; readonly crowdstrikeDataInAnalyzerEnabled: boolean; readonly jsonPrebuiltRulesDiffingEnabled: boolean; readonly timelineEsqlTabDisabled: boolean; readonly unifiedComponentsInTimelineEnabled: boolean; readonly analyzerDatePickersAndSourcererDisabled: boolean; readonly perFieldPrebuiltRulesDiffingEnabled: boolean; readonly malwareOnWriteScanOptionAvailable: boolean; }" - ], - "path": "x-pack/plugins/security_solution/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "securitySolution", - "id": "def-public.Plugin.configSettings", - "type": "Object", - "tags": [], - "label": "configSettings", - "description": [], - "signature": [ - "ConfigSettings" - ], - "path": "x-pack/plugins/security_solution/public/plugin.tsx", - "deprecated": false, - "trackAdoption": false - }, { "parentPluginId": "securitySolution", "id": "def-public.Plugin.Unnamed", @@ -357,7 +274,7 @@ "tags": [], "label": "registerAppLinks", "description": [ - "\nRegister deepLinks and appUpdater for all app links, to change deepLinks as needed when licensing changes." + "\nRegisters deepLinks and appUpdater for appLinks using license." ], "signature": [ "(core: ", @@ -568,7 +485,7 @@ "\nExperimental flag needed to enable the link" ], "signature": [ - "\"assistantModelEvaluation\" | \"tGridEnabled\" | \"tGridEventRenderedViewEnabled\" | \"excludePoliciesInFilterEnabled\" | \"kubernetesEnabled\" | \"chartEmbeddablesEnabled\" | \"donutChartEmbeddablesEnabled\" | \"previewTelemetryUrlEnabled\" | \"insightsRelatedAlertsByProcessAncestry\" | \"extendedRuleExecutionLoggingEnabled\" | \"socTrendsEnabled\" | \"responseActionsEnabled\" | \"endpointResponseActionsEnabled\" | \"responseActionUploadEnabled\" | \"automatedProcessActionsEnabled\" | \"responseActionsSentinelOneV1Enabled\" | \"responseActionsSentinelOneV2Enabled\" | \"alertsPageChartsEnabled\" | \"alertTypeEnabled\" | \"expandableFlyoutInCreateRuleEnabled\" | \"expandableEventFlyoutEnabled\" | \"expandableTimelineFlyoutEnabled\" | \"alertsPageFiltersEnabled\" | \"newUserDetailsFlyout\" | \"newUserDetailsFlyoutManagedUser\" | \"newHostDetailsFlyout\" | \"riskScoringPersistence\" | \"riskScoringRoutesEnabled\" | \"esqlRulesDisabled\" | \"protectionUpdatesEnabled\" | \"disableTimelineSaveTour\" | \"riskEnginePrivilegesRouteEnabled\" | \"alertSuppressionForNewTermsRuleEnabled\" | \"sentinelOneDataInAnalyzerEnabled\" | \"sentinelOneManualHostActionsEnabled\" | \"crowdstrikeDataInAnalyzerEnabled\" | \"jsonPrebuiltRulesDiffingEnabled\" | \"timelineEsqlTabDisabled\" | \"unifiedComponentsInTimelineEnabled\" | \"analyzerDatePickersAndSourcererDisabled\" | \"perFieldPrebuiltRulesDiffingEnabled\" | \"malwareOnWriteScanOptionAvailable\" | undefined" + "\"assistantModelEvaluation\" | \"tGridEnabled\" | \"tGridEventRenderedViewEnabled\" | \"excludePoliciesInFilterEnabled\" | \"kubernetesEnabled\" | \"donutChartEmbeddablesEnabled\" | \"previewTelemetryUrlEnabled\" | \"insightsRelatedAlertsByProcessAncestry\" | \"extendedRuleExecutionLoggingEnabled\" | \"socTrendsEnabled\" | \"responseActionsEnabled\" | \"endpointResponseActionsEnabled\" | \"responseActionUploadEnabled\" | \"automatedProcessActionsEnabled\" | \"responseActionsSentinelOneV1Enabled\" | \"responseActionsSentinelOneV2Enabled\" | \"alertsPageChartsEnabled\" | \"alertTypeEnabled\" | \"expandableFlyoutInCreateRuleEnabled\" | \"expandableEventFlyoutEnabled\" | \"expandableTimelineFlyoutEnabled\" | \"alertsPageFiltersEnabled\" | \"newUserDetailsFlyout\" | \"newUserDetailsFlyoutManagedUser\" | \"newHostDetailsFlyout\" | \"riskScoringPersistence\" | \"riskScoringRoutesEnabled\" | \"esqlRulesDisabled\" | \"protectionUpdatesEnabled\" | \"disableTimelineSaveTour\" | \"riskEnginePrivilegesRouteEnabled\" | \"alertSuppressionForNewTermsRuleEnabled\" | \"sentinelOneDataInAnalyzerEnabled\" | \"sentinelOneManualHostActionsEnabled\" | \"crowdstrikeDataInAnalyzerEnabled\" | \"jsonPrebuiltRulesDiffingEnabled\" | \"timelineEsqlTabDisabled\" | \"unifiedComponentsInTimelineEnabled\" | \"analyzerDatePickersAndSourcererDisabled\" | \"perFieldPrebuiltRulesDiffingEnabled\" | \"malwareOnWriteScanOptionAvailable\" | \"aiAssistantFlyoutMode\" | \"valueListItemsModalEnabled\" | undefined" ], "path": "x-pack/plugins/security_solution/public/common/links/types.ts", "deprecated": false, @@ -648,7 +565,7 @@ "\nExperimental flag needed to disable the link. Opposite of experimentalKey" ], "signature": [ - "\"assistantModelEvaluation\" | \"tGridEnabled\" | \"tGridEventRenderedViewEnabled\" | \"excludePoliciesInFilterEnabled\" | \"kubernetesEnabled\" | \"chartEmbeddablesEnabled\" | \"donutChartEmbeddablesEnabled\" | \"previewTelemetryUrlEnabled\" | \"insightsRelatedAlertsByProcessAncestry\" | \"extendedRuleExecutionLoggingEnabled\" | \"socTrendsEnabled\" | \"responseActionsEnabled\" | \"endpointResponseActionsEnabled\" | \"responseActionUploadEnabled\" | \"automatedProcessActionsEnabled\" | \"responseActionsSentinelOneV1Enabled\" | \"responseActionsSentinelOneV2Enabled\" | \"alertsPageChartsEnabled\" | \"alertTypeEnabled\" | \"expandableFlyoutInCreateRuleEnabled\" | \"expandableEventFlyoutEnabled\" | \"expandableTimelineFlyoutEnabled\" | \"alertsPageFiltersEnabled\" | \"newUserDetailsFlyout\" | \"newUserDetailsFlyoutManagedUser\" | \"newHostDetailsFlyout\" | \"riskScoringPersistence\" | \"riskScoringRoutesEnabled\" | \"esqlRulesDisabled\" | \"protectionUpdatesEnabled\" | \"disableTimelineSaveTour\" | \"riskEnginePrivilegesRouteEnabled\" | \"alertSuppressionForNewTermsRuleEnabled\" | \"sentinelOneDataInAnalyzerEnabled\" | \"sentinelOneManualHostActionsEnabled\" | \"crowdstrikeDataInAnalyzerEnabled\" | \"jsonPrebuiltRulesDiffingEnabled\" | \"timelineEsqlTabDisabled\" | \"unifiedComponentsInTimelineEnabled\" | \"analyzerDatePickersAndSourcererDisabled\" | \"perFieldPrebuiltRulesDiffingEnabled\" | \"malwareOnWriteScanOptionAvailable\" | undefined" + "\"assistantModelEvaluation\" | \"tGridEnabled\" | \"tGridEventRenderedViewEnabled\" | \"excludePoliciesInFilterEnabled\" | \"kubernetesEnabled\" | \"donutChartEmbeddablesEnabled\" | \"previewTelemetryUrlEnabled\" | \"insightsRelatedAlertsByProcessAncestry\" | \"extendedRuleExecutionLoggingEnabled\" | \"socTrendsEnabled\" | \"responseActionsEnabled\" | \"endpointResponseActionsEnabled\" | \"responseActionUploadEnabled\" | \"automatedProcessActionsEnabled\" | \"responseActionsSentinelOneV1Enabled\" | \"responseActionsSentinelOneV2Enabled\" | \"alertsPageChartsEnabled\" | \"alertTypeEnabled\" | \"expandableFlyoutInCreateRuleEnabled\" | \"expandableEventFlyoutEnabled\" | \"expandableTimelineFlyoutEnabled\" | \"alertsPageFiltersEnabled\" | \"newUserDetailsFlyout\" | \"newUserDetailsFlyoutManagedUser\" | \"newHostDetailsFlyout\" | \"riskScoringPersistence\" | \"riskScoringRoutesEnabled\" | \"esqlRulesDisabled\" | \"protectionUpdatesEnabled\" | \"disableTimelineSaveTour\" | \"riskEnginePrivilegesRouteEnabled\" | \"alertSuppressionForNewTermsRuleEnabled\" | \"sentinelOneDataInAnalyzerEnabled\" | \"sentinelOneManualHostActionsEnabled\" | \"crowdstrikeDataInAnalyzerEnabled\" | \"jsonPrebuiltRulesDiffingEnabled\" | \"timelineEsqlTabDisabled\" | \"unifiedComponentsInTimelineEnabled\" | \"analyzerDatePickersAndSourcererDisabled\" | \"perFieldPrebuiltRulesDiffingEnabled\" | \"malwareOnWriteScanOptionAvailable\" | \"aiAssistantFlyoutMode\" | \"valueListItemsModalEnabled\" | undefined" ], "path": "x-pack/plugins/security_solution/public/common/links/types.ts", "deprecated": false, @@ -793,6 +710,22 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "securitySolution", + "id": "def-public.LinkItem.sideNavFooter", + "type": "CompoundType", + "tags": [], + "label": "sideNavFooter", + "description": [ + "\nDisplays the link in the footer of the side navigation. Defaults to false." + ], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/security_solution/public/common/links/types.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "securitySolution", "id": "def-public.LinkItem.sideNavDisabled", @@ -2015,79 +1948,11 @@ "label": "experimentalFeatures", "description": [], "signature": [ - "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly chartEmbeddablesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly automatedProcessActionsEnabled: boolean; readonly responseActionsSentinelOneV1Enabled: boolean; readonly responseActionsSentinelOneV2Enabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantModelEvaluation: boolean; readonly newUserDetailsFlyout: boolean; readonly newUserDetailsFlyoutManagedUser: boolean; readonly newHostDetailsFlyout: boolean; readonly riskScoringPersistence: boolean; readonly riskScoringRoutesEnabled: boolean; readonly esqlRulesDisabled: boolean; readonly protectionUpdatesEnabled: boolean; readonly disableTimelineSaveTour: boolean; readonly riskEnginePrivilegesRouteEnabled: boolean; readonly alertSuppressionForNewTermsRuleEnabled: boolean; readonly sentinelOneDataInAnalyzerEnabled: boolean; readonly sentinelOneManualHostActionsEnabled: boolean; readonly crowdstrikeDataInAnalyzerEnabled: boolean; readonly jsonPrebuiltRulesDiffingEnabled: boolean; readonly timelineEsqlTabDisabled: boolean; readonly unifiedComponentsInTimelineEnabled: boolean; readonly analyzerDatePickersAndSourcererDisabled: boolean; readonly perFieldPrebuiltRulesDiffingEnabled: boolean; readonly malwareOnWriteScanOptionAvailable: boolean; }" + "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly automatedProcessActionsEnabled: boolean; readonly responseActionsSentinelOneV1Enabled: boolean; readonly responseActionsSentinelOneV2Enabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantModelEvaluation: boolean; readonly newUserDetailsFlyout: boolean; readonly newUserDetailsFlyoutManagedUser: boolean; readonly newHostDetailsFlyout: boolean; readonly riskScoringPersistence: boolean; readonly riskScoringRoutesEnabled: boolean; readonly esqlRulesDisabled: boolean; readonly protectionUpdatesEnabled: boolean; readonly disableTimelineSaveTour: boolean; readonly riskEnginePrivilegesRouteEnabled: boolean; readonly alertSuppressionForNewTermsRuleEnabled: boolean; readonly sentinelOneDataInAnalyzerEnabled: boolean; readonly sentinelOneManualHostActionsEnabled: boolean; readonly crowdstrikeDataInAnalyzerEnabled: boolean; readonly jsonPrebuiltRulesDiffingEnabled: boolean; readonly timelineEsqlTabDisabled: boolean; readonly unifiedComponentsInTimelineEnabled: boolean; readonly analyzerDatePickersAndSourcererDisabled: boolean; readonly perFieldPrebuiltRulesDiffingEnabled: boolean; readonly malwareOnWriteScanOptionAvailable: boolean; readonly aiAssistantFlyoutMode: boolean; readonly valueListItemsModalEnabled: boolean; }" ], "path": "x-pack/plugins/security_solution/public/types.ts", "deprecated": false, "trackAdoption": false - }, - { - "parentPluginId": "securitySolution", - "id": "def-public.PluginSetup.setAppLinksSwitcher", - "type": "Function", - "tags": [], - "label": "setAppLinksSwitcher", - "description": [], - "signature": [ - "(appLinksSwitcher: ", - "AppLinksSwitcher", - ") => void" - ], - "path": "x-pack/plugins/security_solution/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "securitySolution", - "id": "def-public.PluginSetup.setAppLinksSwitcher.$1", - "type": "Function", - "tags": [], - "label": "appLinksSwitcher", - "description": [], - "signature": [ - "AppLinksSwitcher" - ], - "path": "x-pack/plugins/security_solution/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, - { - "parentPluginId": "securitySolution", - "id": "def-public.PluginSetup.setDeepLinksFormatter", - "type": "Function", - "tags": [], - "label": "setDeepLinksFormatter", - "description": [], - "signature": [ - "(deepLinksFormatter: ", - "DeepLinksFormatter", - ") => void" - ], - "path": "x-pack/plugins/security_solution/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "securitySolution", - "id": "def-public.PluginSetup.setDeepLinksFormatter.$1", - "type": "Function", - "tags": [], - "label": "deepLinksFormatter", - "description": [], - "signature": [ - "DeepLinksFormatter" - ], - "path": "x-pack/plugins/security_solution/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] } ], "lifecycle": "setup", @@ -2124,41 +1989,6 @@ "children": [], "returnComment": [] }, - { - "parentPluginId": "securitySolution", - "id": "def-public.PluginStart.setExtraRoutes", - "type": "Function", - "tags": [], - "label": "setExtraRoutes", - "description": [], - "signature": [ - "(extraRoutes: ", - "RouteProps", - "[]) => void" - ], - "path": "x-pack/plugins/security_solution/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "securitySolution", - "id": "def-public.PluginStart.setExtraRoutes.$1", - "type": "Array", - "tags": [], - "label": "extraRoutes", - "description": [], - "signature": [ - "RouteProps", - "[]" - ], - "path": "x-pack/plugins/security_solution/public/types.ts", - "deprecated": false, - "trackAdoption": false, - "isRequired": true - } - ], - "returnComment": [] - }, { "parentPluginId": "securitySolution", "id": "def-public.PluginStart.setComponents", @@ -2240,6 +2070,56 @@ "path": "x-pack/plugins/security_solution/public/types.ts", "deprecated": false, "trackAdoption": false + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.PluginStart.setIsSolutionNavigationEnabled", + "type": "Function", + "tags": [], + "label": "setIsSolutionNavigationEnabled", + "description": [], + "signature": [ + "(isSolutionNavigationEnabled: boolean) => void" + ], + "path": "x-pack/plugins/security_solution/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "securitySolution", + "id": "def-public.PluginStart.setIsSolutionNavigationEnabled.$1", + "type": "boolean", + "tags": [], + "label": "isSolutionNavigationEnabled", + "description": [], + "signature": [ + "boolean" + ], + "path": "x-pack/plugins/security_solution/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] + }, + { + "parentPluginId": "securitySolution", + "id": "def-public.PluginStart.getSolutionNavigation", + "type": "Function", + "tags": [], + "label": "getSolutionNavigation", + "description": [], + "signature": [ + "() => Promise<", + "SolutionNavigation", + ">" + ], + "path": "x-pack/plugins/security_solution/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] } ], "lifecycle": "start", @@ -3134,7 +3014,7 @@ "\nThe security solution generic experimental features" ], "signature": [ - "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly chartEmbeddablesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly automatedProcessActionsEnabled: boolean; readonly responseActionsSentinelOneV1Enabled: boolean; readonly responseActionsSentinelOneV2Enabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantModelEvaluation: boolean; readonly newUserDetailsFlyout: boolean; readonly newUserDetailsFlyoutManagedUser: boolean; readonly newHostDetailsFlyout: boolean; readonly riskScoringPersistence: boolean; readonly riskScoringRoutesEnabled: boolean; readonly esqlRulesDisabled: boolean; readonly protectionUpdatesEnabled: boolean; readonly disableTimelineSaveTour: boolean; readonly riskEnginePrivilegesRouteEnabled: boolean; readonly alertSuppressionForNewTermsRuleEnabled: boolean; readonly sentinelOneDataInAnalyzerEnabled: boolean; readonly sentinelOneManualHostActionsEnabled: boolean; readonly crowdstrikeDataInAnalyzerEnabled: boolean; readonly jsonPrebuiltRulesDiffingEnabled: boolean; readonly timelineEsqlTabDisabled: boolean; readonly unifiedComponentsInTimelineEnabled: boolean; readonly analyzerDatePickersAndSourcererDisabled: boolean; readonly perFieldPrebuiltRulesDiffingEnabled: boolean; readonly malwareOnWriteScanOptionAvailable: boolean; }" + "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly automatedProcessActionsEnabled: boolean; readonly responseActionsSentinelOneV1Enabled: boolean; readonly responseActionsSentinelOneV2Enabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantModelEvaluation: boolean; readonly newUserDetailsFlyout: boolean; readonly newUserDetailsFlyoutManagedUser: boolean; readonly newHostDetailsFlyout: boolean; readonly riskScoringPersistence: boolean; readonly riskScoringRoutesEnabled: boolean; readonly esqlRulesDisabled: boolean; readonly protectionUpdatesEnabled: boolean; readonly disableTimelineSaveTour: boolean; readonly riskEnginePrivilegesRouteEnabled: boolean; readonly alertSuppressionForNewTermsRuleEnabled: boolean; readonly sentinelOneDataInAnalyzerEnabled: boolean; readonly sentinelOneManualHostActionsEnabled: boolean; readonly crowdstrikeDataInAnalyzerEnabled: boolean; readonly jsonPrebuiltRulesDiffingEnabled: boolean; readonly timelineEsqlTabDisabled: boolean; readonly unifiedComponentsInTimelineEnabled: boolean; readonly analyzerDatePickersAndSourcererDisabled: boolean; readonly perFieldPrebuiltRulesDiffingEnabled: boolean; readonly malwareOnWriteScanOptionAvailable: boolean; readonly aiAssistantFlyoutMode: boolean; readonly valueListItemsModalEnabled: boolean; }" ], "path": "x-pack/plugins/security_solution/server/plugin_contract.ts", "deprecated": false, @@ -3310,7 +3190,7 @@ "label": "ExperimentalFeatures", "description": [], "signature": [ - "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly chartEmbeddablesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly automatedProcessActionsEnabled: boolean; readonly responseActionsSentinelOneV1Enabled: boolean; readonly responseActionsSentinelOneV2Enabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantModelEvaluation: boolean; readonly newUserDetailsFlyout: boolean; readonly newUserDetailsFlyoutManagedUser: boolean; readonly newHostDetailsFlyout: boolean; readonly riskScoringPersistence: boolean; readonly riskScoringRoutesEnabled: boolean; readonly esqlRulesDisabled: boolean; readonly protectionUpdatesEnabled: boolean; readonly disableTimelineSaveTour: boolean; readonly riskEnginePrivilegesRouteEnabled: boolean; readonly alertSuppressionForNewTermsRuleEnabled: boolean; readonly sentinelOneDataInAnalyzerEnabled: boolean; readonly sentinelOneManualHostActionsEnabled: boolean; readonly crowdstrikeDataInAnalyzerEnabled: boolean; readonly jsonPrebuiltRulesDiffingEnabled: boolean; readonly timelineEsqlTabDisabled: boolean; readonly unifiedComponentsInTimelineEnabled: boolean; readonly analyzerDatePickersAndSourcererDisabled: boolean; readonly perFieldPrebuiltRulesDiffingEnabled: boolean; readonly malwareOnWriteScanOptionAvailable: boolean; }" + "{ readonly tGridEnabled: boolean; readonly tGridEventRenderedViewEnabled: boolean; readonly excludePoliciesInFilterEnabled: boolean; readonly kubernetesEnabled: boolean; readonly donutChartEmbeddablesEnabled: boolean; readonly previewTelemetryUrlEnabled: boolean; readonly insightsRelatedAlertsByProcessAncestry: boolean; readonly extendedRuleExecutionLoggingEnabled: boolean; readonly socTrendsEnabled: boolean; readonly responseActionsEnabled: boolean; readonly endpointResponseActionsEnabled: boolean; readonly responseActionUploadEnabled: boolean; readonly automatedProcessActionsEnabled: boolean; readonly responseActionsSentinelOneV1Enabled: boolean; readonly responseActionsSentinelOneV2Enabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantModelEvaluation: boolean; readonly newUserDetailsFlyout: boolean; readonly newUserDetailsFlyoutManagedUser: boolean; readonly newHostDetailsFlyout: boolean; readonly riskScoringPersistence: boolean; readonly riskScoringRoutesEnabled: boolean; readonly esqlRulesDisabled: boolean; readonly protectionUpdatesEnabled: boolean; readonly disableTimelineSaveTour: boolean; readonly riskEnginePrivilegesRouteEnabled: boolean; readonly alertSuppressionForNewTermsRuleEnabled: boolean; readonly sentinelOneDataInAnalyzerEnabled: boolean; readonly sentinelOneManualHostActionsEnabled: boolean; readonly crowdstrikeDataInAnalyzerEnabled: boolean; readonly jsonPrebuiltRulesDiffingEnabled: boolean; readonly timelineEsqlTabDisabled: boolean; readonly unifiedComponentsInTimelineEnabled: boolean; readonly analyzerDatePickersAndSourcererDisabled: boolean; readonly perFieldPrebuiltRulesDiffingEnabled: boolean; readonly malwareOnWriteScanOptionAvailable: boolean; readonly aiAssistantFlyoutMode: boolean; readonly valueListItemsModalEnabled: boolean; }" ], "path": "x-pack/plugins/security_solution/common/experimental_features.ts", "deprecated": false, @@ -3376,7 +3256,7 @@ "\nA list of allowed values that can be used in `xpack.securitySolution.enableExperimental`.\nThis object is then used to validate and parse the value entered." ], "signature": [ - "{ readonly tGridEnabled: true; readonly tGridEventRenderedViewEnabled: true; readonly excludePoliciesInFilterEnabled: false; readonly kubernetesEnabled: true; readonly chartEmbeddablesEnabled: true; readonly donutChartEmbeddablesEnabled: false; readonly previewTelemetryUrlEnabled: false; readonly insightsRelatedAlertsByProcessAncestry: true; readonly extendedRuleExecutionLoggingEnabled: false; readonly socTrendsEnabled: false; readonly responseActionsEnabled: true; readonly endpointResponseActionsEnabled: true; readonly responseActionUploadEnabled: true; readonly automatedProcessActionsEnabled: true; readonly responseActionsSentinelOneV1Enabled: true; readonly responseActionsSentinelOneV2Enabled: false; readonly alertsPageChartsEnabled: true; readonly alertTypeEnabled: false; readonly expandableFlyoutInCreateRuleEnabled: true; readonly expandableEventFlyoutEnabled: false; readonly expandableTimelineFlyoutEnabled: false; readonly alertsPageFiltersEnabled: true; readonly assistantModelEvaluation: false; readonly newUserDetailsFlyout: true; readonly newUserDetailsFlyoutManagedUser: false; readonly newHostDetailsFlyout: true; readonly riskScoringPersistence: true; readonly riskScoringRoutesEnabled: true; readonly esqlRulesDisabled: false; readonly protectionUpdatesEnabled: true; readonly disableTimelineSaveTour: false; readonly riskEnginePrivilegesRouteEnabled: true; readonly alertSuppressionForNewTermsRuleEnabled: false; readonly sentinelOneDataInAnalyzerEnabled: true; readonly sentinelOneManualHostActionsEnabled: true; readonly crowdstrikeDataInAnalyzerEnabled: false; readonly jsonPrebuiltRulesDiffingEnabled: true; readonly timelineEsqlTabDisabled: false; readonly unifiedComponentsInTimelineEnabled: false; readonly analyzerDatePickersAndSourcererDisabled: false; readonly perFieldPrebuiltRulesDiffingEnabled: true; readonly malwareOnWriteScanOptionAvailable: false; }" + "{ readonly tGridEnabled: true; readonly tGridEventRenderedViewEnabled: true; readonly excludePoliciesInFilterEnabled: false; readonly kubernetesEnabled: true; readonly donutChartEmbeddablesEnabled: false; readonly previewTelemetryUrlEnabled: false; readonly insightsRelatedAlertsByProcessAncestry: true; readonly extendedRuleExecutionLoggingEnabled: false; readonly socTrendsEnabled: false; readonly responseActionsEnabled: true; readonly endpointResponseActionsEnabled: true; readonly responseActionUploadEnabled: true; readonly automatedProcessActionsEnabled: true; readonly responseActionsSentinelOneV1Enabled: true; readonly responseActionsSentinelOneV2Enabled: false; readonly alertsPageChartsEnabled: true; readonly alertTypeEnabled: false; readonly expandableFlyoutInCreateRuleEnabled: true; readonly expandableEventFlyoutEnabled: false; readonly expandableTimelineFlyoutEnabled: false; readonly alertsPageFiltersEnabled: true; readonly assistantModelEvaluation: false; readonly newUserDetailsFlyout: true; readonly newUserDetailsFlyoutManagedUser: false; readonly newHostDetailsFlyout: true; readonly riskScoringPersistence: true; readonly riskScoringRoutesEnabled: true; readonly esqlRulesDisabled: false; readonly protectionUpdatesEnabled: true; readonly disableTimelineSaveTour: false; readonly riskEnginePrivilegesRouteEnabled: true; readonly alertSuppressionForNewTermsRuleEnabled: false; readonly sentinelOneDataInAnalyzerEnabled: true; readonly sentinelOneManualHostActionsEnabled: true; readonly crowdstrikeDataInAnalyzerEnabled: false; readonly jsonPrebuiltRulesDiffingEnabled: true; readonly timelineEsqlTabDisabled: false; readonly unifiedComponentsInTimelineEnabled: false; readonly analyzerDatePickersAndSourcererDisabled: false; readonly perFieldPrebuiltRulesDiffingEnabled: true; readonly malwareOnWriteScanOptionAvailable: false; readonly aiAssistantFlyoutMode: false; readonly valueListItemsModalEnabled: false; }" ], "path": "x-pack/plugins/security_solution/common/experimental_features.ts", "deprecated": false, diff --git a/api_docs/security_solution.mdx b/api_docs/security_solution.mdx index 053e0df39e43d..4a8094b0206b2 100644 --- a/api_docs/security_solution.mdx +++ b/api_docs/security_solution.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolution title: "securitySolution" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolution plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/security-solution](https://github.com/orgs/elastic/teams/secur | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 196 | 0 | 124 | 37 | +| 188 | 0 | 119 | 36 | ## Client diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 2c8b26d1c4444..357b26291c462 100644 --- a/api_docs/security_solution_ess.mdx +++ b/api_docs/security_solution_ess.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionEss title: "securitySolutionEss" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionEss plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionEss'] --- import securitySolutionEssObj from './security_solution_ess.devdocs.json'; diff --git a/api_docs/security_solution_serverless.mdx b/api_docs/security_solution_serverless.mdx index 0fb0cc0a6f5ea..72ab25a0c07e6 100644 --- a/api_docs/security_solution_serverless.mdx +++ b/api_docs/security_solution_serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/securitySolutionServerless title: "securitySolutionServerless" image: https://source.unsplash.com/400x175/?github description: API docs for the securitySolutionServerless plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolutionServerless'] --- import securitySolutionServerlessObj from './security_solution_serverless.devdocs.json'; diff --git a/api_docs/serverless.mdx b/api_docs/serverless.mdx index bcc7d777ee24a..1db1517e0e63b 100644 --- a/api_docs/serverless.mdx +++ b/api_docs/serverless.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverless title: "serverless" image: https://source.unsplash.com/400x175/?github description: API docs for the serverless plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverless'] --- import serverlessObj from './serverless.devdocs.json'; diff --git a/api_docs/serverless_observability.mdx b/api_docs/serverless_observability.mdx index 31172dd9cfd7b..02480dbfe40cc 100644 --- a/api_docs/serverless_observability.mdx +++ b/api_docs/serverless_observability.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessObservability title: "serverlessObservability" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessObservability plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessObservability'] --- import serverlessObservabilityObj from './serverless_observability.devdocs.json'; diff --git a/api_docs/serverless_search.mdx b/api_docs/serverless_search.mdx index ea567edcd5bcc..1a5b97e161120 100644 --- a/api_docs/serverless_search.mdx +++ b/api_docs/serverless_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/serverlessSearch title: "serverlessSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the serverlessSearch plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'serverlessSearch'] --- import serverlessSearchObj from './serverless_search.devdocs.json'; diff --git a/api_docs/session_view.mdx b/api_docs/session_view.mdx index 948f862277d43..e0a8c1c22276a 100644 --- a/api_docs/session_view.mdx +++ b/api_docs/session_view.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/sessionView title: "sessionView" image: https://source.unsplash.com/400x175/?github description: API docs for the sessionView plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'sessionView'] --- import sessionViewObj from './session_view.devdocs.json'; diff --git a/api_docs/share.mdx b/api_docs/share.mdx index b0965405ac5e2..da804aa459521 100644 --- a/api_docs/share.mdx +++ b/api_docs/share.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/share title: "share" image: https://source.unsplash.com/400x175/?github description: API docs for the share plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'share'] --- import shareObj from './share.devdocs.json'; diff --git a/api_docs/slo.mdx b/api_docs/slo.mdx index 577fc3dd9508f..05a7e3b824f7e 100644 --- a/api_docs/slo.mdx +++ b/api_docs/slo.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/slo title: "slo" image: https://source.unsplash.com/400x175/?github description: API docs for the slo plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'slo'] --- import sloObj from './slo.devdocs.json'; diff --git a/api_docs/snapshot_restore.mdx b/api_docs/snapshot_restore.mdx index 75195af82bd1d..3e8e85a71736e 100644 --- a/api_docs/snapshot_restore.mdx +++ b/api_docs/snapshot_restore.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/snapshotRestore title: "snapshotRestore" image: https://source.unsplash.com/400x175/?github description: API docs for the snapshotRestore plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'snapshotRestore'] --- import snapshotRestoreObj from './snapshot_restore.devdocs.json'; diff --git a/api_docs/spaces.mdx b/api_docs/spaces.mdx index 04c6028a24cfe..2b8606b2ffa9d 100644 --- a/api_docs/spaces.mdx +++ b/api_docs/spaces.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/spaces title: "spaces" image: https://source.unsplash.com/400x175/?github description: API docs for the spaces plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.devdocs.json b/api_docs/stack_alerts.devdocs.json index 15f67c548f46e..25e3f429ee4e5 100644 --- a/api_docs/stack_alerts.devdocs.json +++ b/api_docs/stack_alerts.devdocs.json @@ -406,7 +406,38 @@ } ], "enums": [], - "misc": [], + "misc": [ + { + "parentPluginId": "stackAlerts", + "id": "def-common.ES_QUERY_MAX_HITS_PER_EXECUTION", + "type": "number", + "tags": [], + "label": "ES_QUERY_MAX_HITS_PER_EXECUTION", + "description": [], + "signature": [ + "10000" + ], + "path": "x-pack/plugins/stack_alerts/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "stackAlerts", + "id": "def-common.ES_QUERY_MAX_HITS_PER_EXECUTION_SERVERLESS", + "type": "number", + "tags": [], + "label": "ES_QUERY_MAX_HITS_PER_EXECUTION_SERVERLESS", + "description": [], + "signature": [ + "100" + ], + "path": "x-pack/plugins/stack_alerts/common/constants.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ], "objects": [ { "parentPluginId": "stackAlerts", diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index f14d0d38180a3..b74564655449f 100644 --- a/api_docs/stack_alerts.mdx +++ b/api_docs/stack_alerts.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackAlerts title: "stackAlerts" image: https://source.unsplash.com/400x175/?github description: API docs for the stackAlerts plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 23 | 0 | 23 | 3 | +| 25 | 0 | 25 | 3 | ## Client @@ -47,3 +47,6 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o ### Interfaces +### Consts, variables and types + + diff --git a/api_docs/stack_connectors.devdocs.json b/api_docs/stack_connectors.devdocs.json index 61199895e2aa1..3114ba57340df 100644 --- a/api_docs/stack_connectors.devdocs.json +++ b/api_docs/stack_connectors.devdocs.json @@ -14,7 +14,316 @@ "interfaces": [], "enums": [], "misc": [], - "objects": [] + "objects": [ + { + "parentPluginId": "stackConnectors", + "id": "def-server.ExecutorParamsSchema", + "type": "Object", + "tags": [], + "label": "ExecutorParamsSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; }> | Readonly<{} & { subAction: \"getIncident\"; subActionParams: Readonly<{} & { externalId: string; }>; }> | Readonly<{} & { subAction: \"handshake\"; subActionParams: Readonly<{} & {}>; }> | Readonly<{} & { subAction: \"pushToService\"; subActionParams: Readonly<{} & { comments: Readonly<{} & { comment: string; commentId: string; }>[] | null; incident: Readonly<{} & { labels: string[] | null; summary: string; description: string | null; issueType: string | null; priority: string | null; parent: string | null; externalId: string | null; otherFields: Record | null; }>; }>; }> | Readonly<{} & { subAction: \"issueTypes\"; subActionParams: Readonly<{} & {}>; }> | Readonly<{} & { subAction: \"fieldsByIssueType\"; subActionParams: Readonly<{} & { id: string; }>; }> | Readonly<{} & { subAction: \"issues\"; subActionParams: Readonly<{} & { title: string; }>; }> | Readonly<{} & { subAction: \"issue\"; subActionParams: Readonly<{} & { id: string; }>; }>>" + ], + "path": "x-pack/plugins/stack_connectors/server/connector_types/jira/schema.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "stackConnectors", + "id": "def-server.ParamsSchema", + "type": "Object", + "tags": [], + "label": "ParamsSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "<{ message: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; }>" + ], + "path": "x-pack/plugins/stack_connectors/server/connector_types/slack/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "stackConnectors", + "id": "def-server.ParamsSchema", + "type": "Object", + "tags": [], + "label": "ParamsSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "<{ to: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; cc: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; bcc: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; subject: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; message: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; messageHTML: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; kibanaFooterLink: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "<{ path: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; text: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; }>; }>" + ], + "path": "x-pack/plugins/stack_connectors/server/connector_types/email/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "stackConnectors", + "id": "def-server.ParamsSchema", + "type": "Object", + "tags": [], + "label": "ParamsSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "<{ body: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; }>" + ], + "path": "x-pack/plugins/stack_connectors/server/connector_types/webhook/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "stackConnectors", + "id": "def-server.ParamsSchema", + "type": "Object", + "tags": [], + "label": "ParamsSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.ObjectType", + "text": "ObjectType" + }, + "<{ eventAction: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "<\"resolve\" | \"trigger\" | \"acknowledge\" | undefined>; dedupKey: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; summary: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; source: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; severity: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "<\"error\" | \"info\" | \"warning\" | \"critical\" | undefined>; timestamp: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; component: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; group: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; class: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; links: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "[] | undefined>; customDetails: ", + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + " | undefined>; }>" + ], + "path": "x-pack/plugins/stack_connectors/server/connector_types/pagerduty/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "stackConnectors", + "id": "def-server.SlackApiParamsSchema", + "type": "Object", + "tags": [], + "label": "SlackApiParamsSchema", + "description": [], + "signature": [ + { + "pluginId": "@kbn/config-schema", + "scope": "common", + "docId": "kibKbnConfigSchemaPluginApi", + "section": "def-common.Type", + "text": "Type" + }, + "; }> | Readonly<{} & { subAction: \"postMessage\"; subActionParams: Readonly<{ channels?: string[] | undefined; channelIds?: string[] | undefined; } & { text: string; }>; }> | Readonly<{} & { subAction: \"postBlockkit\"; subActionParams: Readonly<{ channels?: string[] | undefined; channelIds?: string[] | undefined; } & { text: string; }>; }>>" + ], + "path": "x-pack/plugins/stack_connectors/common/slack_api/schema.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + } + ] }, "common": { "classes": [], diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 9b8da68dcfa40..0a61918c37bb7 100644 --- a/api_docs/stack_connectors.mdx +++ b/api_docs/stack_connectors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/stackConnectors title: "stackConnectors" image: https://source.unsplash.com/400x175/?github description: API docs for the stackConnectors plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; @@ -21,7 +21,12 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 4 | 0 | 4 | 0 | +| 10 | 0 | 10 | 0 | + +## Server + +### Objects + ## Common diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index 1dde2d1a75610..2546b8cb1f9bf 100644 --- a/api_docs/task_manager.mdx +++ b/api_docs/task_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/taskManager title: "taskManager" image: https://source.unsplash.com/400x175/?github description: API docs for the taskManager plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'taskManager'] --- import taskManagerObj from './task_manager.devdocs.json'; diff --git a/api_docs/telemetry.mdx b/api_docs/telemetry.mdx index e17bd3d7ce111..7f95b5be12f9c 100644 --- a/api_docs/telemetry.mdx +++ b/api_docs/telemetry.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetry title: "telemetry" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetry plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetry'] --- import telemetryObj from './telemetry.devdocs.json'; diff --git a/api_docs/telemetry_collection_manager.mdx b/api_docs/telemetry_collection_manager.mdx index 1ef8bdc4d8e48..1583106c21f3d 100644 --- a/api_docs/telemetry_collection_manager.mdx +++ b/api_docs/telemetry_collection_manager.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionManager title: "telemetryCollectionManager" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionManager plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionManager'] --- import telemetryCollectionManagerObj from './telemetry_collection_manager.devdocs.json'; diff --git a/api_docs/telemetry_collection_xpack.mdx b/api_docs/telemetry_collection_xpack.mdx index 428a1ec55ce75..65447aa2cb203 100644 --- a/api_docs/telemetry_collection_xpack.mdx +++ b/api_docs/telemetry_collection_xpack.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryCollectionXpack title: "telemetryCollectionXpack" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryCollectionXpack plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryCollectionXpack'] --- import telemetryCollectionXpackObj from './telemetry_collection_xpack.devdocs.json'; diff --git a/api_docs/telemetry_management_section.mdx b/api_docs/telemetry_management_section.mdx index f84cba1279869..0bf0d90f35e34 100644 --- a/api_docs/telemetry_management_section.mdx +++ b/api_docs/telemetry_management_section.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/telemetryManagementSection title: "telemetryManagementSection" image: https://source.unsplash.com/400x175/?github description: API docs for the telemetryManagementSection plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'telemetryManagementSection'] --- import telemetryManagementSectionObj from './telemetry_management_section.devdocs.json'; diff --git a/api_docs/text_based_languages.mdx b/api_docs/text_based_languages.mdx index 9065f92681e92..556b883807536 100644 --- a/api_docs/text_based_languages.mdx +++ b/api_docs/text_based_languages.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/textBasedLanguages title: "textBasedLanguages" image: https://source.unsplash.com/400x175/?github description: API docs for the textBasedLanguages plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'textBasedLanguages'] --- import textBasedLanguagesObj from './text_based_languages.devdocs.json'; diff --git a/api_docs/threat_intelligence.mdx b/api_docs/threat_intelligence.mdx index a41b4be021b91..34c8d1e5f05ac 100644 --- a/api_docs/threat_intelligence.mdx +++ b/api_docs/threat_intelligence.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/threatIntelligence title: "threatIntelligence" image: https://source.unsplash.com/400x175/?github description: API docs for the threatIntelligence plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.devdocs.json b/api_docs/timelines.devdocs.json index ff8b67cd77ae9..f243129f0709b 100644 --- a/api_docs/timelines.devdocs.json +++ b/api_docs/timelines.devdocs.json @@ -1405,19 +1405,19 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx" + "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx" + "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx" }, { "plugin": "@kbn/securitysolution-data-table", @@ -1493,19 +1493,19 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/edit_data_provider/helpers.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/table/use_action_cell_data_provider.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/edit_data_provider/helpers.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/table/use_action_cell_data_provider.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/table/use_action_cell_data_provider.ts" + "path": "x-pack/plugins/security_solution/public/timelines/components/edit_data_provider/helpers.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/table/use_action_cell_data_provider.ts" + "path": "x-pack/plugins/security_solution/public/timelines/components/edit_data_provider/helpers.tsx" }, { "plugin": "securitySolution", @@ -1517,11 +1517,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/utils.ts" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/formatted_field.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/utils.ts" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/formatted_field.tsx" }, { "plugin": "securitySolution", @@ -1529,11 +1529,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/formatted_field.tsx" + "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/utils.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/renderers/formatted_field.tsx" + "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/utils.ts" }, { "plugin": "securitySolution", @@ -3955,27 +3955,27 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx" + "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx" + "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/threat_summary_view.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/threat_summary_view.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/enrichment_summary.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/threat_summary_view.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/tabs/table_tab.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/cti_details/threat_summary_view.tsx" }, { "plugin": "securitySolution", @@ -4095,11 +4095,11 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/helpers.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/helpers.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/helpers.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/event_details/helpers.tsx" }, { "plugin": "securitySolution", @@ -4119,19 +4119,19 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/helpers.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/helpers.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/helpers.tsx" + "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/event_details/helpers.tsx" + "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/query_bar/index.tsx" }, { "plugin": "securitySolution", @@ -4263,71 +4263,71 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/drag_and_drop/drag_drop_context_wrapper.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/drag_and_drop/drag_drop_context_wrapper.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/add_data_provider_popover.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/drag_and_drop/drag_drop_context_wrapper.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/add_data_provider_popover.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/top_n/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/empty.tsx" + "path": "x-pack/plugins/security_solution/public/common/components/top_n/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/empty.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/providers.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/providers.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/side_panel/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/side_panel/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/side_panel/event_details/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/side_panel/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/body/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/side_panel/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/add_data_provider_popover.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/top_n/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/add_data_provider_popover.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/top_n/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/empty.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/drag_and_drop/drag_drop_context_wrapper.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/empty.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/drag_and_drop/drag_drop_context_wrapper.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/providers.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/common/components/drag_and_drop/drag_drop_context_wrapper.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/data_providers/providers.tsx" }, { "plugin": "securitySolution", @@ -4339,35 +4339,35 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/document_details/left/context.tsx" + "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/context.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/document_details/left/context.tsx" + "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/context.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/context.tsx" + "path": "x-pack/plugins/security_solution/public/flyout/document_details/left/context.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/flyout/document_details/right/context.tsx" + "path": "x-pack/plugins/security_solution/public/flyout/document_details/left/context.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/query/index.tsx" + "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/query/index.tsx" + "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/query/index.tsx" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/public/detection_engine/rule_creation_ui/components/step_define_rule/index.tsx" + "path": "x-pack/plugins/security_solution/public/timelines/components/timeline/tabs/query/index.tsx" }, { "plugin": "securitySolution", diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index c00a4fe0864ab..7a907089b0517 100644 --- a/api_docs/timelines.mdx +++ b/api_docs/timelines.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/timelines title: "timelines" image: https://source.unsplash.com/400x175/?github description: API docs for the timelines plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'timelines'] --- import timelinesObj from './timelines.devdocs.json'; diff --git a/api_docs/transform.mdx b/api_docs/transform.mdx index ba72d166fc689..75ba25e9900bb 100644 --- a/api_docs/transform.mdx +++ b/api_docs/transform.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/transform title: "transform" image: https://source.unsplash.com/400x175/?github description: API docs for the transform plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.devdocs.json b/api_docs/triggers_actions_ui.devdocs.json index ac04b9670f4f5..b684140bb3a6f 100644 --- a/api_docs/triggers_actions_ui.devdocs.json +++ b/api_docs/triggers_actions_ui.devdocs.json @@ -2587,6 +2587,20 @@ } ], "returnComment": [] + }, + { + "parentPluginId": "triggersActionsUi", + "id": "def-public.ActionParamsProps.producerId", + "type": "string", + "tags": [], + "label": "producerId", + "description": [], + "signature": [ + "string | undefined" + ], + "path": "x-pack/plugins/triggers_actions_ui/public/types.ts", + "deprecated": false, + "trackAdoption": false } ], "initialIsOpen": false @@ -4772,7 +4786,7 @@ "label": "validate", "description": [], "signature": [ - "(ruleParams: Params) => ", + "(ruleParams: Params, isServerless?: boolean | undefined) => ", { "pluginId": "triggersActionsUi", "scope": "public", @@ -4799,6 +4813,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "triggersActionsUi", + "id": "def-public.RuleTypeModel.validate.$2", + "type": "CompoundType", + "tags": [], + "label": "isServerless", + "description": [], + "signature": [ + "boolean | undefined" + ], + "path": "x-pack/plugins/triggers_actions_ui/public/types.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": false } ], "returnComment": [] diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index ec71a6608e8cc..be4ae3e76a988 100644 --- a/api_docs/triggers_actions_ui.mdx +++ b/api_docs/triggers_actions_ui.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/triggersActionsUi title: "triggersActionsUi" image: https://source.unsplash.com/400x175/?github description: API docs for the triggersActionsUi plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-o | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 593 | 1 | 567 | 60 | +| 595 | 1 | 569 | 60 | ## Client diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 47a570fb699b3..c47aa9bef3a49 100644 --- a/api_docs/ui_actions.mdx +++ b/api_docs/ui_actions.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActions title: "uiActions" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActions plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActions'] --- import uiActionsObj from './ui_actions.devdocs.json'; diff --git a/api_docs/ui_actions_enhanced.mdx b/api_docs/ui_actions_enhanced.mdx index 9bee1be12ca53..d3510f44c4f4c 100644 --- a/api_docs/ui_actions_enhanced.mdx +++ b/api_docs/ui_actions_enhanced.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uiActionsEnhanced title: "uiActionsEnhanced" image: https://source.unsplash.com/400x175/?github description: API docs for the uiActionsEnhanced plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uiActionsEnhanced'] --- import uiActionsEnhancedObj from './ui_actions_enhanced.devdocs.json'; diff --git a/api_docs/unified_doc_viewer.mdx b/api_docs/unified_doc_viewer.mdx index 6b96604f97d0a..4d0954ecae1e9 100644 --- a/api_docs/unified_doc_viewer.mdx +++ b/api_docs/unified_doc_viewer.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedDocViewer title: "unifiedDocViewer" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedDocViewer plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedDocViewer'] --- import unifiedDocViewerObj from './unified_doc_viewer.devdocs.json'; diff --git a/api_docs/unified_histogram.mdx b/api_docs/unified_histogram.mdx index ebbf055c6ab2c..dce19fa3d39e9 100644 --- a/api_docs/unified_histogram.mdx +++ b/api_docs/unified_histogram.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedHistogram title: "unifiedHistogram" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedHistogram plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedHistogram'] --- import unifiedHistogramObj from './unified_histogram.devdocs.json'; diff --git a/api_docs/unified_search.mdx b/api_docs/unified_search.mdx index 3ec819a6b7b31..3640a68bc452a 100644 --- a/api_docs/unified_search.mdx +++ b/api_docs/unified_search.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch title: "unifiedSearch" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch'] --- import unifiedSearchObj from './unified_search.devdocs.json'; diff --git a/api_docs/unified_search_autocomplete.mdx b/api_docs/unified_search_autocomplete.mdx index c74c1851dd3f9..f6584c098e7d1 100644 --- a/api_docs/unified_search_autocomplete.mdx +++ b/api_docs/unified_search_autocomplete.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/unifiedSearch-autocomplete title: "unifiedSearch.autocomplete" image: https://source.unsplash.com/400x175/?github description: API docs for the unifiedSearch.autocomplete plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'unifiedSearch.autocomplete'] --- import unifiedSearchAutocompleteObj from './unified_search_autocomplete.devdocs.json'; diff --git a/api_docs/uptime.mdx b/api_docs/uptime.mdx index ea7c9377bd52b..bc1a5c5b513ee 100644 --- a/api_docs/uptime.mdx +++ b/api_docs/uptime.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/uptime title: "uptime" image: https://source.unsplash.com/400x175/?github description: API docs for the uptime plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'uptime'] --- import uptimeObj from './uptime.devdocs.json'; diff --git a/api_docs/url_forwarding.mdx b/api_docs/url_forwarding.mdx index 39dbaff334712..e30df1aac2df6 100644 --- a/api_docs/url_forwarding.mdx +++ b/api_docs/url_forwarding.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/urlForwarding title: "urlForwarding" image: https://source.unsplash.com/400x175/?github description: API docs for the urlForwarding plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'urlForwarding'] --- import urlForwardingObj from './url_forwarding.devdocs.json'; diff --git a/api_docs/usage_collection.mdx b/api_docs/usage_collection.mdx index 50b51edd3b346..2d6478c5feaa2 100644 --- a/api_docs/usage_collection.mdx +++ b/api_docs/usage_collection.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/usageCollection title: "usageCollection" image: https://source.unsplash.com/400x175/?github description: API docs for the usageCollection plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'usageCollection'] --- import usageCollectionObj from './usage_collection.devdocs.json'; diff --git a/api_docs/ux.mdx b/api_docs/ux.mdx index 4bc6de179303c..40959b56795e5 100644 --- a/api_docs/ux.mdx +++ b/api_docs/ux.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/ux title: "ux" image: https://source.unsplash.com/400x175/?github description: API docs for the ux plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ux'] --- import uxObj from './ux.devdocs.json'; diff --git a/api_docs/vis_default_editor.mdx b/api_docs/vis_default_editor.mdx index 84f155251ba21..81910a410b021 100644 --- a/api_docs/vis_default_editor.mdx +++ b/api_docs/vis_default_editor.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visDefaultEditor title: "visDefaultEditor" image: https://source.unsplash.com/400x175/?github description: API docs for the visDefaultEditor plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visDefaultEditor'] --- import visDefaultEditorObj from './vis_default_editor.devdocs.json'; diff --git a/api_docs/vis_type_gauge.mdx b/api_docs/vis_type_gauge.mdx index 129b4b9bb09ca..d6fe755e67e62 100644 --- a/api_docs/vis_type_gauge.mdx +++ b/api_docs/vis_type_gauge.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeGauge title: "visTypeGauge" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeGauge plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeGauge'] --- import visTypeGaugeObj from './vis_type_gauge.devdocs.json'; diff --git a/api_docs/vis_type_heatmap.mdx b/api_docs/vis_type_heatmap.mdx index 48e2b8e5b090b..995b8588157fa 100644 --- a/api_docs/vis_type_heatmap.mdx +++ b/api_docs/vis_type_heatmap.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeHeatmap title: "visTypeHeatmap" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeHeatmap plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeHeatmap'] --- import visTypeHeatmapObj from './vis_type_heatmap.devdocs.json'; diff --git a/api_docs/vis_type_pie.mdx b/api_docs/vis_type_pie.mdx index 99b56f53bf7f6..9ba1b20366658 100644 --- a/api_docs/vis_type_pie.mdx +++ b/api_docs/vis_type_pie.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypePie title: "visTypePie" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypePie plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypePie'] --- import visTypePieObj from './vis_type_pie.devdocs.json'; diff --git a/api_docs/vis_type_table.mdx b/api_docs/vis_type_table.mdx index 712c025b99bde..3be3a4a7673e5 100644 --- a/api_docs/vis_type_table.mdx +++ b/api_docs/vis_type_table.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTable title: "visTypeTable" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTable plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTable'] --- import visTypeTableObj from './vis_type_table.devdocs.json'; diff --git a/api_docs/vis_type_timelion.mdx b/api_docs/vis_type_timelion.mdx index 2eae8e03ef0c7..66bbefecb7d18 100644 --- a/api_docs/vis_type_timelion.mdx +++ b/api_docs/vis_type_timelion.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimelion title: "visTypeTimelion" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimelion plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimelion'] --- import visTypeTimelionObj from './vis_type_timelion.devdocs.json'; diff --git a/api_docs/vis_type_timeseries.mdx b/api_docs/vis_type_timeseries.mdx index b70cc7749ccad..8ec5a8cd35780 100644 --- a/api_docs/vis_type_timeseries.mdx +++ b/api_docs/vis_type_timeseries.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeTimeseries title: "visTypeTimeseries" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeTimeseries plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeTimeseries'] --- import visTypeTimeseriesObj from './vis_type_timeseries.devdocs.json'; diff --git a/api_docs/vis_type_vega.mdx b/api_docs/vis_type_vega.mdx index dfb927b0349e8..9f715ae622bb8 100644 --- a/api_docs/vis_type_vega.mdx +++ b/api_docs/vis_type_vega.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVega title: "visTypeVega" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVega plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVega'] --- import visTypeVegaObj from './vis_type_vega.devdocs.json'; diff --git a/api_docs/vis_type_vislib.mdx b/api_docs/vis_type_vislib.mdx index 6cb146e29bd96..88a392d3766d4 100644 --- a/api_docs/vis_type_vislib.mdx +++ b/api_docs/vis_type_vislib.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeVislib title: "visTypeVislib" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeVislib plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeVislib'] --- import visTypeVislibObj from './vis_type_vislib.devdocs.json'; diff --git a/api_docs/vis_type_xy.mdx b/api_docs/vis_type_xy.mdx index 8b04eb6f68bfc..058334c4cb60f 100644 --- a/api_docs/vis_type_xy.mdx +++ b/api_docs/vis_type_xy.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visTypeXy title: "visTypeXy" image: https://source.unsplash.com/400x175/?github description: API docs for the visTypeXy plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visTypeXy'] --- import visTypeXyObj from './vis_type_xy.devdocs.json'; diff --git a/api_docs/visualizations.mdx b/api_docs/visualizations.mdx index 0ce5e5205be8e..1e44e6f135ba0 100644 --- a/api_docs/visualizations.mdx +++ b/api_docs/visualizations.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/visualizations title: "visualizations" image: https://source.unsplash.com/400x175/?github description: API docs for the visualizations plugin -date: 2024-04-12 +date: 2024-04-16 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/config/serverless.oblt.yml b/config/serverless.oblt.yml index ff703b0eb2a9a..279667502b4f0 100644 --- a/config/serverless.oblt.yml +++ b/config/serverless.oblt.yml @@ -6,6 +6,7 @@ xpack.cloudSecurityPosture.enabled: false xpack.infra.enabled: true xpack.uptime.enabled: true xpack.securitySolution.enabled: false +xpack.search.notebooks.enabled: false ## Enable the slo plugin xpack.slo.enabled: true @@ -14,7 +15,7 @@ xpack.slo.enabled: true xpack.cloud.serverless.project_type: observability ## Enable the Serverless Observability plugin -xpack.serverless.observability.enabled: true +xpack.serverless.observability.enabled: true ## Configure plugins diff --git a/config/serverless.security.yml b/config/serverless.security.yml index 9f583d93bda11..5ebb22486dc43 100644 --- a/config/serverless.security.yml +++ b/config/serverless.security.yml @@ -7,6 +7,7 @@ xpack.infra.enabled: false xpack.observabilityLogsExplorer.enabled: false xpack.observability.enabled: false xpack.observabilityAIAssistant.enabled: false +xpack.search.notebooks.enabled: false ## Cloud settings xpack.cloud.serverless.project_type: security diff --git a/docs/CHANGELOG.asciidoc b/docs/CHANGELOG.asciidoc index 6188e010be28f..703b4f0339a54 100644 --- a/docs/CHANGELOG.asciidoc +++ b/docs/CHANGELOG.asciidoc @@ -73,6 +73,7 @@ The 8.13.2 release includes the following bug fixes. === Bug Fixes Canvas:: * Fixes text settings to be honored in Canvas markdown elements ({kibana-pull}179948[#179948]). +* Fixes custom styling for Canvas markdown Workpads ({kibana-pull}180070[#180070]). Discover:: * Fixes keyboard navigation for search input on the document viewer flyout ({kibana-pull}180022[#180022]). Elastic Security:: @@ -81,6 +82,8 @@ Fleet:: * Fixes having to wait ten minutes after agent upgrade if agent cleared watching state ({kibana-pull}179917[#179917]). Fixes using the latest available version in K8's manifest instead of the latest compatible version ({kibana-pull}179662[#179662]). * Fixes a step in add agent instructions where a query to get all agents was unnecessary ({kibana-pull}179603[#179603]). +Lens & Visualizations:: +* Fixes custom styling for TSVB markdown visualizations ({kibana-pull}180053[#180053]). Machine Learning:: * Single Metric Viewer embeddable: Ensures the detector index is passed to chart correctly ({kibana-pull}179761[#179761]). * AIOps: Fixes text field candidate selection for log rate analysis ({kibana-pull}179699[#179699]). diff --git a/docs/api/synthetics/monitors/add-monitor-api.asciidoc b/docs/api/synthetics/monitors/add-monitor-api.asciidoc new file mode 100644 index 0000000000000..1d54ade98c6f1 --- /dev/null +++ b/docs/api/synthetics/monitors/add-monitor-api.asciidoc @@ -0,0 +1,245 @@ +[[add-monitor-api]] +== Add Monitor API +++++ +Add monitor +++++ + +Creates a new monitor with the specified attributes. A monitor can be one of the following types: HTTP, TCP, ICMP, or Browser. The required and default fields may vary based on the monitor type. + +=== {api-request-title} + +`POST :/api/synthetics/monitors` + +`POST :/s//api/synthetics/monitors` + +=== {api-prereq-title} + +You must have `all` privileges for the *Synthetics* feature in the *{observability}* section of the +<>. + +[[monitor-request-body]] +==== Request Body + +The request body should contain the attributes of the monitor you want to create. The required and default fields differ depending on the monitor type: + +*Common Fields*: + +`name`:: (Required, string): The monitor's name. + +`type`:: (Required, string): The monitor type (e.g., `http` , `tcp` , `icmp` or `browser`). + +`schedule`:: (Optional, number): The monitor's schedule in minutes. Supported values are `1`, `3`, `5`, `10`, `15`, `30`, `60`, `120` and `240`. + * The default value is `3` minutes for HTTP, TCP, and ICMP monitors. + + * The default value is `10` minutes for Browser monitors. + +:private-locations-url: https://www.elastic.co/guide/en/observability/current/synthetics-private-location.html + +`locations`:: (https://github.com/elastic/synthetics/blob/main/src/locations/public-locations.ts#L28-L37[`Array`]) +Where to deploy the monitor. Monitors can be deployed in multiple locations so that you can detect differences in availability and response times across those locations. ++ +To list available locations you can: ++ + * Run the {locations-command}[`elastic-synthetics locations`] command + with the deployment's {kib} URL. + * Go to *Synthetics* -> *Management* and click *Create monitor*. + Locations will be listed in _Locations_. + +`private_locations` (`Array`):: + +The {private-locations-url}[Private Locations] to which the monitors will be deployed. These Private Locations refer to locations hosted and managed by you, whereas +`locations` are hosted by Elastic. You can specify a Private Location using the location's name. ++ +To list available Private Locations you can: ++ + * Run the {locations-command}[`elastic-synthetics locations`] command + with the deployment's {kib} URL. + * Go to *Synthetics* -> *Settings* and click *Private locations*. + Private Locations will be listed in the table. + +[NOTE] +==== +You may provide `locations` or `private_locations`, or both. At least one is required. +==== + + +`enabled`:: (Optional, boolean, default: true): Whether the monitor is enabled. + +`tags`:: (Optional, array of strings): An array of tags. + +`alert`:: (Optional, object, default: `{ status: { enabled: true }, tls: { enabled: true } }`): Alert configuration. + +`service.name`:: (Optional, string): The APM service name. + +`timeout`:: (Optional, number, default: 16): The monitor timeout in seconds, monitor will fail if it doesn't complete within this time. + +`namespace`:: (Optional, string, default: "default"): The namespace field should be lowercase and not contain spaces. The namespace must not include any of the following characters: `*`, `\`, `/`, `?`, `"`, `<`, `>`, `|`, whitespace, `,`, `#`, `:`, or `-` + +`params`:: (Optional, string): Monitor parameters. + +`retest_on_failure`:: (Optional, boolean, default: true): Enable or disable retesting when a monitor fails. By default, monitors are automatically retested if the monitor goes from "up" to "down". If the result of the retest is also "down", an error will be created, and if configured, an alert sent. Then the monitor will resume running according to the defined schedule. Using `retest_on_failure` can reduce noise related to transient problems. + + +*HTTP Monitor Fields*: + +`url`:: (Required, string): URL to monitor. + +`ssl`:: (Optional, object): The TLS/SSL connection settings for use with the HTTPS endpoint. If you don't specify settings, the system defaults are used. See https://www.elastic.co/guide/en/beats/heartbeat/current/configuration-ssl.html for full SSL Options. + +`max_redirects`:: (Optional, number, default: 0): The maximum number of redirects to follow. + +`mode`:: (Optional, string, default: "any"): The mode of the monitor. Can be "all" or "any". If you’re using a DNS-load balancer and want to ping every IP address for the specified hostname, you should use all. + + * `any`: The monitor pings only one IP address for a hostname. + * `all`: The monitor pings all resolvable IPs for a hostname. + +`ipv4`:: (Optional, boolean, default: true): Whether to ping using the ipv4 protocol. + +`ipv6`:: (Optional, boolean, default: true): Whether to ping using the ipv6 protocol. + +`username`:: (Optional, string): The username for authenticating with the server. The credentials are passed with the request. + +`password`:: (Optional, string): The password for authenticating with the server. The credentials are passed with the request. + +`proxy_headers`:: (Optional, object): Additional headers to send to proxies during CONNECT requests. + +`proxy_url`:: (Optional, string): The URL of the proxy to use for this monitor. + +`response`:: (Optional, object): Controls the indexing of the HTTP response body contents to the `http.response.body.contents` field. + +`response.include_body`:: (Optional, boolean, default: true): Controls the indexing of the HTTP response body contents to the `http.response.body.contents` field. + * `include_body` ("on_error" | "never" | "always", default: on_error) Set response.include_body to one of the options listed below. + ** `on_error`: Include the body if an error is encountered during the check. This is the default. + ** `never`: Never include the body. + ** `always`: Always include the body. + * `include_body_max_bytes` (Optional, number, default: 1024) Set `response.include_body_max_bytes` to control the maximum size of the stored body contents. + +`check`:: (Optional, object): The check request settings. + * `request` An optional request to send to the remote host. Under check.request, specify these options: + ** `method` ("HEAD" | "GET" | "POST" | "OPTIONS"): The HTTP method to use. + ** `headers` (Optional, object): A dictionary of additional HTTP headers to send. By default Synthetics will set the User-Agent header to identify itself. + ** `body` (Optional, string): Optional request body content. + + Example: This POSTs an x-www-form-urlencoded string to the endpoint +[source,sh] +-------------------------------------------------- +{ + "check": { + "request": { + "method": "POST", + "headers": { + "Content-Type": "application/x-www-form-urlencoded" + }, + "body": "name=first&email=someemail%40someemailprovider.com" + } + } +} +-------------------------------------------------- + + * `response` The expected response. Under `check.response`, specify these options: + ** `status` A list of expected status codes. 4xx and 5xx codes are considered down by default. Other codes are considered up. + ** `headers` (Optional, object): A dictionary of expected HTTP headers. If the header is not found, the check fails. + ** `body.positive`: A list of regular expressions to match the body output. Only a single expression needs to match. + Example: + This monitor examines the response body for the strings foo or Foo: + ** `body.negative`: A list of regular expressions to match the body output negatively. Return match failed if single expression matches. HTTP response bodies of up to 100MiB are supported. + This monitor examines match successfully if there is no bar or Bar at all, examines match failed if there is bar or Bar in the response body: + ** `json`: A list of expressions executed against the body when parsed as JSON. Body sizes must be less than or equal to 100 MiB. + *** `description` (string): A description of the check. + *** `expression` (string): The following configuration shows how to check the response using https://github.com/PaesslerAG/gval[gval] expressions when the body contains JSON: + + + + +*TCP Monitor Fields*: + +`host`:: (Required, string): The host to monitor; it can be an IP address or a hostname. The host can include the port using a colon (e.g., "example.com:9200"). + +`ssl`:: (Optional, object): The TLS/SSL connection settings for use with the HTTPS endpoint. If you don't specify settings, the system defaults are used. See https://www.elastic.co/guide/en/beats/heartbeat/current/configuration-ssl.html for full SSL Options. + +`check`:: An optional payload string to send to the remote host and the expected answer. If no payload is specified, the endpoint is assumed to be available if the connection attempt was successful. If send is specified without receive, any response is accepted as OK. If receive is specified without send, no payload is sent, but the client expects to receive a payload in the form of a "hello message" or "banner" on connect. + + * `send` (Optional, string): check.send: 'Hello World' + * `receive` (Optional, string): check.receive: 'Hello World' + +`proxy_url`:: (Optional, string): The URL of the SOCKS5 proxy to use when connecting to the server. The value must be a URL with a scheme of `socks5://`. If the SOCKS5 proxy server requires client authentication, then a username and password can be embedded in the URL. When using a proxy, hostnames are resolved on the proxy server instead of on the client. You can change this behavior by setting the `proxy_use_local_resolver` option. + +`proxy_use_local_resolver`:: (Optional, boolean, default: false): A Boolean value that determines whether hostnames are resolved locally instead of being resolved on the proxy server. The default value is false, which means that name resolution occurs on the proxy server. + +*ICMP Monitor Fields*: + +`host`:: (Required, string): Host to ping. +`wait`:: (Optional, number, default: 1): Wait time in seconds. + +*Browser Monitor Fields*: + +`inline_script`:: (Required, string): The inline script. + +`screenshots`:: (Optional, string, default: "on"): Screenshot option, either "on", "off" or "only-on-failure". + +`synthetics_args`:: (Optional, array): Synthetics agent CLI arguments. + +`ignore_https_errors`:: (Optional, boolean, default: false): Whether to ignore HTTPS errors. + +`playwright_options`:: (Optional, object): Playwright options. + +==== Examples + +Here are some examples of creating monitors of different types: + +**HTTP Monitor**: +Create an HTTP monitor to check a website's availability. + +[source,sh] +-------------------------------------------------- +POST /api/synthetics/monitors +{ + "type": "http", + "name": "Website Availability", + "url": "https://example.com", + "tags": ["website", "availability"], + "locations": ["united_kingdom"] +} +-------------------------------------------------- + +**TCP Monitor**: +Create a TCP monitor to monitor a server's availability. + +[source,sh] +-------------------------------------------------- +POST /api/synthetics/monitors +{ + "type": "tcp", + "name": "Server Availability", + "host": "example.com", + "private_locations": ["my_private_location"] +} +-------------------------------------------------- + +**ICMP Monitor**: +Create an ICMP monitor to perform ping checks. + +[source,sh] +-------------------------------------------------- +POST /api/synthetics/monitors +{ + "type": "icmp", + "name": "Ping Test", + "host": "example.com", + "locations": ["united_kingdom"] +} +-------------------------------------------------- + +**Browser Monitor**: +Create a Browser monitor to check a website. + +[source,sh] +-------------------------------------------------- +POST /api/synthetics/monitors +{ + "type": "browser", + "name": "Example journey", + "inline_script": "step('Go to https://google.com.co', () => page.goto('https://www.google.com'))", + "locations": ["united_kingdom"] +} +-------------------------------------------------- diff --git a/docs/api/synthetics/monitors/delete-monitor-api.asciidoc b/docs/api/synthetics/monitors/delete-monitor-api.asciidoc new file mode 100644 index 0000000000000..8730cc272a446 --- /dev/null +++ b/docs/api/synthetics/monitors/delete-monitor-api.asciidoc @@ -0,0 +1,67 @@ +[[delete-monitors-api]] +== Delete Monitors API +++++ +Delete monitors +++++ + +Deletes one or more monitors from the Synthetics app. + +=== {api-request-title} + +`DELETE :/api/synthetics/monitors` + +`DELETE :/s//api/synthetics/monitors` + +=== {api-prereq-title} + +You must have `all` privileges for the *Synthetics* feature in the *{observability}* section of the +<>. + +You must have `all` privileges for the *Synthetics* feature in the *{observability}* section of the +<>. + +[[monitors-delete-request-body]] +==== Request Body + +The request body should contain an array of monitors IDs that you want to delete. + +`ids`:: +(Required, array of strings) An array of monitor IDs to delete. + + +Here is an example of a DELETE request to delete a list of monitors by ID: + +[source,sh] +-------------------------------------------------- +DELETE /api/synthetics/monitors +{ + "ids": [ + "monitor1-id", + "monitor2-id" + ] +} +-------------------------------------------------- + +[[monitors-delete-response-example]] +==== Response Example + +The API response includes information about the deleted monitors, where each entry in the response array contains the following attributes: + +- `id` (string): The unique identifier of the deleted monitor. +- `deleted` (boolean): Indicates whether the monitor was successfully deleted (`true` if deleted, `false` if not). + +Here's an example response for deleting multiple monitors: + +[source,sh] +-------------------------------------------------- +[ + { + "id": "monitor1-id", + "deleted": true + }, + { + "id": "monitor2-id", + "deleted": true + } +] +-------------------------------------------------- \ No newline at end of file diff --git a/docs/api/synthetics/monitors/find-monitors-api.asciidoc b/docs/api/synthetics/monitors/find-monitors-api.asciidoc new file mode 100644 index 0000000000000..6e08d9aa85662 --- /dev/null +++ b/docs/api/synthetics/monitors/find-monitors-api.asciidoc @@ -0,0 +1,126 @@ +[[find-monitors-api]] +== Find Monitors API +++++ +Get List of Monitors API +++++ + +Get a list of monitors based on query parameters. + +[[find-monitor-api-req]] +=== {api-request-title} + +`GET :/api/synthetics/monitors` + +`GET :/s//api/synthetics/monitors` + +=== {api-prereq-title} + +You must have `read` privileges for the *Synthetics* feature in the *{observability}* section of the +<>. + +[[find-monitor-api-path-params]] +=== {api-path-parms-title} + +`space_id`:: +(Optional, string) An identifier for the space. If `space_id` is not provided in +the URL, the default space is used. + +[[find-monitors-api-query-params]] +=== {api-query-parms-title} + + +`page`:: +(optional, integer): Page number for paginated results. + +`perPage`:: +(optional, integer): Number of items per page. + +`sortField`:: +(optional, string): Field to sort the results by. Possible values: `name`, `createdAt`, `updatedAt`, `status`. + +`sortOrder`:: +(optional, string): Sort order (asc or desc). + +`query`:: +(optional, string): Free-text query string. + +`filter`:: +(optional, string): Additional filtering criteria. + +`tags`:: +(optional, string or array): Tags to filter monitors. + +`monitorTypes`:: +(optional, string or array): Monitor types to filter, (e.g., `http` , `tcp` , `icmp` or `browser`) + +`locations`:: +(optional, string or array): Locations to filter by. + +`projects`:: +(optional, string or array): Projects to filter by. + +`schedules`:: +(optional, string or array): Schedules to filter by. + +`status`:: +(optional, string or array): Status to filter by. + + +==== Examples + +Here is an example of how to use this API: + +[source,sh] +-------------------------------------------------- +GET /api/synthetics/monitors?tags=prod&monitorTypes=http&locations=us-east-1&projects=project1&status=up +{ + "page": 1, + "total": 24, + "monitors": [ + { + "type": "icmp", + "enabled": false, + "alert": { + "status": { + "enabled": true + }, + "tls": { + "enabled": true + } + }, + "schedule": { + "number": "3", + "unit": "m" + }, + "config_id": "e59142e5-1fe3-4aae-b0b0-19d6345e65a1", + "timeout": "16", + "name": "8.8.8.8:80", + "locations": [ + { + "id": "us_central", + "label": "North America - US Central", + "geo": { + "lat": 41.25, + "lon": -95.86 + }, + "isServiceManaged": true + } + ], + "namespace": "default", + "origin": "ui", + "id": "e59142e5-1fe3-4aae-b0b0-19d6345e65a1", + "max_attempts": 2, + "wait": "7", + "revision": 3, + "mode": "all", + "ipv4": true, + "ipv6": true, + "created_at": "2023-11-07T09:57:04.152Z", + "updated_at": "2023-12-04T19:19:34.039Z", + "host": "8.8.8.8:80" + } + ], + "absoluteTotal": 24, + "perPage": 10, +} +-------------------------------------------------- diff --git a/docs/api/synthetics/monitors/get-monitor-api.asciidoc b/docs/api/synthetics/monitors/get-monitor-api.asciidoc new file mode 100644 index 0000000000000..4425ca6c39ba3 --- /dev/null +++ b/docs/api/synthetics/monitors/get-monitor-api.asciidoc @@ -0,0 +1,93 @@ +[[get-monitor-api]] +== Get Monitor API +++++ +Get monitor +++++ + +Get a monitor with the config_id. If the monitor is not found, then this API returns a 404 error. + +[[get-monitor-api-req]] +=== {api-request-title} + +`GET :/api/synthetics/monitors/` + +`GET :/s//api/synthetics/monitors/` + +=== {api-prereq-title} + +You must have `read` privileges for the *Synthetics* feature in the *{observability}* section of the +<>. + +[[get-monitor-api-path-params]] +=== {api-path-parms-title} + +`config_id`:: +(Required, string) The ID of the monitor that you want to update. + +`space_id`:: +(Optional, string) An identifier for the space. If `space_id` is not provided in +the URL, the default space is used. + +==== Examples + +Here is an example of how to use this API: + +[source,sh] +-------------------------------------------------- +GET /api/synthetics/monitors/ +{ + "type": "http", + "enabled": true, + "alert": { + "status": { + "enabled": true + }, + "tls": { + "enabled": true + } + }, + "schedule": { + "number": "3", + "unit": "m" + }, + "config_id": "a8188705-d01e-4bb6-87a1-64fa5e4b07ec", + "timeout": "16", + "name": "am i something", + "locations": [ + { + "id": "us_central", + "label": "North America - US Central", + "geo": { + "lat": 41.25, + "lon": -95.86 + }, + "isServiceManaged": true + } + ], + "namespace": "default", + "origin": "ui", + "id": "a8188705-d01e-4bb6-87a1-64fa5e4b07ec", + "max_attempts": 2, + "__ui": { + "is_tls_enabled": false + }, + "max_redirects": "0", + "response.include_body": "on_error", + "response.include_headers": true, + "check.request.method": "GET", + "mode": "any", + "response.include_body_max_bytes": "1024", + "ipv4": true, + "ipv6": true, + "ssl.verification_mode": "full", + "ssl.supported_protocols": [ + "TLSv1.1", + "TLSv1.2", + "TLSv1.3" + ], + "revision": 13, + "created_at": "2023-11-08T08:45:29.334Z", + "updated_at": "2023-12-18T20:31:44.770Z", + "url": "https://fast.com" +} +-------------------------------------------------- diff --git a/docs/api/synthetics/monitors/update-monitor-api.asciidoc b/docs/api/synthetics/monitors/update-monitor-api.asciidoc new file mode 100644 index 0000000000000..82b1a5e43684b --- /dev/null +++ b/docs/api/synthetics/monitors/update-monitor-api.asciidoc @@ -0,0 +1,268 @@ +[[update-monitor-api]] +== Update Monitor API +++++ +Update monitor +++++ + +Updates a new monitor with the specified attributes. The required and default fields may vary based on the monitor type. + +=== {api-request-title} + +`PUT :/api/synthetics/monitors/` + +`PUT :/s//api/synthetics/monitors/` + +=== {api-prereq-title} + +You must have `all` privileges for the *Synthetics* feature in the *{observability}* section of the +<>. + + +[[update-monitor-api-path-params]] +=== {api-path-parms-title} + +`config_id`:: +(Required, string) The ID of the monitor that you want to update. + +`space_id`:: +(Optional, string) An identifier for the space. If `space_id` is not provided in +the URL, the default space is used. + +[[monitor-update-body]] +==== Request Body + +The request body should contain the attributes of the monitor you want to update. The required and default fields differ depending on the monitor type: + +*Common Fields*: + +`name`:: (string): The monitor's name. + +`schedule`:: (Optional, number): The monitor's schedule in minutes. Supported values are `1`, `3`, `5`, `10`, `15`, `30`, `60`, `120` and `240`. + * The default value is `3` minutes for HTTP, TCP, and ICMP monitors. + + * The default value is `10` minutes for Browser monitors. + +:private-locations-url: https://www.elastic.co/guide/en/observability/current/synthetics-private-location.html + +`locations`:: (https://github.com/elastic/synthetics/blob/main/src/locations/public-locations.ts#L28-L37[`Array`]) +Where to deploy the monitor. Monitors can be deployed in multiple locations so that you can detect differences in availability and response times across those locations. ++ +To list available locations you can: ++ + * Run the {locations-command}[`elastic-synthetics locations`] command + with the deployment's {kib} URL. + * Go to *Synthetics* -> *Management* and click *Create monitor*. + Locations will be listed in _Locations_. + +`private_locations` (`Array`):: + +The {private-locations-url}[Private Locations] to which the monitors will be deployed. These Private Locations refer to locations hosted and managed by you, whereas +`locations` are hosted by Elastic. You can specify a Private Location using the location's name. ++ +To list available Private Locations you can: ++ + * Run the {locations-command}[`elastic-synthetics locations`] command + with the deployment's {kib} URL. + * Go to *Synthetics* -> *Settings* and click *Private locations*. + Private Locations will be listed in the table. + +[NOTE] +==== +You may provide `locations` or `private_locations`, or both. At least one is required. +==== + + +`enabled`:: (Optional, boolean, default: true): Whether the monitor is enabled. + +`tags`:: (Optional, array of strings): An array of tags. + +`alert`:: (Optional, object, default: `{ status: { enabled: true }, tls: { enabled: true } }`): Alert configuration. + +`service.name`:: (Optional, string): The APM service name. + +`timeout`:: (Optional, number, default: 16): The monitor timeout in seconds, monitor will fail if it doesn't complete within this time. + +`namespace`:: (Optional, string, default: "default"): The namespace field should be lowercase and not contain spaces. The namespace must not include any of the following characters: `*`, `\`, `/`, `?`, `"`, `<`, `>`, `|`, whitespace, `,`, `#`, `:`, or `-` + +`params`:: (Optional, string): Monitor parameters. + +`retest_on_failure`:: (Optional, boolean, default: true): Enable or disable retesting when a monitor fails. By default, monitors are automatically retested if the monitor goes from "up" to "down". If the result of the retest is also "down", an error will be created, and if configured, an alert sent. Then the monitor will resume running according to the defined schedule. Using `retest_on_failure` can reduce noise related to transient problems. + + +*HTTP Monitor Fields*: + +`url`:: (Required, string): URL to monitor. + +`ssl`:: (Optional, object): The TLS/SSL connection settings for use with the HTTPS endpoint. If you don't specify settings, the system defaults are used. See https://www.elastic.co/guide/en/beats/heartbeat/current/configuration-ssl.html for full SSL Options. + +`max_redirects`:: (Optional, number, default: 0): The maximum number of redirects to follow. + +`mode`:: (Optional, string, default: "any"): The mode of the monitor. Can be "all" or "any". If you’re using a DNS-load balancer and want to ping every IP address for the specified hostname, you should use all. + + * `any`: The monitor pings only one IP address for a hostname. + * `all`: The monitor pings all resolvable IPs for a hostname. + +`ipv4`:: (Optional, boolean, default: true): Whether to ping using the ipv4 protocol. + +`ipv6`:: (Optional, boolean, default: true): Whether to ping using the ipv6 protocol. + +`username`:: (Optional, string): The username for authenticating with the server. The credentials are passed with the request. + +`password`:: (Optional, string): The password for authenticating with the server. The credentials are passed with the request. + +`proxy_headers`:: (Optional, object): Additional headers to send to proxies during CONNECT requests. + +`proxy_url`:: (Optional, string): The URL of the proxy to use for this monitor. + +`response`:: (Optional, object): Controls the indexing of the HTTP response body contents to the `http.response.body.contents` field. + +`response.include_body`:: (Optional, boolean, default: true): Controls the indexing of the HTTP response body contents to the `http.response.body.contents` field. + * `include_body` ("on_error" | "never" | "always", default: on_error) Set response.include_body to one of the options listed below. + ** `on_error`: Include the body if an error is encountered during the check. This is the default. + ** `never`: Never include the body. + ** `always`: Always include the body. + * `include_body_max_bytes` (Optional, number, default: 1024) Set `response.include_body_max_bytes` to control the maximum size of the stored body contents. + +`check`:: (Optional, object): The check request settings. + * `request` An optional request to send to the remote host. Under check.request, specify these options: + ** `method` ("HEAD" | "GET" | "POST" | "OPTIONS"): The HTTP method to use. + ** `headers` (Optional, object): A dictionary of additional HTTP headers to send. By default Synthetics will set the User-Agent header to identify itself. + ** `body` (Optional, string): Optional request body content. + + Example: This POSTs an x-www-form-urlencoded string to the endpoint +[source,sh] +-------------------------------------------------- +{ + "check": { + "request": { + "method": "POST", + "headers": { + "Content-Type": "application/x-www-form-urlencoded" + }, + "body": "name=first&email=someemail%40someemailprovider.com" + } + } +} +-------------------------------------------------- + + * `response` The expected response. Under `check.response`, specify these options: + ** `status` A list of expected status codes. 4xx and 5xx codes are considered down by default. Other codes are considered up. + ** `headers` (Optional, object): A dictionary of expected HTTP headers. If the header is not found, the check fails. + ** `body.positive`: A list of regular expressions to match the body output. Only a single expression needs to match. + Example: + This monitor examines the response body for the strings foo or Foo: + ** `body.negative`: A list of regular expressions to match the body output negatively. Return match failed if single expression matches. HTTP response bodies of up to 100MiB are supported. + This monitor examines match successfully if there is no bar or Bar at all, examines match failed if there is bar or Bar in the response body: + ** `json`: A list of expressions executed against the body when parsed as JSON. Body sizes must be less than or equal to 100 MiB. + *** `description` (string): A description of the check. + *** `expression` (string): The following configuration shows how to check the response using [gval](https://github.com/PaesslerAG/gval) expressions when the body contains JSON: + + + + +*TCP Monitor Fields*: + +`host`:: (Required, string): The host to monitor; it can be an IP address or a hostname. The host can include the port using a colon (e.g., "example.com:9200"). + +`ssl`:: (Optional, object): The TLS/SSL connection settings for use with the HTTPS endpoint. If you don't specify settings, the system defaults are used. See https://www.elastic.co/guide/en/beats/heartbeat/current/configuration-ssl.html for full SSL Options. + +`check`:: An optional payload string to send to the remote host and the expected answer. If no payload is specified, the endpoint is assumed to be available if the connection attempt was successful. If send is specified without receive, any response is accepted as OK. If receive is specified without send, no payload is sent, but the client expects to receive a payload in the form of a "hello message" or "banner" on connect. + + * `send` (Optional, string): check.send: 'Hello World' + * `receive` (Optional, string): check.receive: 'Hello World' + +`proxy_url`:: (Optional, string): The URL of the SOCKS5 proxy to use when connecting to the server. The value must be a URL with a scheme of `socks5://`. If the SOCKS5 proxy server requires client authentication, then a username and password can be embedded in the URL. When using a proxy, hostnames are resolved on the proxy server instead of on the client. You can change this behavior by setting the `proxy_use_local_resolver` option. + +`proxy_use_local_resolver`:: (Optional, boolean, default: false): A Boolean value that determines whether hostnames are resolved locally instead of being resolved on the proxy server. The default value is false, which means that name resolution occurs on the proxy server. + +*ICMP Monitor Fields*: + +`host`:: (Required, string): Host to ping. +`wait`:: (Optional, number, default: 1): Wait time in seconds. + +*Browser Monitor Fields*: + +`inline_script`:: (Required, string): The inline script. + +`screenshots`:: (Optional, string, default: "on"): Screenshot option, either "on", "off" or "only-on-failure". + +`synthetics_args`:: (Optional, array): Synthetics agent CLI arguments. + +`ignore_https_errors`:: (Optional, boolean, default: false): Whether to ignore HTTPS errors. + +`playwright_options`:: (Optional, object): Playwright options. + +==== Examples + +Here are some examples of creating monitors of different types: + +**HTTP Monitor**: +Create an HTTP monitor to check a website's availability. + +[source,sh] +-------------------------------------------------- +PUT /api/synthetics/monitors/ +{ + "type": "http", + "name": "Website Availability", + "url": "https://example.com", + "tags": ["website", "availability"], + "locations": ["united_kingdom"] +} +-------------------------------------------------- + +**TCP Monitor**: +Create a TCP monitor to monitor a server's availability. + +[source,sh] +-------------------------------------------------- +PUT /api/synthetics/monitors/ +{ + "type": "tcp", + "name": "Server Availability", + "host": "example.com", + "private_locations": ["my_private_location"] +} +-------------------------------------------------- + +**ICMP Monitor**: +Create an ICMP monitor to perform ping checks. + +[source,sh] +-------------------------------------------------- +PUT /api/synthetics/monitors/ +{ + "type": "icmp", + "name": "Ping Test", + "host": "example.com", + "locations": ["united_kingdom"] +} +-------------------------------------------------- + +**Browser Monitor**: +Create a Browser monitor to check a website. + +[source,sh] +-------------------------------------------------- +PUT /api/synthetics/monitors/ +{ + "type": "browser", + "name": "Example journey", + "inline_script": "step('Go to https://google.com.co', () => page.goto('https://www.google.com'))", + "locations": ["united_kingdom"] +} +-------------------------------------------------- + +==== Partial Updates + +You can also partially update a monitor. This will only update the fields that are specified in the request body. All other fields are left unchanged. +Specified fields should confirm to the monitor type. For example, you can't update the `inline_scipt` field of a HTTP monitor. + +[source,sh] +-------------------------------------------------- +PUT /api/synthetics/monitors/ +{ + "name": "New name" +} +-------------------------------------------------- + diff --git a/docs/api/synthetics/synthetics-api.asciidoc b/docs/api/synthetics/synthetics-api.asciidoc index bb4b2d8f67c26..a2b70889a76b0 100644 --- a/docs/api/synthetics/synthetics-api.asciidoc +++ b/docs/api/synthetics/synthetics-api.asciidoc @@ -3,6 +3,16 @@ The following APIs are available for Synthetics. +* <> - Add a new monitor to Synthetics app. + +* <> - Update an existing monitor in Synthetics app. + +* <> - Delete an existing monitor from Synthetics app. + +* <> to get a monitor. + +* <> to find monitors. + * <> to get a parameter(s). * <> to create a parameter. @@ -17,6 +27,11 @@ The following APIs are available for Synthetics. * <> to get a list of private locations +include::monitors/add-monitor-api.asciidoc[leveloffset=+1] +include::monitors/update-monitor-api.asciidoc[leveloffset=+1] +include::monitors/delete-monitor-api.asciidoc[leveloffset=+1] +include::monitors/get-monitor-api.asciidoc[leveloffset=+1] +include::monitors/find-monitors-api.asciidoc[leveloffset=+1] include::params/add-param.asciidoc[leveloffset=+1] include::params/get-params.asciidoc[leveloffset=+1] include::params/edit-param.asciidoc[leveloffset=+1] diff --git a/licenses/ELASTIC-LICENSE-2.0-HEADER.txt b/licenses/ELASTIC-LICENSE-2.0-HEADER.txt new file mode 100644 index 0000000000000..1fec1c76430eb --- /dev/null +++ b/licenses/ELASTIC-LICENSE-2.0-HEADER.txt @@ -0,0 +1,6 @@ +/* + * 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. + */ diff --git a/package.json b/package.json index f980721107057..2b0165695c876 100644 --- a/package.json +++ b/package.json @@ -521,6 +521,7 @@ "@kbn/interactive-setup-test-endpoints-plugin": "link:test/interactive_setup_api_integration/plugins/test_endpoints", "@kbn/interpreter": "link:packages/kbn-interpreter", "@kbn/io-ts-utils": "link:packages/kbn-io-ts-utils", + "@kbn/ipynb": "link:packages/kbn-ipynb", "@kbn/kbn-health-gateway-status-plugin": "link:test/health_gateway/plugins/status", "@kbn/kbn-sample-panel-action-plugin": "link:test/plugin_functional/plugins/kbn_sample_panel_action", "@kbn/kbn-top-nav-plugin": "link:test/plugin_functional/plugins/kbn_top_nav", @@ -1021,6 +1022,7 @@ "ipaddr.js": "2.0.0", "isbinaryfile": "4.0.2", "joi": "^17.7.1", + "joi-to-json": "^4.2.1", "jquery": "^3.5.0", "js-levenshtein": "^1.1.6", "js-search": "^1.4.3", diff --git a/packages/core/analytics/core-analytics-browser-internal/src/analytics_service.test.ts b/packages/core/analytics/core-analytics-browser-internal/src/analytics_service.test.ts index 177a01393a3e2..405d01a98052e 100644 --- a/packages/core/analytics/core-analytics-browser-internal/src/analytics_service.test.ts +++ b/packages/core/analytics/core-analytics-browser-internal/src/analytics_service.test.ts @@ -115,6 +115,34 @@ describe('AnalyticsService', () => { }, "type": "keyword", }, + "key6": Object { + "_meta": Object { + "description": "Performance metric label 6", + "optional": true, + }, + "type": "keyword", + }, + "key7": Object { + "_meta": Object { + "description": "Performance metric label 7", + "optional": true, + }, + "type": "keyword", + }, + "key8": Object { + "_meta": Object { + "description": "Performance metric label 8", + "optional": true, + }, + "type": "keyword", + }, + "key9": Object { + "_meta": Object { + "description": "Performance metric label 9", + "optional": true, + }, + "type": "keyword", + }, "meta": Object { "_meta": Object { "description": "Meta data that is searchable but not aggregatable", @@ -157,6 +185,34 @@ describe('AnalyticsService', () => { }, "type": "long", }, + "value6": Object { + "_meta": Object { + "description": "Performance metric value 6", + "optional": true, + }, + "type": "long", + }, + "value7": Object { + "_meta": Object { + "description": "Performance metric value 7", + "optional": true, + }, + "type": "long", + }, + "value8": Object { + "_meta": Object { + "description": "Performance metric value 8", + "optional": true, + }, + "type": "long", + }, + "value9": Object { + "_meta": Object { + "description": "Performance metric value 9", + "optional": true, + }, + "type": "long", + }, }, }, ] diff --git a/packages/core/analytics/core-analytics-server-internal/src/analytics_service.test.ts b/packages/core/analytics/core-analytics-server-internal/src/analytics_service.test.ts index e8ff069cdce09..65e74e482ce48 100644 --- a/packages/core/analytics/core-analytics-server-internal/src/analytics_service.test.ts +++ b/packages/core/analytics/core-analytics-server-internal/src/analytics_service.test.ts @@ -94,6 +94,34 @@ describe('AnalyticsService', () => { }, "type": "keyword", }, + "key6": Object { + "_meta": Object { + "description": "Performance metric label 6", + "optional": true, + }, + "type": "keyword", + }, + "key7": Object { + "_meta": Object { + "description": "Performance metric label 7", + "optional": true, + }, + "type": "keyword", + }, + "key8": Object { + "_meta": Object { + "description": "Performance metric label 8", + "optional": true, + }, + "type": "keyword", + }, + "key9": Object { + "_meta": Object { + "description": "Performance metric label 9", + "optional": true, + }, + "type": "keyword", + }, "meta": Object { "_meta": Object { "description": "Meta data that is searchable but not aggregatable", @@ -136,6 +164,34 @@ describe('AnalyticsService', () => { }, "type": "long", }, + "value6": Object { + "_meta": Object { + "description": "Performance metric value 6", + "optional": true, + }, + "type": "long", + }, + "value7": Object { + "_meta": Object { + "description": "Performance metric value 7", + "optional": true, + }, + "type": "long", + }, + "value8": Object { + "_meta": Object { + "description": "Performance metric value 8", + "optional": true, + }, + "type": "long", + }, + "value9": Object { + "_meta": Object { + "description": "Performance metric value 9", + "optional": true, + }, + "type": "long", + }, }, }, ] diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts index 7a07e9df73932..3bf7ab94af0de 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.test.ts @@ -37,13 +37,15 @@ import { elasticsearchClientMock } from '@kbn/core-elasticsearch-client-server-m import { configSchema, ElasticsearchConfig } from './elasticsearch_config'; import { ElasticsearchService, SetupDeps } from './elasticsearch_service'; import { duration } from 'moment'; -import { isValidConnection as isValidConnectionMock } from './is_valid_connection'; +import { isValidConnection } from './is_valid_connection'; import { pollEsNodesVersion as pollEsNodesVersionMocked } from './version_check/ensure_es_version'; const { pollEsNodesVersion: pollEsNodesVersionActual } = jest.requireActual( './version_check/ensure_es_version' ); +const isValidConnectionMock = isValidConnection as jest.Mock; + const delay = async (durationMs: number) => await new Promise((resolve) => setTimeout(resolve, durationMs)); @@ -286,6 +288,48 @@ describe('#start', () => { ]); }); + it('logs an info message about connecting to ES', async () => { + isValidConnectionMock.mockImplementation(async () => { + await new Promise((r) => setTimeout(r, 50)); + }); + + await elasticsearchService.setup(setupDeps); + await elasticsearchService.start(); + + expect(isValidConnectionMock).toHaveBeenCalledTimes(1); + + const infoMessages = loggingSystemMock.collect(coreContext.logger).info; + expect(infoMessages).toHaveLength(1); + + const esMessage = infoMessages[0][0]; + expect(esMessage).toMatch( + /^Successfully connected to Elasticsearch after waiting for ([0-9]+) milliseconds$/ + ); + }); + + it('returns the information about the time spent waiting for Elasticsearch', async () => { + isValidConnectionMock.mockImplementation(async () => { + await new Promise((r) => setTimeout(r, 50)); + }); + + await elasticsearchService.setup(setupDeps); + const startContract = await elasticsearchService.start(); + + expect(isValidConnectionMock).toHaveBeenCalledTimes(1); + + const infoMessages = loggingSystemMock.collect(coreContext.logger).info; + expect(infoMessages).toHaveLength(1); + + const regexp = + /^Successfully connected to Elasticsearch after waiting for ([0-9]+) milliseconds$/; + + const esMessage = infoMessages[0][0]; + const groups = regexp.exec(esMessage); + const esWaitTime = parseInt(groups![1], 10); + + expect(startContract.metrics.elasticsearchWaitTime).toEqual(esWaitTime); + }); + describe('skipStartupConnectionCheck', () => { it('should validate the connection by default', async () => { await elasticsearchService.setup(setupDeps); diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts index 06c22d1c24e0f..4584028265585 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/elasticsearch_service.ts @@ -145,11 +145,24 @@ export class ElasticsearchService }); let capabilities: ElasticsearchCapabilities; + let elasticsearchWaitTime: number; if (!config.skipStartupConnectionCheck) { + const elasticsearchWaitStartTime = performance.now(); // Ensure that the connection is established and the product is valid before moving on await isValidConnection(this.esNodesCompatibility$); + elasticsearchWaitTime = Math.round(performance.now() - elasticsearchWaitStartTime); + this.log.info( + `Successfully connected to Elasticsearch after waiting for ${elasticsearchWaitTime} milliseconds`, + { + event: { + type: 'kibana_started.elasticsearch.waitTime', + duration: elasticsearchWaitTime, + }, + } + ); + // Ensure inline scripting is enabled on the ES cluster const scriptingEnabled = await isInlineScriptingEnabled({ client: this.client.asInternalUser, @@ -170,12 +183,16 @@ export class ElasticsearchService capabilities = { serverless: false, }; + elasticsearchWaitTime = 0; } return { client: this.client!, createClient: (type, clientConfig) => this.createClusterClient(type, config, clientConfig), getCapabilities: () => capabilities, + metrics: { + elasticsearchWaitTime, + }, }; } diff --git a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/types.ts b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/types.ts index c026b93943df5..55450fb192d1b 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-internal/src/types.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-internal/src/types.ts @@ -31,7 +31,17 @@ export interface InternalElasticsearchServiceSetup extends ElasticsearchServiceS /** * @internal */ -export type InternalElasticsearchServiceStart = ElasticsearchServiceStart; +export interface InternalElasticsearchServiceStart extends ElasticsearchServiceStart { + metrics: { + /** + * The number of milliseconds we had to wait until ES was ready. + * + * Technically, this is the amount of time spent within the `isValidConnection` check of + * the ES service's start method. + */ + elasticsearchWaitTime: number; + }; +} /** @internal */ export interface ElasticsearchStatusMeta { diff --git a/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts b/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts index 88016464a2848..f1f046b9d4420 100644 --- a/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts +++ b/packages/core/elasticsearch/core-elasticsearch-server-mocks/src/elasticsearch_service.mock.ts @@ -26,6 +26,7 @@ import type { ElasticsearchConfig, ElasticsearchService, InternalElasticsearchServiceSetup, + InternalElasticsearchServiceStart, ElasticsearchStatusMeta, NodesVersionCompatibility, ClusterInfo, @@ -106,7 +107,21 @@ const createInternalSetupContractMock = () => { return internalSetupContract; }; -const createInternalStartContractMock = createStartContractMock; +type MockedInternalElasticsearchServiceStart = jest.Mocked< + Omit +> & + Pick; + +const createInternalStartContractMock = () => { + const startContract = createStartContractMock(); + const internalStartContractMock: MockedInternalElasticsearchServiceStart = { + ...startContract, + metrics: { + elasticsearchWaitTime: 0, + }, + }; + return internalStartContractMock; +}; type ElasticsearchServiceContract = PublicMethodsOf; const createMock = () => { @@ -133,6 +148,7 @@ const createCapabilities = ( }; export const elasticsearchServiceMock = { + ...elasticsearchClientMock, create: createMock, createInternalPreboot: createInternalPrebootContractMock, createPreboot: createPrebootContractMock, @@ -141,6 +157,4 @@ export const elasticsearchServiceMock = { createInternalStart: createInternalStartContractMock, createStart: createStartContractMock, createCapabilities, - - ...elasticsearchClientMock, }; diff --git a/packages/core/root/core-root-server-internal/src/events/index.ts b/packages/core/root/core-root-server-internal/src/events/index.ts new file mode 100644 index 0000000000000..bf7e74427da8a --- /dev/null +++ b/packages/core/root/core-root-server-internal/src/events/index.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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { AnalyticsServiceSetup } from '@kbn/core-analytics-server'; +import { registerKibanaStartedEvent } from './kibana_started'; + +export { reportKibanaStartedEvent, type UptimeSteps } from './kibana_started'; + +export const registerRootEvents = (analytics: AnalyticsServiceSetup) => { + registerKibanaStartedEvent(analytics); +}; diff --git a/packages/core/root/core-root-server-internal/src/events/kibana_started.ts b/packages/core/root/core-root-server-internal/src/events/kibana_started.ts new file mode 100644 index 0000000000000..aa6dc18ebff08 --- /dev/null +++ b/packages/core/root/core-root-server-internal/src/events/kibana_started.ts @@ -0,0 +1,175 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; +import type { AnalyticsServiceSetup, AnalyticsServiceStart } from '@kbn/core-analytics-server'; + +const KIBANA_STARTED_EVENT_NAME = 'kibana_started'; + +/** @internal */ +export interface UptimePerStep { + start: number; + end: number; +} + +/** @internal */ +export interface UptimeSteps { + constructor: UptimePerStep; + preboot: UptimePerStep; + setup: UptimePerStep; + start: UptimePerStep; + elasticsearch: { + waitTime: number; + }; + savedObjects: { + migrationTime: number; + }; +} + +export const registerKibanaStartedEvent = (analytics: AnalyticsServiceSetup) => { + analytics.registerEventType<{ uptime_per_step: UptimeSteps }>({ + eventType: KIBANA_STARTED_EVENT_NAME, + schema: { + uptime_per_step: { + properties: { + constructor: { + properties: { + start: { + type: 'float', + _meta: { + description: + 'Number of milliseconds the Node.js process has been running until the constructor was called', + }, + }, + end: { + type: 'float', + _meta: { + description: + 'Number of milliseconds the Node.js process has been running until the constructor finished', + }, + }, + }, + }, + preboot: { + properties: { + start: { + type: 'float', + _meta: { + description: + 'Number of milliseconds the Node.js process has been running until `preboot` was called', + }, + }, + end: { + type: 'float', + _meta: { + description: + 'Number of milliseconds the Node.js process has been running until `preboot` finished', + }, + }, + }, + }, + setup: { + properties: { + start: { + type: 'float', + _meta: { + description: + 'Number of milliseconds the Node.js process has been running until `setup` was called', + }, + }, + end: { + type: 'float', + _meta: { + description: + 'Number of milliseconds the Node.js process has been running until `setup` finished', + }, + }, + }, + }, + start: { + properties: { + start: { + type: 'float', + _meta: { + description: + 'Number of milliseconds the Node.js process has been running until `start` was called', + }, + }, + end: { + type: 'float', + _meta: { + description: + 'Number of milliseconds the Node.js process has been running until `start` finished', + }, + }, + }, + }, + elasticsearch: { + properties: { + waitTime: { + type: 'long', + _meta: { + description: + 'Number of milliseconds Kibana waited for Elasticsearch during the its start phase', + }, + }, + }, + }, + savedObjects: { + properties: { + migrationTime: { + type: 'long', + _meta: { + description: 'Number of milliseconds it took to run the SO migration', + }, + }, + }, + }, + }, + _meta: { + description: + 'Number of milliseconds the Node.js process has been running until each phase of the server execution is called and finished.', + }, + }, + }, + }); +}; + +/** + * Reports the new and legacy KIBANA_STARTED_EVENT. + */ +export const reportKibanaStartedEvent = ({ + analytics, + uptimeSteps, +}: { + analytics: AnalyticsServiceStart; + uptimeSteps: UptimeSteps; +}) => { + // Report the legacy KIBANA_STARTED_EVENT. + analytics.reportEvent(KIBANA_STARTED_EVENT_NAME, { uptime_per_step: uptimeSteps }); + + // Report the metric-shaped KIBANA_STARTED_EVENT. + reportPerformanceMetricEvent(analytics, { + eventName: KIBANA_STARTED_EVENT_NAME, + duration: uptimeSteps.start.end - uptimeSteps.constructor.start, + key1: 'time_to_constructor', + value1: uptimeSteps.constructor.start, + key2: 'constructor_time', + value2: uptimeSteps.constructor.end - uptimeSteps.constructor.start, + key3: 'preboot_time', + value3: uptimeSteps.preboot.end - uptimeSteps.preboot.start, + key4: 'setup_time', + value4: uptimeSteps.setup.end - uptimeSteps.setup.start, + key5: 'start_time', + value5: uptimeSteps.start.end - uptimeSteps.start.start, + key6: 'es_wait_time', + value6: uptimeSteps.elasticsearch.waitTime, + key7: 'migration_time', + value7: uptimeSteps.savedObjects.migrationTime, + }); +}; diff --git a/packages/core/root/core-root-server-internal/src/server.test.ts b/packages/core/root/core-root-server-internal/src/server.test.ts index 3d878921b7ec0..e226e670d5e31 100644 --- a/packages/core/root/core-root-server-internal/src/server.test.ts +++ b/packages/core/root/core-root-server-internal/src/server.test.ts @@ -34,6 +34,8 @@ import { BehaviorSubject } from 'rxjs'; import { REPO_ROOT } from '@kbn/repo-info'; import { Env } from '@kbn/config'; import { rawConfigServiceMock, getEnvOptions } from '@kbn/config-mocks'; +import { elasticsearchServiceMock } from '@kbn/core-elasticsearch-server-mocks'; +import { savedObjectsServiceMock } from '@kbn/core-saved-objects-server-mocks'; import { Server } from './server'; import { MIGRATION_EXCEPTION_CODE } from './constants'; @@ -62,6 +64,11 @@ beforeEach(() => { uiPlugins: { internal: new Map(), public: new Map(), browserConfigs: new Map() }, }, }); + + mockElasticsearchService.start.mockResolvedValue(elasticsearchServiceMock.createInternalStart()); + mockSavedObjectsService.start.mockResolvedValue( + savedObjectsServiceMock.createInternalStartContract() + ); }); afterEach(() => { diff --git a/packages/core/root/core-root-server-internal/src/server.ts b/packages/core/root/core-root-server-internal/src/server.ts index ce7f7c795ebb4..b26fcb1dce9bf 100644 --- a/packages/core/root/core-root-server-internal/src/server.ts +++ b/packages/core/root/core-root-server-internal/src/server.ts @@ -8,7 +8,6 @@ import apm from 'elastic-apm-node'; import { firstValueFrom } from 'rxjs'; -import { reportPerformanceMetricEvent } from '@kbn/ebt-tools'; import type { Logger, LoggerFactory } from '@kbn/logging'; import type { NodeRoles } from '@kbn/core-node-server'; import { CriticalError } from '@kbn/core-base-server-internal'; @@ -18,7 +17,6 @@ import { LoggingService, ILoggingSystem } from '@kbn/core-logging-server-interna import { ensureValidConfiguration } from '@kbn/core-config-server-internal'; import { NodeService } from '@kbn/core-node-server-internal'; import { AnalyticsService } from '@kbn/core-analytics-server-internal'; -import type { AnalyticsServiceSetup, AnalyticsServiceStart } from '@kbn/core-analytics-server'; import { EnvironmentService } from '@kbn/core-environment-server-internal'; import { ExecutionContextService } from '@kbn/core-execution-context-server-internal'; import { PrebootService } from '@kbn/core-preboot-server-internal'; @@ -57,23 +55,11 @@ import { SecurityService } from '@kbn/core-security-server-internal'; import { registerServiceConfig } from './register_service_config'; import { MIGRATION_EXCEPTION_CODE } from './constants'; import { coreConfig, type CoreConfigType } from './core_config'; +import { registerRootEvents, reportKibanaStartedEvent, type UptimeSteps } from './events'; const coreId = Symbol('core'); -const KIBANA_STARTED_EVENT = 'kibana_started'; /** @internal */ -interface UptimePerStep { - start: number; - end: number; -} - -/** @internal */ -interface UptimeSteps { - constructor: UptimePerStep; - preboot: UptimePerStep; - setup: UptimePerStep; - start: UptimePerStep; -} export class Server { public readonly configService: ConfigService; @@ -258,7 +244,7 @@ export class Server { const analyticsSetup = this.analytics.setup(); - this.registerKibanaStartedEventType(analyticsSetup); + registerRootEvents(analyticsSetup); const environmentSetup = this.environment.setup(); @@ -391,7 +377,12 @@ export class Server { const securityStart = this.security.start(); const executionContextStart = this.executionContext.start(); const docLinkStart = this.docLinks.start(); + const elasticsearchStart = await this.elasticsearch.start(); + this.uptimePerStep.elasticsearch = { + waitTime: elasticsearchStart.metrics.elasticsearchWaitTime, + }; + const deprecationsStart = this.deprecations.start(); const soStartSpan = startTransaction.startSpan('saved_objects.migration', 'migration'); const savedObjectsStart = await this.savedObjects.start({ @@ -400,6 +391,9 @@ export class Server { docLinks: docLinkStart, node: await this.node.start(), }); + this.uptimePerStep.savedObjects = { + migrationTime: savedObjectsStart.metrics.migrationDuration, + }; await this.resolveSavedObjectsStartPromise!(savedObjectsStart); soStartSpan?.end(); @@ -450,7 +444,11 @@ export class Server { startTransaction.end(); this.uptimePerStep.start = { start: startStartUptime, end: performance.now() }; - this.reportKibanaStartedEvents(analyticsStart); + + reportKibanaStartedEvent({ + uptimeSteps: this.uptimePerStep as UptimeSteps, + analytics: analyticsStart, + }); return this.coreStart; } @@ -487,125 +485,4 @@ export class Server { public setupCoreConfig() { registerServiceConfig(this.configService); } - - /** - * Register the legacy KIBANA_STARTED_EVENT. - * @param analyticsSetup The {@link AnalyticsServiceSetup} - * @private - */ - private registerKibanaStartedEventType(analyticsSetup: AnalyticsServiceSetup) { - analyticsSetup.registerEventType<{ uptime_per_step: UptimeSteps }>({ - eventType: KIBANA_STARTED_EVENT, - schema: { - uptime_per_step: { - properties: { - constructor: { - properties: { - start: { - type: 'float', - _meta: { - description: - 'Number of seconds the Node.js process has been running until the constructor was called', - }, - }, - end: { - type: 'float', - _meta: { - description: - 'Number of seconds the Node.js process has been running until the constructor finished', - }, - }, - }, - }, - preboot: { - properties: { - start: { - type: 'float', - _meta: { - description: - 'Number of seconds the Node.js process has been running until `preboot` was called', - }, - }, - end: { - type: 'float', - _meta: { - description: - 'Number of seconds the Node.js process has been running until `preboot` finished', - }, - }, - }, - }, - setup: { - properties: { - start: { - type: 'float', - _meta: { - description: - 'Number of seconds the Node.js process has been running until `setup` was called', - }, - }, - end: { - type: 'float', - _meta: { - description: - 'Number of seconds the Node.js process has been running until `setup` finished', - }, - }, - }, - }, - start: { - properties: { - start: { - type: 'float', - _meta: { - description: - 'Number of seconds the Node.js process has been running until `start` was called', - }, - }, - end: { - type: 'float', - _meta: { - description: - 'Number of seconds the Node.js process has been running until `start` finished', - }, - }, - }, - }, - }, - _meta: { - description: - 'Number of seconds the Node.js process has been running until each phase of the server execution is called and finished.', - }, - }, - }, - }); - } - - /** - * Reports the new and legacy KIBANA_STARTED_EVENT. - * @param analyticsStart The {@link AnalyticsServiceStart}. - * @private - */ - private reportKibanaStartedEvents(analyticsStart: AnalyticsServiceStart) { - // Report the legacy KIBANA_STARTED_EVENT. - analyticsStart.reportEvent(KIBANA_STARTED_EVENT, { uptime_per_step: this.uptimePerStep }); - - const ups = this.uptimePerStep; - - // Report the metric-shaped KIBANA_STARTED_EVENT. - reportPerformanceMetricEvent(analyticsStart, { - eventName: KIBANA_STARTED_EVENT, - duration: ups.start!.end - ups.constructor!.start, - key1: 'time_to_constructor', - value1: ups.constructor!.start, - key2: 'constructor_time', - value2: ups.constructor!.end - ups.constructor!.start, - key3: 'preboot_time', - value3: ups.preboot!.end - ups.preboot!.start, - key4: 'setup_time', - value4: ups.setup!.end - ups.setup!.start, - key5: 'start_time', - value5: ups.start!.end - ups.start!.start, - }); - } } diff --git a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts index ea7d10b730643..a04e762eaf67d 100644 --- a/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts +++ b/packages/core/saved-objects/core-saved-objects-base-server-internal/src/constants.ts @@ -218,10 +218,11 @@ export const HASH_TO_VERSION_MAP = { 'siem-ui-timeline-note|28393dfdeb4e4413393eb5f7ec8c5436': '10.0.0', 'siem-ui-timeline-pinned-event|293fce142548281599060e07ad2c9ddb': '10.0.0', 'siem-ui-timeline|f6739fd4b17646a6c86321a746c247ef': '10.1.0', + 'slo-settings|3d1b76c39bfb2cc8296b024d73854724': '10.0.0', 'slo|dc7f35c0cf07d71bb36f154996fe10c6': '10.1.0', 'space|c3aec2a5d4afcb75554fed96411170e1': '10.0.0', 'spaces-usage-stats|3d1b76c39bfb2cc8296b024d73854724': '10.0.0', - 'synthetics-monitor|50b48ccda9f2f7d73d31fd50c41bf305': '10.0.0', + 'synthetics-monitor|918c09d935b1dcb6a84935b176262c3a': '10.1.0', 'synthetics-param|3d1b76c39bfb2cc8296b024d73854724': '10.0.0', 'synthetics-privates-locations|3d1b76c39bfb2cc8296b024d73854724': '10.0.0', 'tag|83d55da58f6530f7055415717ec06474': '10.0.0', diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts index 904aedcd328e4..bafbc0cc9591c 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.test.ts @@ -601,6 +601,21 @@ describe('SavedObjectsService', () => { ); }); + it('returns the information about the time spent migrating', async () => { + const coreContext = createCoreContext({ skipMigration: false }); + const soService = new SavedObjectsService(coreContext); + + migratorInstanceMock.runMigrations.mockImplementation(async () => { + await new Promise((r) => setTimeout(r, 5)); + return []; + }); + + await soService.setup(createSetupDeps()); + const startContract = await soService.start(createStartDeps()); + + expect(startContract.metrics.migrationDuration).toBeGreaterThan(0); + }); + describe('#getTypeRegistry', () => { it('returns the internal type registry of the service', async () => { const coreContext = createCoreContext({ skipMigration: false }); diff --git a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts index c79c2d0b1a7bb..a309d7343da09 100644 --- a/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts +++ b/packages/core/saved-objects/core-saved-objects-server-internal/src/saved_objects_service.ts @@ -76,7 +76,21 @@ export interface InternalSavedObjectsServiceSetup extends SavedObjectsServiceSet getTypeRegistry: () => ISavedObjectTypeRegistry; } -export type InternalSavedObjectsServiceStart = SavedObjectsServiceStart; +/** + * @internal + */ +export interface InternalSavedObjectsServiceStart extends SavedObjectsServiceStart { + metrics: { + /** + * The number of milliseconds it took to run the SO migrator. + * + * Note: it's the time spent in the `migrator.runMigrations` call. + * The value will be recorded even if a migration wasn't strictly performed, + * and in that case it will just be the time spent checking if a migration was required. + */ + migrationDuration: number; + }; +} /** @internal */ export interface SavedObjectsSetupDeps { @@ -256,10 +270,13 @@ export class SavedObjectsService */ migrator.prepareMigrations(); + let migrationDuration: number; + if (skipMigrations) { this.logger.warn( 'Skipping Saved Object migrations on startup. Note: Individual documents will still be migrated when read or written.' ); + migrationDuration = 0; } else { this.logger.info( 'Waiting until all Elasticsearch nodes are compatible with Kibana before starting saved objects migrations...' @@ -283,7 +300,9 @@ export class SavedObjectsService } this.logger.info('Starting saved objects migrations'); + const migrationStartTime = performance.now(); await migrator.runMigrations(); + migrationDuration = Math.round(performance.now() - migrationStartTime); } const createRepository = ( @@ -372,6 +391,9 @@ export class SavedObjectsService return [...indices]; }, getAllIndices: () => [...allIndices], + metrics: { + migrationDuration, + }, }; } diff --git a/packages/core/saved-objects/core-saved-objects-server-mocks/src/saved_objects_service.mock.ts b/packages/core/saved-objects/core-saved-objects-server-mocks/src/saved_objects_service.mock.ts index 58b7c424ac19a..b74b67179b574 100644 --- a/packages/core/saved-objects/core-saved-objects-server-mocks/src/saved_objects_service.mock.ts +++ b/packages/core/saved-objects/core-saved-objects-server-mocks/src/saved_objects_service.mock.ts @@ -63,8 +63,12 @@ const createStartContractMock = (typeRegistry?: jest.Mocked) => { - const internalStartContract: jest.Mocked = - createStartContractMock(typeRegistry); + const internalStartContract: jest.Mocked = { + ...createStartContractMock(typeRegistry), + metrics: { + migrationDuration: 0, + }, + }; return internalStartContract; }; diff --git a/packages/deeplinks/security/deep_links.ts b/packages/deeplinks/security/deep_links.ts index 2b384a9f1ff4a..7cf870a6ecdff 100644 --- a/packages/deeplinks/security/deep_links.ts +++ b/packages/deeplinks/security/deep_links.ts @@ -8,6 +8,7 @@ export enum SecurityPageName { administration = 'administration', + aiInsights = 'ai_insights', alerts = 'alerts', assets = 'assets', blocklist = 'blocklist', diff --git a/packages/kbn-check-mappings-update-cli/current_fields.json b/packages/kbn-check-mappings-update-cli/current_fields.json index c3f9bfc7a655d..d521bf999bd28 100644 --- a/packages/kbn-check-mappings-update-cli/current_fields.json +++ b/packages/kbn-check-mappings-update-cli/current_fields.json @@ -912,6 +912,7 @@ "tags", "version" ], + "slo-settings": [], "space": [ "name" ], @@ -922,6 +923,7 @@ "alert.status.enabled", "alert.tls", "alert.tls.enabled", + "config_id", "custom_heartbeat_id", "enabled", "hash", diff --git a/packages/kbn-check-mappings-update-cli/current_mappings.json b/packages/kbn-check-mappings-update-cli/current_mappings.json index 42f45ac418f82..f0bf6f2c260cc 100644 --- a/packages/kbn-check-mappings-update-cli/current_mappings.json +++ b/packages/kbn-check-mappings-update-cli/current_mappings.json @@ -2996,6 +2996,10 @@ } } }, + "slo-settings": { + "dynamic": false, + "properties": {} + }, "space": { "dynamic": false, "properties": { @@ -3035,6 +3039,9 @@ } } }, + "config_id": { + "type": "keyword" + }, "custom_heartbeat_id": { "type": "keyword" }, diff --git a/packages/kbn-doc-links/src/get_doc_links.ts b/packages/kbn-doc-links/src/get_doc_links.ts index 86cf281399298..502343ee0a51b 100644 --- a/packages/kbn-doc-links/src/get_doc_links.ts +++ b/packages/kbn-doc-links/src/get_doc_links.ts @@ -217,6 +217,7 @@ export const getDocLinks = ({ kibanaBranch, buildFlavor }: GetDocLinkOptions): D start: `${ENTERPRISE_SEARCH_DOCS}start.html`, supportedNlpModels: `${MACHINE_LEARNING_DOCS}ml-nlp-model-ref.html`, syncRules: `${ENTERPRISE_SEARCH_DOCS}sync-rules.html`, + syncRulesAdvanced: `${ENTERPRISE_SEARCH_DOCS}sync-rules.html#sync-rules-advanced`, trainedModels: `${MACHINE_LEARNING_DOCS}ml-trained-models.html`, textEmbedding: `${MACHINE_LEARNING_DOCS}ml-nlp-model-ref.html#ml-nlp-model-ref-text-embedding`, troubleshootSetup: `${ENTERPRISE_SEARCH_DOCS}troubleshoot-setup.html`, diff --git a/packages/kbn-doc-links/src/types.ts b/packages/kbn-doc-links/src/types.ts index c76cae116d6ac..30f063b195d7a 100644 --- a/packages/kbn-doc-links/src/types.ts +++ b/packages/kbn-doc-links/src/types.ts @@ -182,6 +182,7 @@ export interface DocLinks { readonly start: string; readonly supportedNlpModels: string; readonly syncRules: string; + readonly syncRulesAdvanced: string; readonly trainedModels: string; readonly textEmbedding: string; readonly troubleshootSetup: string; diff --git a/packages/kbn-ebt-tools/src/performance_metric_events/schema.ts b/packages/kbn-ebt-tools/src/performance_metric_events/schema.ts index ed0b3a8eefde5..15fdb4a1e9b33 100644 --- a/packages/kbn-ebt-tools/src/performance_metric_events/schema.ts +++ b/packages/kbn-ebt-tools/src/performance_metric_events/schema.ts @@ -77,6 +77,46 @@ export interface PerformanceMetricEvent { * Value for the metric 5 */ value5?: number; + /** + * @group Free fields for custom metrics (searchable and aggregateable) + * Description label for the metric 6 + */ + key6?: string; + /** + * @group Free fields for custom metrics (searchable and aggregateable) + * Value for the metric 6 + */ + value6?: number; + /** + * @group Free fields for custom metrics (searchable and aggregateable) + * Description label for the metric 7 + */ + key7?: string; + /** + * @group Free fields for custom metrics (searchable and aggregateable) + * Value for the metric 7 + */ + value7?: number; + /** + * @group Free fields for custom metrics (searchable and aggregateable) + * Description label for the metric 8 + */ + key8?: string; + /** + * @group Free fields for custom metrics (searchable and aggregateable) + * Value for the metric 8 + */ + value8?: number; + /** + * @group Free fields for custom metrics (searchable and aggregateable) + * Description label for the metric 9 + */ + key9?: string; + /** + * @group Free fields for custom metrics (searchable and aggregateable) + * Value for the metric 9 + */ + value9?: number; } export const METRIC_EVENT_SCHEMA: RootSchema = { @@ -135,4 +175,36 @@ export const METRIC_EVENT_SCHEMA: RootSchema = { type: 'long', _meta: { description: 'Performance metric value 5', optional: true }, }, + key6: { + type: 'keyword', + _meta: { description: 'Performance metric label 6', optional: true }, + }, + value6: { + type: 'long', + _meta: { description: 'Performance metric value 6', optional: true }, + }, + key7: { + type: 'keyword', + _meta: { description: 'Performance metric label 7', optional: true }, + }, + value7: { + type: 'long', + _meta: { description: 'Performance metric value 7', optional: true }, + }, + key8: { + type: 'keyword', + _meta: { description: 'Performance metric label 8', optional: true }, + }, + value8: { + type: 'long', + _meta: { description: 'Performance metric value 8', optional: true }, + }, + key9: { + type: 'keyword', + _meta: { description: 'Performance metric label 9', optional: true }, + }, + value9: { + type: 'long', + _meta: { description: 'Performance metric value 9', optional: true }, + }, }; diff --git a/packages/kbn-es-types/src/index.ts b/packages/kbn-es-types/src/index.ts index c30bf98233744..4d1b956bda9d9 100644 --- a/packages/kbn-es-types/src/index.ts +++ b/packages/kbn-es-types/src/index.ts @@ -15,6 +15,7 @@ import { ESQLRow, ESQLSearchReponse, ESQLSearchParams, + ChangePointType, } from './search'; export type ESFilter = estypes.QueryDslQueryContainer; @@ -47,4 +48,5 @@ export type { ESQLRow, ESQLSearchReponse, ESQLSearchParams, + ChangePointType, }; diff --git a/packages/kbn-es-types/src/search.ts b/packages/kbn-es-types/src/search.ts index f9f304914afaa..34d0e59dde1ed 100644 --- a/packages/kbn-es-types/src/search.ts +++ b/packages/kbn-es-types/src/search.ts @@ -68,6 +68,16 @@ type MaybeArray = T | T[]; type Fields = Required['body']>['fields']; type DocValueFields = MaybeArray; +export type ChangePointType = + | 'indeterminable' + | 'dip' + | 'distribution_change' + | 'non_stationary' + | 'spike' + | 'stationary' + | 'step_change' + | 'trend_change'; + export type SearchHit< TSource extends any = unknown, TFields extends Fields | undefined = undefined, @@ -159,6 +169,16 @@ export type AggregateOf< bucket_script: { value: unknown; }; + categorize_text: { + buckets: Array< + { + doc_count: number; + key: string; + regex: string; + max_matching_length: number; + } & SubAggregateOf + >; + }; cardinality: { value: number; }; @@ -167,12 +187,12 @@ export type AggregateOf< key: string; }; type: Record< - string, + ChangePointType, { change_point?: number; r_value?: number; trend?: string; - p_value: number; + p_value?: number; } >; }; @@ -564,16 +584,6 @@ export type AggregateOf< } & SubAggregateOf >; }; - categorize_text: { - buckets: Array< - { - doc_count: number; - key: string | number; - regex?: string; - max_matching_length: number; - } & SubAggregateOf - >; - }; top_hits: { hits: { total: { diff --git a/packages/kbn-esql-ast/src/antlr/esql_parser.g4 b/packages/kbn-esql-ast/src/antlr/esql_parser.g4 index 429f8d72bacfb..245558fd4e9f9 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_parser.g4 +++ b/packages/kbn-esql-ast/src/antlr/esql_parser.g4 @@ -108,7 +108,7 @@ field ; fromCommand - : FROM fromIdentifier (COMMA fromIdentifier)* fromOptions? metadata? + : FROM fromIdentifier (COMMA fromIdentifier)* metadata? fromOptions? ; fromIdentifier diff --git a/packages/kbn-esql-ast/src/antlr/esql_parser.interp b/packages/kbn-esql-ast/src/antlr/esql_parser.interp index ff5de4e348db0..0e3df1df3978e 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_parser.interp +++ b/packages/kbn-esql-ast/src/antlr/esql_parser.interp @@ -279,4 +279,4 @@ enrichWithClause atn: -[4, 1, 109, 530, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 116, 8, 1, 10, 1, 12, 1, 119, 9, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 126, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 141, 8, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 153, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 160, 8, 5, 10, 5, 12, 5, 163, 9, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 170, 8, 5, 1, 5, 1, 5, 3, 5, 174, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 182, 8, 5, 10, 5, 12, 5, 185, 9, 5, 1, 6, 1, 6, 3, 6, 189, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 196, 8, 6, 1, 6, 1, 6, 1, 6, 3, 6, 201, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 208, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 214, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 5, 8, 222, 8, 8, 10, 8, 12, 8, 225, 9, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 234, 8, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 5, 10, 242, 8, 10, 10, 10, 12, 10, 245, 9, 10, 3, 10, 247, 8, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 5, 12, 257, 8, 12, 10, 12, 12, 12, 260, 9, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 267, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 273, 8, 14, 10, 14, 12, 14, 276, 9, 14, 1, 14, 3, 14, 279, 8, 14, 1, 14, 3, 14, 282, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 290, 8, 16, 10, 16, 12, 16, 293, 9, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 301, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 5, 19, 307, 8, 19, 10, 19, 12, 19, 310, 9, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 321, 8, 22, 1, 22, 1, 22, 3, 22, 325, 8, 22, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 331, 8, 23, 1, 24, 1, 24, 1, 24, 5, 24, 336, 8, 24, 10, 24, 12, 24, 339, 9, 24, 1, 25, 1, 25, 1, 25, 5, 25, 344, 8, 25, 10, 25, 12, 25, 347, 9, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 5, 28, 366, 8, 28, 10, 28, 12, 28, 369, 9, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 5, 28, 377, 8, 28, 10, 28, 12, 28, 380, 9, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 5, 28, 388, 8, 28, 10, 28, 12, 28, 391, 9, 28, 1, 28, 1, 28, 3, 28, 395, 8, 28, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 5, 30, 404, 8, 30, 10, 30, 12, 30, 407, 9, 30, 1, 31, 1, 31, 3, 31, 411, 8, 31, 1, 31, 1, 31, 3, 31, 415, 8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 5, 32, 421, 8, 32, 10, 32, 12, 32, 424, 9, 32, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 430, 8, 33, 10, 33, 12, 33, 433, 9, 33, 1, 34, 1, 34, 1, 34, 1, 34, 5, 34, 439, 8, 34, 10, 34, 12, 34, 442, 9, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 3, 36, 452, 8, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 5, 39, 464, 8, 39, 10, 39, 12, 39, 467, 9, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 42, 1, 42, 3, 42, 477, 8, 42, 1, 43, 3, 43, 480, 8, 43, 1, 43, 1, 43, 1, 44, 3, 44, 485, 8, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 3, 51, 510, 8, 51, 1, 51, 1, 51, 1, 51, 1, 51, 5, 51, 516, 8, 51, 10, 51, 12, 51, 519, 9, 51, 3, 51, 521, 8, 51, 1, 52, 1, 52, 1, 52, 3, 52, 526, 8, 52, 1, 52, 1, 52, 1, 52, 0, 3, 2, 10, 16, 53, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 0, 8, 1, 0, 59, 60, 1, 0, 61, 63, 2, 0, 67, 67, 73, 73, 1, 0, 66, 67, 2, 0, 32, 32, 35, 35, 1, 0, 38, 39, 2, 0, 37, 37, 51, 51, 2, 0, 52, 52, 54, 58, 555, 0, 106, 1, 0, 0, 0, 2, 109, 1, 0, 0, 0, 4, 125, 1, 0, 0, 0, 6, 140, 1, 0, 0, 0, 8, 142, 1, 0, 0, 0, 10, 173, 1, 0, 0, 0, 12, 200, 1, 0, 0, 0, 14, 207, 1, 0, 0, 0, 16, 213, 1, 0, 0, 0, 18, 233, 1, 0, 0, 0, 20, 235, 1, 0, 0, 0, 22, 250, 1, 0, 0, 0, 24, 253, 1, 0, 0, 0, 26, 266, 1, 0, 0, 0, 28, 268, 1, 0, 0, 0, 30, 283, 1, 0, 0, 0, 32, 285, 1, 0, 0, 0, 34, 294, 1, 0, 0, 0, 36, 300, 1, 0, 0, 0, 38, 302, 1, 0, 0, 0, 40, 311, 1, 0, 0, 0, 42, 315, 1, 0, 0, 0, 44, 318, 1, 0, 0, 0, 46, 326, 1, 0, 0, 0, 48, 332, 1, 0, 0, 0, 50, 340, 1, 0, 0, 0, 52, 348, 1, 0, 0, 0, 54, 350, 1, 0, 0, 0, 56, 394, 1, 0, 0, 0, 58, 396, 1, 0, 0, 0, 60, 399, 1, 0, 0, 0, 62, 408, 1, 0, 0, 0, 64, 416, 1, 0, 0, 0, 66, 425, 1, 0, 0, 0, 68, 434, 1, 0, 0, 0, 70, 443, 1, 0, 0, 0, 72, 447, 1, 0, 0, 0, 74, 453, 1, 0, 0, 0, 76, 457, 1, 0, 0, 0, 78, 460, 1, 0, 0, 0, 80, 468, 1, 0, 0, 0, 82, 472, 1, 0, 0, 0, 84, 476, 1, 0, 0, 0, 86, 479, 1, 0, 0, 0, 88, 484, 1, 0, 0, 0, 90, 488, 1, 0, 0, 0, 92, 490, 1, 0, 0, 0, 94, 492, 1, 0, 0, 0, 96, 495, 1, 0, 0, 0, 98, 499, 1, 0, 0, 0, 100, 502, 1, 0, 0, 0, 102, 505, 1, 0, 0, 0, 104, 525, 1, 0, 0, 0, 106, 107, 3, 2, 1, 0, 107, 108, 5, 0, 0, 1, 108, 1, 1, 0, 0, 0, 109, 110, 6, 1, -1, 0, 110, 111, 3, 4, 2, 0, 111, 117, 1, 0, 0, 0, 112, 113, 10, 1, 0, 0, 113, 114, 5, 26, 0, 0, 114, 116, 3, 6, 3, 0, 115, 112, 1, 0, 0, 0, 116, 119, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 117, 118, 1, 0, 0, 0, 118, 3, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0, 120, 126, 3, 94, 47, 0, 121, 126, 3, 28, 14, 0, 122, 126, 3, 22, 11, 0, 123, 126, 3, 98, 49, 0, 124, 126, 3, 100, 50, 0, 125, 120, 1, 0, 0, 0, 125, 121, 1, 0, 0, 0, 125, 122, 1, 0, 0, 0, 125, 123, 1, 0, 0, 0, 125, 124, 1, 0, 0, 0, 126, 5, 1, 0, 0, 0, 127, 141, 3, 42, 21, 0, 128, 141, 3, 46, 23, 0, 129, 141, 3, 58, 29, 0, 130, 141, 3, 64, 32, 0, 131, 141, 3, 60, 30, 0, 132, 141, 3, 44, 22, 0, 133, 141, 3, 8, 4, 0, 134, 141, 3, 66, 33, 0, 135, 141, 3, 68, 34, 0, 136, 141, 3, 72, 36, 0, 137, 141, 3, 74, 37, 0, 138, 141, 3, 102, 51, 0, 139, 141, 3, 76, 38, 0, 140, 127, 1, 0, 0, 0, 140, 128, 1, 0, 0, 0, 140, 129, 1, 0, 0, 0, 140, 130, 1, 0, 0, 0, 140, 131, 1, 0, 0, 0, 140, 132, 1, 0, 0, 0, 140, 133, 1, 0, 0, 0, 140, 134, 1, 0, 0, 0, 140, 135, 1, 0, 0, 0, 140, 136, 1, 0, 0, 0, 140, 137, 1, 0, 0, 0, 140, 138, 1, 0, 0, 0, 140, 139, 1, 0, 0, 0, 141, 7, 1, 0, 0, 0, 142, 143, 5, 18, 0, 0, 143, 144, 3, 10, 5, 0, 144, 9, 1, 0, 0, 0, 145, 146, 6, 5, -1, 0, 146, 147, 5, 44, 0, 0, 147, 174, 3, 10, 5, 7, 148, 174, 3, 14, 7, 0, 149, 174, 3, 12, 6, 0, 150, 152, 3, 14, 7, 0, 151, 153, 5, 44, 0, 0, 152, 151, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 155, 5, 41, 0, 0, 155, 156, 5, 40, 0, 0, 156, 161, 3, 14, 7, 0, 157, 158, 5, 34, 0, 0, 158, 160, 3, 14, 7, 0, 159, 157, 1, 0, 0, 0, 160, 163, 1, 0, 0, 0, 161, 159, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 164, 1, 0, 0, 0, 163, 161, 1, 0, 0, 0, 164, 165, 5, 50, 0, 0, 165, 174, 1, 0, 0, 0, 166, 167, 3, 14, 7, 0, 167, 169, 5, 42, 0, 0, 168, 170, 5, 44, 0, 0, 169, 168, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 172, 5, 45, 0, 0, 172, 174, 1, 0, 0, 0, 173, 145, 1, 0, 0, 0, 173, 148, 1, 0, 0, 0, 173, 149, 1, 0, 0, 0, 173, 150, 1, 0, 0, 0, 173, 166, 1, 0, 0, 0, 174, 183, 1, 0, 0, 0, 175, 176, 10, 4, 0, 0, 176, 177, 5, 31, 0, 0, 177, 182, 3, 10, 5, 5, 178, 179, 10, 3, 0, 0, 179, 180, 5, 47, 0, 0, 180, 182, 3, 10, 5, 4, 181, 175, 1, 0, 0, 0, 181, 178, 1, 0, 0, 0, 182, 185, 1, 0, 0, 0, 183, 181, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 11, 1, 0, 0, 0, 185, 183, 1, 0, 0, 0, 186, 188, 3, 14, 7, 0, 187, 189, 5, 44, 0, 0, 188, 187, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 191, 5, 43, 0, 0, 191, 192, 3, 90, 45, 0, 192, 201, 1, 0, 0, 0, 193, 195, 3, 14, 7, 0, 194, 196, 5, 44, 0, 0, 195, 194, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 198, 5, 49, 0, 0, 198, 199, 3, 90, 45, 0, 199, 201, 1, 0, 0, 0, 200, 186, 1, 0, 0, 0, 200, 193, 1, 0, 0, 0, 201, 13, 1, 0, 0, 0, 202, 208, 3, 16, 8, 0, 203, 204, 3, 16, 8, 0, 204, 205, 3, 92, 46, 0, 205, 206, 3, 16, 8, 0, 206, 208, 1, 0, 0, 0, 207, 202, 1, 0, 0, 0, 207, 203, 1, 0, 0, 0, 208, 15, 1, 0, 0, 0, 209, 210, 6, 8, -1, 0, 210, 214, 3, 18, 9, 0, 211, 212, 7, 0, 0, 0, 212, 214, 3, 16, 8, 3, 213, 209, 1, 0, 0, 0, 213, 211, 1, 0, 0, 0, 214, 223, 1, 0, 0, 0, 215, 216, 10, 2, 0, 0, 216, 217, 7, 1, 0, 0, 217, 222, 3, 16, 8, 3, 218, 219, 10, 1, 0, 0, 219, 220, 7, 0, 0, 0, 220, 222, 3, 16, 8, 2, 221, 215, 1, 0, 0, 0, 221, 218, 1, 0, 0, 0, 222, 225, 1, 0, 0, 0, 223, 221, 1, 0, 0, 0, 223, 224, 1, 0, 0, 0, 224, 17, 1, 0, 0, 0, 225, 223, 1, 0, 0, 0, 226, 234, 3, 56, 28, 0, 227, 234, 3, 48, 24, 0, 228, 234, 3, 20, 10, 0, 229, 230, 5, 40, 0, 0, 230, 231, 3, 10, 5, 0, 231, 232, 5, 50, 0, 0, 232, 234, 1, 0, 0, 0, 233, 226, 1, 0, 0, 0, 233, 227, 1, 0, 0, 0, 233, 228, 1, 0, 0, 0, 233, 229, 1, 0, 0, 0, 234, 19, 1, 0, 0, 0, 235, 236, 3, 52, 26, 0, 236, 246, 5, 40, 0, 0, 237, 247, 5, 61, 0, 0, 238, 243, 3, 10, 5, 0, 239, 240, 5, 34, 0, 0, 240, 242, 3, 10, 5, 0, 241, 239, 1, 0, 0, 0, 242, 245, 1, 0, 0, 0, 243, 241, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 247, 1, 0, 0, 0, 245, 243, 1, 0, 0, 0, 246, 237, 1, 0, 0, 0, 246, 238, 1, 0, 0, 0, 246, 247, 1, 0, 0, 0, 247, 248, 1, 0, 0, 0, 248, 249, 5, 50, 0, 0, 249, 21, 1, 0, 0, 0, 250, 251, 5, 14, 0, 0, 251, 252, 3, 24, 12, 0, 252, 23, 1, 0, 0, 0, 253, 258, 3, 26, 13, 0, 254, 255, 5, 34, 0, 0, 255, 257, 3, 26, 13, 0, 256, 254, 1, 0, 0, 0, 257, 260, 1, 0, 0, 0, 258, 256, 1, 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 25, 1, 0, 0, 0, 260, 258, 1, 0, 0, 0, 261, 267, 3, 10, 5, 0, 262, 263, 3, 48, 24, 0, 263, 264, 5, 33, 0, 0, 264, 265, 3, 10, 5, 0, 265, 267, 1, 0, 0, 0, 266, 261, 1, 0, 0, 0, 266, 262, 1, 0, 0, 0, 267, 27, 1, 0, 0, 0, 268, 269, 5, 6, 0, 0, 269, 274, 3, 30, 15, 0, 270, 271, 5, 34, 0, 0, 271, 273, 3, 30, 15, 0, 272, 270, 1, 0, 0, 0, 273, 276, 1, 0, 0, 0, 274, 272, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 278, 1, 0, 0, 0, 276, 274, 1, 0, 0, 0, 277, 279, 3, 32, 16, 0, 278, 277, 1, 0, 0, 0, 278, 279, 1, 0, 0, 0, 279, 281, 1, 0, 0, 0, 280, 282, 3, 36, 18, 0, 281, 280, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 29, 1, 0, 0, 0, 283, 284, 7, 2, 0, 0, 284, 31, 1, 0, 0, 0, 285, 286, 5, 71, 0, 0, 286, 291, 3, 34, 17, 0, 287, 288, 5, 34, 0, 0, 288, 290, 3, 34, 17, 0, 289, 287, 1, 0, 0, 0, 290, 293, 1, 0, 0, 0, 291, 289, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 33, 1, 0, 0, 0, 293, 291, 1, 0, 0, 0, 294, 295, 3, 90, 45, 0, 295, 296, 5, 33, 0, 0, 296, 297, 3, 90, 45, 0, 297, 35, 1, 0, 0, 0, 298, 301, 3, 38, 19, 0, 299, 301, 3, 40, 20, 0, 300, 298, 1, 0, 0, 0, 300, 299, 1, 0, 0, 0, 301, 37, 1, 0, 0, 0, 302, 303, 5, 72, 0, 0, 303, 308, 3, 30, 15, 0, 304, 305, 5, 34, 0, 0, 305, 307, 3, 30, 15, 0, 306, 304, 1, 0, 0, 0, 307, 310, 1, 0, 0, 0, 308, 306, 1, 0, 0, 0, 308, 309, 1, 0, 0, 0, 309, 39, 1, 0, 0, 0, 310, 308, 1, 0, 0, 0, 311, 312, 5, 64, 0, 0, 312, 313, 3, 38, 19, 0, 313, 314, 5, 65, 0, 0, 314, 41, 1, 0, 0, 0, 315, 316, 5, 4, 0, 0, 316, 317, 3, 24, 12, 0, 317, 43, 1, 0, 0, 0, 318, 320, 5, 17, 0, 0, 319, 321, 3, 24, 12, 0, 320, 319, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 324, 1, 0, 0, 0, 322, 323, 5, 30, 0, 0, 323, 325, 3, 24, 12, 0, 324, 322, 1, 0, 0, 0, 324, 325, 1, 0, 0, 0, 325, 45, 1, 0, 0, 0, 326, 327, 5, 8, 0, 0, 327, 330, 3, 24, 12, 0, 328, 329, 5, 30, 0, 0, 329, 331, 3, 24, 12, 0, 330, 328, 1, 0, 0, 0, 330, 331, 1, 0, 0, 0, 331, 47, 1, 0, 0, 0, 332, 337, 3, 52, 26, 0, 333, 334, 5, 36, 0, 0, 334, 336, 3, 52, 26, 0, 335, 333, 1, 0, 0, 0, 336, 339, 1, 0, 0, 0, 337, 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 49, 1, 0, 0, 0, 339, 337, 1, 0, 0, 0, 340, 345, 3, 54, 27, 0, 341, 342, 5, 36, 0, 0, 342, 344, 3, 54, 27, 0, 343, 341, 1, 0, 0, 0, 344, 347, 1, 0, 0, 0, 345, 343, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 51, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 348, 349, 7, 3, 0, 0, 349, 53, 1, 0, 0, 0, 350, 351, 5, 77, 0, 0, 351, 55, 1, 0, 0, 0, 352, 395, 5, 45, 0, 0, 353, 354, 3, 88, 44, 0, 354, 355, 5, 66, 0, 0, 355, 395, 1, 0, 0, 0, 356, 395, 3, 86, 43, 0, 357, 395, 3, 88, 44, 0, 358, 395, 3, 82, 41, 0, 359, 395, 5, 48, 0, 0, 360, 395, 3, 90, 45, 0, 361, 362, 5, 64, 0, 0, 362, 367, 3, 84, 42, 0, 363, 364, 5, 34, 0, 0, 364, 366, 3, 84, 42, 0, 365, 363, 1, 0, 0, 0, 366, 369, 1, 0, 0, 0, 367, 365, 1, 0, 0, 0, 367, 368, 1, 0, 0, 0, 368, 370, 1, 0, 0, 0, 369, 367, 1, 0, 0, 0, 370, 371, 5, 65, 0, 0, 371, 395, 1, 0, 0, 0, 372, 373, 5, 64, 0, 0, 373, 378, 3, 82, 41, 0, 374, 375, 5, 34, 0, 0, 375, 377, 3, 82, 41, 0, 376, 374, 1, 0, 0, 0, 377, 380, 1, 0, 0, 0, 378, 376, 1, 0, 0, 0, 378, 379, 1, 0, 0, 0, 379, 381, 1, 0, 0, 0, 380, 378, 1, 0, 0, 0, 381, 382, 5, 65, 0, 0, 382, 395, 1, 0, 0, 0, 383, 384, 5, 64, 0, 0, 384, 389, 3, 90, 45, 0, 385, 386, 5, 34, 0, 0, 386, 388, 3, 90, 45, 0, 387, 385, 1, 0, 0, 0, 388, 391, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 389, 390, 1, 0, 0, 0, 390, 392, 1, 0, 0, 0, 391, 389, 1, 0, 0, 0, 392, 393, 5, 65, 0, 0, 393, 395, 1, 0, 0, 0, 394, 352, 1, 0, 0, 0, 394, 353, 1, 0, 0, 0, 394, 356, 1, 0, 0, 0, 394, 357, 1, 0, 0, 0, 394, 358, 1, 0, 0, 0, 394, 359, 1, 0, 0, 0, 394, 360, 1, 0, 0, 0, 394, 361, 1, 0, 0, 0, 394, 372, 1, 0, 0, 0, 394, 383, 1, 0, 0, 0, 395, 57, 1, 0, 0, 0, 396, 397, 5, 10, 0, 0, 397, 398, 5, 28, 0, 0, 398, 59, 1, 0, 0, 0, 399, 400, 5, 16, 0, 0, 400, 405, 3, 62, 31, 0, 401, 402, 5, 34, 0, 0, 402, 404, 3, 62, 31, 0, 403, 401, 1, 0, 0, 0, 404, 407, 1, 0, 0, 0, 405, 403, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 61, 1, 0, 0, 0, 407, 405, 1, 0, 0, 0, 408, 410, 3, 10, 5, 0, 409, 411, 7, 4, 0, 0, 410, 409, 1, 0, 0, 0, 410, 411, 1, 0, 0, 0, 411, 414, 1, 0, 0, 0, 412, 413, 5, 46, 0, 0, 413, 415, 7, 5, 0, 0, 414, 412, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 63, 1, 0, 0, 0, 416, 417, 5, 9, 0, 0, 417, 422, 3, 50, 25, 0, 418, 419, 5, 34, 0, 0, 419, 421, 3, 50, 25, 0, 420, 418, 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422, 420, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 65, 1, 0, 0, 0, 424, 422, 1, 0, 0, 0, 425, 426, 5, 2, 0, 0, 426, 431, 3, 50, 25, 0, 427, 428, 5, 34, 0, 0, 428, 430, 3, 50, 25, 0, 429, 427, 1, 0, 0, 0, 430, 433, 1, 0, 0, 0, 431, 429, 1, 0, 0, 0, 431, 432, 1, 0, 0, 0, 432, 67, 1, 0, 0, 0, 433, 431, 1, 0, 0, 0, 434, 435, 5, 13, 0, 0, 435, 440, 3, 70, 35, 0, 436, 437, 5, 34, 0, 0, 437, 439, 3, 70, 35, 0, 438, 436, 1, 0, 0, 0, 439, 442, 1, 0, 0, 0, 440, 438, 1, 0, 0, 0, 440, 441, 1, 0, 0, 0, 441, 69, 1, 0, 0, 0, 442, 440, 1, 0, 0, 0, 443, 444, 3, 50, 25, 0, 444, 445, 5, 81, 0, 0, 445, 446, 3, 50, 25, 0, 446, 71, 1, 0, 0, 0, 447, 448, 5, 1, 0, 0, 448, 449, 3, 18, 9, 0, 449, 451, 3, 90, 45, 0, 450, 452, 3, 78, 39, 0, 451, 450, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 73, 1, 0, 0, 0, 453, 454, 5, 7, 0, 0, 454, 455, 3, 18, 9, 0, 455, 456, 3, 90, 45, 0, 456, 75, 1, 0, 0, 0, 457, 458, 5, 12, 0, 0, 458, 459, 3, 48, 24, 0, 459, 77, 1, 0, 0, 0, 460, 465, 3, 80, 40, 0, 461, 462, 5, 34, 0, 0, 462, 464, 3, 80, 40, 0, 463, 461, 1, 0, 0, 0, 464, 467, 1, 0, 0, 0, 465, 463, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 79, 1, 0, 0, 0, 467, 465, 1, 0, 0, 0, 468, 469, 3, 52, 26, 0, 469, 470, 5, 33, 0, 0, 470, 471, 3, 56, 28, 0, 471, 81, 1, 0, 0, 0, 472, 473, 7, 6, 0, 0, 473, 83, 1, 0, 0, 0, 474, 477, 3, 86, 43, 0, 475, 477, 3, 88, 44, 0, 476, 474, 1, 0, 0, 0, 476, 475, 1, 0, 0, 0, 477, 85, 1, 0, 0, 0, 478, 480, 7, 0, 0, 0, 479, 478, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 5, 29, 0, 0, 482, 87, 1, 0, 0, 0, 483, 485, 7, 0, 0, 0, 484, 483, 1, 0, 0, 0, 484, 485, 1, 0, 0, 0, 485, 486, 1, 0, 0, 0, 486, 487, 5, 28, 0, 0, 487, 89, 1, 0, 0, 0, 488, 489, 5, 27, 0, 0, 489, 91, 1, 0, 0, 0, 490, 491, 7, 7, 0, 0, 491, 93, 1, 0, 0, 0, 492, 493, 5, 5, 0, 0, 493, 494, 3, 96, 48, 0, 494, 95, 1, 0, 0, 0, 495, 496, 5, 64, 0, 0, 496, 497, 3, 2, 1, 0, 497, 498, 5, 65, 0, 0, 498, 97, 1, 0, 0, 0, 499, 500, 5, 15, 0, 0, 500, 501, 5, 97, 0, 0, 501, 99, 1, 0, 0, 0, 502, 503, 5, 11, 0, 0, 503, 504, 5, 101, 0, 0, 504, 101, 1, 0, 0, 0, 505, 506, 5, 3, 0, 0, 506, 509, 5, 87, 0, 0, 507, 508, 5, 85, 0, 0, 508, 510, 3, 50, 25, 0, 509, 507, 1, 0, 0, 0, 509, 510, 1, 0, 0, 0, 510, 520, 1, 0, 0, 0, 511, 512, 5, 86, 0, 0, 512, 517, 3, 104, 52, 0, 513, 514, 5, 34, 0, 0, 514, 516, 3, 104, 52, 0, 515, 513, 1, 0, 0, 0, 516, 519, 1, 0, 0, 0, 517, 515, 1, 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 521, 1, 0, 0, 0, 519, 517, 1, 0, 0, 0, 520, 511, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 103, 1, 0, 0, 0, 522, 523, 3, 50, 25, 0, 523, 524, 5, 33, 0, 0, 524, 526, 1, 0, 0, 0, 525, 522, 1, 0, 0, 0, 525, 526, 1, 0, 0, 0, 526, 527, 1, 0, 0, 0, 527, 528, 3, 50, 25, 0, 528, 105, 1, 0, 0, 0, 51, 117, 125, 140, 152, 161, 169, 173, 181, 183, 188, 195, 200, 207, 213, 221, 223, 233, 243, 246, 258, 266, 274, 278, 281, 291, 300, 308, 320, 324, 330, 337, 345, 367, 378, 389, 394, 405, 410, 414, 422, 431, 440, 451, 465, 476, 479, 484, 509, 517, 520, 525] \ No newline at end of file +[4, 1, 109, 530, 2, 0, 7, 0, 2, 1, 7, 1, 2, 2, 7, 2, 2, 3, 7, 3, 2, 4, 7, 4, 2, 5, 7, 5, 2, 6, 7, 6, 2, 7, 7, 7, 2, 8, 7, 8, 2, 9, 7, 9, 2, 10, 7, 10, 2, 11, 7, 11, 2, 12, 7, 12, 2, 13, 7, 13, 2, 14, 7, 14, 2, 15, 7, 15, 2, 16, 7, 16, 2, 17, 7, 17, 2, 18, 7, 18, 2, 19, 7, 19, 2, 20, 7, 20, 2, 21, 7, 21, 2, 22, 7, 22, 2, 23, 7, 23, 2, 24, 7, 24, 2, 25, 7, 25, 2, 26, 7, 26, 2, 27, 7, 27, 2, 28, 7, 28, 2, 29, 7, 29, 2, 30, 7, 30, 2, 31, 7, 31, 2, 32, 7, 32, 2, 33, 7, 33, 2, 34, 7, 34, 2, 35, 7, 35, 2, 36, 7, 36, 2, 37, 7, 37, 2, 38, 7, 38, 2, 39, 7, 39, 2, 40, 7, 40, 2, 41, 7, 41, 2, 42, 7, 42, 2, 43, 7, 43, 2, 44, 7, 44, 2, 45, 7, 45, 2, 46, 7, 46, 2, 47, 7, 47, 2, 48, 7, 48, 2, 49, 7, 49, 2, 50, 7, 50, 2, 51, 7, 51, 2, 52, 7, 52, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 116, 8, 1, 10, 1, 12, 1, 119, 9, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 126, 8, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 3, 3, 141, 8, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 153, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 160, 8, 5, 10, 5, 12, 5, 163, 9, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 170, 8, 5, 1, 5, 1, 5, 3, 5, 174, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 182, 8, 5, 10, 5, 12, 5, 185, 9, 5, 1, 6, 1, 6, 3, 6, 189, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 196, 8, 6, 1, 6, 1, 6, 1, 6, 3, 6, 201, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 208, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 214, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 5, 8, 222, 8, 8, 10, 8, 12, 8, 225, 9, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 234, 8, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 5, 10, 242, 8, 10, 10, 10, 12, 10, 245, 9, 10, 3, 10, 247, 8, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 5, 12, 257, 8, 12, 10, 12, 12, 12, 260, 9, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 3, 13, 267, 8, 13, 1, 14, 1, 14, 1, 14, 1, 14, 5, 14, 273, 8, 14, 10, 14, 12, 14, 276, 9, 14, 1, 14, 3, 14, 279, 8, 14, 1, 14, 3, 14, 282, 8, 14, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 5, 16, 290, 8, 16, 10, 16, 12, 16, 293, 9, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 1, 18, 3, 18, 301, 8, 18, 1, 19, 1, 19, 1, 19, 1, 19, 5, 19, 307, 8, 19, 10, 19, 12, 19, 310, 9, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 3, 22, 321, 8, 22, 1, 22, 1, 22, 3, 22, 325, 8, 22, 1, 23, 1, 23, 1, 23, 1, 23, 3, 23, 331, 8, 23, 1, 24, 1, 24, 1, 24, 5, 24, 336, 8, 24, 10, 24, 12, 24, 339, 9, 24, 1, 25, 1, 25, 1, 25, 5, 25, 344, 8, 25, 10, 25, 12, 25, 347, 9, 25, 1, 26, 1, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 5, 28, 366, 8, 28, 10, 28, 12, 28, 369, 9, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 5, 28, 377, 8, 28, 10, 28, 12, 28, 380, 9, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 1, 28, 5, 28, 388, 8, 28, 10, 28, 12, 28, 391, 9, 28, 1, 28, 1, 28, 3, 28, 395, 8, 28, 1, 29, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 30, 5, 30, 404, 8, 30, 10, 30, 12, 30, 407, 9, 30, 1, 31, 1, 31, 3, 31, 411, 8, 31, 1, 31, 1, 31, 3, 31, 415, 8, 31, 1, 32, 1, 32, 1, 32, 1, 32, 5, 32, 421, 8, 32, 10, 32, 12, 32, 424, 9, 32, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 430, 8, 33, 10, 33, 12, 33, 433, 9, 33, 1, 34, 1, 34, 1, 34, 1, 34, 5, 34, 439, 8, 34, 10, 34, 12, 34, 442, 9, 34, 1, 35, 1, 35, 1, 35, 1, 35, 1, 36, 1, 36, 1, 36, 1, 36, 3, 36, 452, 8, 36, 1, 37, 1, 37, 1, 37, 1, 37, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 5, 39, 464, 8, 39, 10, 39, 12, 39, 467, 9, 39, 1, 40, 1, 40, 1, 40, 1, 40, 1, 41, 1, 41, 1, 42, 1, 42, 3, 42, 477, 8, 42, 1, 43, 3, 43, 480, 8, 43, 1, 43, 1, 43, 1, 44, 3, 44, 485, 8, 44, 1, 44, 1, 44, 1, 45, 1, 45, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 3, 51, 510, 8, 51, 1, 51, 1, 51, 1, 51, 1, 51, 5, 51, 516, 8, 51, 10, 51, 12, 51, 519, 9, 51, 3, 51, 521, 8, 51, 1, 52, 1, 52, 1, 52, 3, 52, 526, 8, 52, 1, 52, 1, 52, 1, 52, 0, 3, 2, 10, 16, 53, 0, 2, 4, 6, 8, 10, 12, 14, 16, 18, 20, 22, 24, 26, 28, 30, 32, 34, 36, 38, 40, 42, 44, 46, 48, 50, 52, 54, 56, 58, 60, 62, 64, 66, 68, 70, 72, 74, 76, 78, 80, 82, 84, 86, 88, 90, 92, 94, 96, 98, 100, 102, 104, 0, 8, 1, 0, 59, 60, 1, 0, 61, 63, 2, 0, 67, 67, 73, 73, 1, 0, 66, 67, 2, 0, 32, 32, 35, 35, 1, 0, 38, 39, 2, 0, 37, 37, 51, 51, 2, 0, 52, 52, 54, 58, 555, 0, 106, 1, 0, 0, 0, 2, 109, 1, 0, 0, 0, 4, 125, 1, 0, 0, 0, 6, 140, 1, 0, 0, 0, 8, 142, 1, 0, 0, 0, 10, 173, 1, 0, 0, 0, 12, 200, 1, 0, 0, 0, 14, 207, 1, 0, 0, 0, 16, 213, 1, 0, 0, 0, 18, 233, 1, 0, 0, 0, 20, 235, 1, 0, 0, 0, 22, 250, 1, 0, 0, 0, 24, 253, 1, 0, 0, 0, 26, 266, 1, 0, 0, 0, 28, 268, 1, 0, 0, 0, 30, 283, 1, 0, 0, 0, 32, 285, 1, 0, 0, 0, 34, 294, 1, 0, 0, 0, 36, 300, 1, 0, 0, 0, 38, 302, 1, 0, 0, 0, 40, 311, 1, 0, 0, 0, 42, 315, 1, 0, 0, 0, 44, 318, 1, 0, 0, 0, 46, 326, 1, 0, 0, 0, 48, 332, 1, 0, 0, 0, 50, 340, 1, 0, 0, 0, 52, 348, 1, 0, 0, 0, 54, 350, 1, 0, 0, 0, 56, 394, 1, 0, 0, 0, 58, 396, 1, 0, 0, 0, 60, 399, 1, 0, 0, 0, 62, 408, 1, 0, 0, 0, 64, 416, 1, 0, 0, 0, 66, 425, 1, 0, 0, 0, 68, 434, 1, 0, 0, 0, 70, 443, 1, 0, 0, 0, 72, 447, 1, 0, 0, 0, 74, 453, 1, 0, 0, 0, 76, 457, 1, 0, 0, 0, 78, 460, 1, 0, 0, 0, 80, 468, 1, 0, 0, 0, 82, 472, 1, 0, 0, 0, 84, 476, 1, 0, 0, 0, 86, 479, 1, 0, 0, 0, 88, 484, 1, 0, 0, 0, 90, 488, 1, 0, 0, 0, 92, 490, 1, 0, 0, 0, 94, 492, 1, 0, 0, 0, 96, 495, 1, 0, 0, 0, 98, 499, 1, 0, 0, 0, 100, 502, 1, 0, 0, 0, 102, 505, 1, 0, 0, 0, 104, 525, 1, 0, 0, 0, 106, 107, 3, 2, 1, 0, 107, 108, 5, 0, 0, 1, 108, 1, 1, 0, 0, 0, 109, 110, 6, 1, -1, 0, 110, 111, 3, 4, 2, 0, 111, 117, 1, 0, 0, 0, 112, 113, 10, 1, 0, 0, 113, 114, 5, 26, 0, 0, 114, 116, 3, 6, 3, 0, 115, 112, 1, 0, 0, 0, 116, 119, 1, 0, 0, 0, 117, 115, 1, 0, 0, 0, 117, 118, 1, 0, 0, 0, 118, 3, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0, 120, 126, 3, 94, 47, 0, 121, 126, 3, 28, 14, 0, 122, 126, 3, 22, 11, 0, 123, 126, 3, 98, 49, 0, 124, 126, 3, 100, 50, 0, 125, 120, 1, 0, 0, 0, 125, 121, 1, 0, 0, 0, 125, 122, 1, 0, 0, 0, 125, 123, 1, 0, 0, 0, 125, 124, 1, 0, 0, 0, 126, 5, 1, 0, 0, 0, 127, 141, 3, 42, 21, 0, 128, 141, 3, 46, 23, 0, 129, 141, 3, 58, 29, 0, 130, 141, 3, 64, 32, 0, 131, 141, 3, 60, 30, 0, 132, 141, 3, 44, 22, 0, 133, 141, 3, 8, 4, 0, 134, 141, 3, 66, 33, 0, 135, 141, 3, 68, 34, 0, 136, 141, 3, 72, 36, 0, 137, 141, 3, 74, 37, 0, 138, 141, 3, 102, 51, 0, 139, 141, 3, 76, 38, 0, 140, 127, 1, 0, 0, 0, 140, 128, 1, 0, 0, 0, 140, 129, 1, 0, 0, 0, 140, 130, 1, 0, 0, 0, 140, 131, 1, 0, 0, 0, 140, 132, 1, 0, 0, 0, 140, 133, 1, 0, 0, 0, 140, 134, 1, 0, 0, 0, 140, 135, 1, 0, 0, 0, 140, 136, 1, 0, 0, 0, 140, 137, 1, 0, 0, 0, 140, 138, 1, 0, 0, 0, 140, 139, 1, 0, 0, 0, 141, 7, 1, 0, 0, 0, 142, 143, 5, 18, 0, 0, 143, 144, 3, 10, 5, 0, 144, 9, 1, 0, 0, 0, 145, 146, 6, 5, -1, 0, 146, 147, 5, 44, 0, 0, 147, 174, 3, 10, 5, 7, 148, 174, 3, 14, 7, 0, 149, 174, 3, 12, 6, 0, 150, 152, 3, 14, 7, 0, 151, 153, 5, 44, 0, 0, 152, 151, 1, 0, 0, 0, 152, 153, 1, 0, 0, 0, 153, 154, 1, 0, 0, 0, 154, 155, 5, 41, 0, 0, 155, 156, 5, 40, 0, 0, 156, 161, 3, 14, 7, 0, 157, 158, 5, 34, 0, 0, 158, 160, 3, 14, 7, 0, 159, 157, 1, 0, 0, 0, 160, 163, 1, 0, 0, 0, 161, 159, 1, 0, 0, 0, 161, 162, 1, 0, 0, 0, 162, 164, 1, 0, 0, 0, 163, 161, 1, 0, 0, 0, 164, 165, 5, 50, 0, 0, 165, 174, 1, 0, 0, 0, 166, 167, 3, 14, 7, 0, 167, 169, 5, 42, 0, 0, 168, 170, 5, 44, 0, 0, 169, 168, 1, 0, 0, 0, 169, 170, 1, 0, 0, 0, 170, 171, 1, 0, 0, 0, 171, 172, 5, 45, 0, 0, 172, 174, 1, 0, 0, 0, 173, 145, 1, 0, 0, 0, 173, 148, 1, 0, 0, 0, 173, 149, 1, 0, 0, 0, 173, 150, 1, 0, 0, 0, 173, 166, 1, 0, 0, 0, 174, 183, 1, 0, 0, 0, 175, 176, 10, 4, 0, 0, 176, 177, 5, 31, 0, 0, 177, 182, 3, 10, 5, 5, 178, 179, 10, 3, 0, 0, 179, 180, 5, 47, 0, 0, 180, 182, 3, 10, 5, 4, 181, 175, 1, 0, 0, 0, 181, 178, 1, 0, 0, 0, 182, 185, 1, 0, 0, 0, 183, 181, 1, 0, 0, 0, 183, 184, 1, 0, 0, 0, 184, 11, 1, 0, 0, 0, 185, 183, 1, 0, 0, 0, 186, 188, 3, 14, 7, 0, 187, 189, 5, 44, 0, 0, 188, 187, 1, 0, 0, 0, 188, 189, 1, 0, 0, 0, 189, 190, 1, 0, 0, 0, 190, 191, 5, 43, 0, 0, 191, 192, 3, 90, 45, 0, 192, 201, 1, 0, 0, 0, 193, 195, 3, 14, 7, 0, 194, 196, 5, 44, 0, 0, 195, 194, 1, 0, 0, 0, 195, 196, 1, 0, 0, 0, 196, 197, 1, 0, 0, 0, 197, 198, 5, 49, 0, 0, 198, 199, 3, 90, 45, 0, 199, 201, 1, 0, 0, 0, 200, 186, 1, 0, 0, 0, 200, 193, 1, 0, 0, 0, 201, 13, 1, 0, 0, 0, 202, 208, 3, 16, 8, 0, 203, 204, 3, 16, 8, 0, 204, 205, 3, 92, 46, 0, 205, 206, 3, 16, 8, 0, 206, 208, 1, 0, 0, 0, 207, 202, 1, 0, 0, 0, 207, 203, 1, 0, 0, 0, 208, 15, 1, 0, 0, 0, 209, 210, 6, 8, -1, 0, 210, 214, 3, 18, 9, 0, 211, 212, 7, 0, 0, 0, 212, 214, 3, 16, 8, 3, 213, 209, 1, 0, 0, 0, 213, 211, 1, 0, 0, 0, 214, 223, 1, 0, 0, 0, 215, 216, 10, 2, 0, 0, 216, 217, 7, 1, 0, 0, 217, 222, 3, 16, 8, 3, 218, 219, 10, 1, 0, 0, 219, 220, 7, 0, 0, 0, 220, 222, 3, 16, 8, 2, 221, 215, 1, 0, 0, 0, 221, 218, 1, 0, 0, 0, 222, 225, 1, 0, 0, 0, 223, 221, 1, 0, 0, 0, 223, 224, 1, 0, 0, 0, 224, 17, 1, 0, 0, 0, 225, 223, 1, 0, 0, 0, 226, 234, 3, 56, 28, 0, 227, 234, 3, 48, 24, 0, 228, 234, 3, 20, 10, 0, 229, 230, 5, 40, 0, 0, 230, 231, 3, 10, 5, 0, 231, 232, 5, 50, 0, 0, 232, 234, 1, 0, 0, 0, 233, 226, 1, 0, 0, 0, 233, 227, 1, 0, 0, 0, 233, 228, 1, 0, 0, 0, 233, 229, 1, 0, 0, 0, 234, 19, 1, 0, 0, 0, 235, 236, 3, 52, 26, 0, 236, 246, 5, 40, 0, 0, 237, 247, 5, 61, 0, 0, 238, 243, 3, 10, 5, 0, 239, 240, 5, 34, 0, 0, 240, 242, 3, 10, 5, 0, 241, 239, 1, 0, 0, 0, 242, 245, 1, 0, 0, 0, 243, 241, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 247, 1, 0, 0, 0, 245, 243, 1, 0, 0, 0, 246, 237, 1, 0, 0, 0, 246, 238, 1, 0, 0, 0, 246, 247, 1, 0, 0, 0, 247, 248, 1, 0, 0, 0, 248, 249, 5, 50, 0, 0, 249, 21, 1, 0, 0, 0, 250, 251, 5, 14, 0, 0, 251, 252, 3, 24, 12, 0, 252, 23, 1, 0, 0, 0, 253, 258, 3, 26, 13, 0, 254, 255, 5, 34, 0, 0, 255, 257, 3, 26, 13, 0, 256, 254, 1, 0, 0, 0, 257, 260, 1, 0, 0, 0, 258, 256, 1, 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 25, 1, 0, 0, 0, 260, 258, 1, 0, 0, 0, 261, 267, 3, 10, 5, 0, 262, 263, 3, 48, 24, 0, 263, 264, 5, 33, 0, 0, 264, 265, 3, 10, 5, 0, 265, 267, 1, 0, 0, 0, 266, 261, 1, 0, 0, 0, 266, 262, 1, 0, 0, 0, 267, 27, 1, 0, 0, 0, 268, 269, 5, 6, 0, 0, 269, 274, 3, 30, 15, 0, 270, 271, 5, 34, 0, 0, 271, 273, 3, 30, 15, 0, 272, 270, 1, 0, 0, 0, 273, 276, 1, 0, 0, 0, 274, 272, 1, 0, 0, 0, 274, 275, 1, 0, 0, 0, 275, 278, 1, 0, 0, 0, 276, 274, 1, 0, 0, 0, 277, 279, 3, 36, 18, 0, 278, 277, 1, 0, 0, 0, 278, 279, 1, 0, 0, 0, 279, 281, 1, 0, 0, 0, 280, 282, 3, 32, 16, 0, 281, 280, 1, 0, 0, 0, 281, 282, 1, 0, 0, 0, 282, 29, 1, 0, 0, 0, 283, 284, 7, 2, 0, 0, 284, 31, 1, 0, 0, 0, 285, 286, 5, 71, 0, 0, 286, 291, 3, 34, 17, 0, 287, 288, 5, 34, 0, 0, 288, 290, 3, 34, 17, 0, 289, 287, 1, 0, 0, 0, 290, 293, 1, 0, 0, 0, 291, 289, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 33, 1, 0, 0, 0, 293, 291, 1, 0, 0, 0, 294, 295, 3, 90, 45, 0, 295, 296, 5, 33, 0, 0, 296, 297, 3, 90, 45, 0, 297, 35, 1, 0, 0, 0, 298, 301, 3, 38, 19, 0, 299, 301, 3, 40, 20, 0, 300, 298, 1, 0, 0, 0, 300, 299, 1, 0, 0, 0, 301, 37, 1, 0, 0, 0, 302, 303, 5, 72, 0, 0, 303, 308, 3, 30, 15, 0, 304, 305, 5, 34, 0, 0, 305, 307, 3, 30, 15, 0, 306, 304, 1, 0, 0, 0, 307, 310, 1, 0, 0, 0, 308, 306, 1, 0, 0, 0, 308, 309, 1, 0, 0, 0, 309, 39, 1, 0, 0, 0, 310, 308, 1, 0, 0, 0, 311, 312, 5, 64, 0, 0, 312, 313, 3, 38, 19, 0, 313, 314, 5, 65, 0, 0, 314, 41, 1, 0, 0, 0, 315, 316, 5, 4, 0, 0, 316, 317, 3, 24, 12, 0, 317, 43, 1, 0, 0, 0, 318, 320, 5, 17, 0, 0, 319, 321, 3, 24, 12, 0, 320, 319, 1, 0, 0, 0, 320, 321, 1, 0, 0, 0, 321, 324, 1, 0, 0, 0, 322, 323, 5, 30, 0, 0, 323, 325, 3, 24, 12, 0, 324, 322, 1, 0, 0, 0, 324, 325, 1, 0, 0, 0, 325, 45, 1, 0, 0, 0, 326, 327, 5, 8, 0, 0, 327, 330, 3, 24, 12, 0, 328, 329, 5, 30, 0, 0, 329, 331, 3, 24, 12, 0, 330, 328, 1, 0, 0, 0, 330, 331, 1, 0, 0, 0, 331, 47, 1, 0, 0, 0, 332, 337, 3, 52, 26, 0, 333, 334, 5, 36, 0, 0, 334, 336, 3, 52, 26, 0, 335, 333, 1, 0, 0, 0, 336, 339, 1, 0, 0, 0, 337, 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 49, 1, 0, 0, 0, 339, 337, 1, 0, 0, 0, 340, 345, 3, 54, 27, 0, 341, 342, 5, 36, 0, 0, 342, 344, 3, 54, 27, 0, 343, 341, 1, 0, 0, 0, 344, 347, 1, 0, 0, 0, 345, 343, 1, 0, 0, 0, 345, 346, 1, 0, 0, 0, 346, 51, 1, 0, 0, 0, 347, 345, 1, 0, 0, 0, 348, 349, 7, 3, 0, 0, 349, 53, 1, 0, 0, 0, 350, 351, 5, 77, 0, 0, 351, 55, 1, 0, 0, 0, 352, 395, 5, 45, 0, 0, 353, 354, 3, 88, 44, 0, 354, 355, 5, 66, 0, 0, 355, 395, 1, 0, 0, 0, 356, 395, 3, 86, 43, 0, 357, 395, 3, 88, 44, 0, 358, 395, 3, 82, 41, 0, 359, 395, 5, 48, 0, 0, 360, 395, 3, 90, 45, 0, 361, 362, 5, 64, 0, 0, 362, 367, 3, 84, 42, 0, 363, 364, 5, 34, 0, 0, 364, 366, 3, 84, 42, 0, 365, 363, 1, 0, 0, 0, 366, 369, 1, 0, 0, 0, 367, 365, 1, 0, 0, 0, 367, 368, 1, 0, 0, 0, 368, 370, 1, 0, 0, 0, 369, 367, 1, 0, 0, 0, 370, 371, 5, 65, 0, 0, 371, 395, 1, 0, 0, 0, 372, 373, 5, 64, 0, 0, 373, 378, 3, 82, 41, 0, 374, 375, 5, 34, 0, 0, 375, 377, 3, 82, 41, 0, 376, 374, 1, 0, 0, 0, 377, 380, 1, 0, 0, 0, 378, 376, 1, 0, 0, 0, 378, 379, 1, 0, 0, 0, 379, 381, 1, 0, 0, 0, 380, 378, 1, 0, 0, 0, 381, 382, 5, 65, 0, 0, 382, 395, 1, 0, 0, 0, 383, 384, 5, 64, 0, 0, 384, 389, 3, 90, 45, 0, 385, 386, 5, 34, 0, 0, 386, 388, 3, 90, 45, 0, 387, 385, 1, 0, 0, 0, 388, 391, 1, 0, 0, 0, 389, 387, 1, 0, 0, 0, 389, 390, 1, 0, 0, 0, 390, 392, 1, 0, 0, 0, 391, 389, 1, 0, 0, 0, 392, 393, 5, 65, 0, 0, 393, 395, 1, 0, 0, 0, 394, 352, 1, 0, 0, 0, 394, 353, 1, 0, 0, 0, 394, 356, 1, 0, 0, 0, 394, 357, 1, 0, 0, 0, 394, 358, 1, 0, 0, 0, 394, 359, 1, 0, 0, 0, 394, 360, 1, 0, 0, 0, 394, 361, 1, 0, 0, 0, 394, 372, 1, 0, 0, 0, 394, 383, 1, 0, 0, 0, 395, 57, 1, 0, 0, 0, 396, 397, 5, 10, 0, 0, 397, 398, 5, 28, 0, 0, 398, 59, 1, 0, 0, 0, 399, 400, 5, 16, 0, 0, 400, 405, 3, 62, 31, 0, 401, 402, 5, 34, 0, 0, 402, 404, 3, 62, 31, 0, 403, 401, 1, 0, 0, 0, 404, 407, 1, 0, 0, 0, 405, 403, 1, 0, 0, 0, 405, 406, 1, 0, 0, 0, 406, 61, 1, 0, 0, 0, 407, 405, 1, 0, 0, 0, 408, 410, 3, 10, 5, 0, 409, 411, 7, 4, 0, 0, 410, 409, 1, 0, 0, 0, 410, 411, 1, 0, 0, 0, 411, 414, 1, 0, 0, 0, 412, 413, 5, 46, 0, 0, 413, 415, 7, 5, 0, 0, 414, 412, 1, 0, 0, 0, 414, 415, 1, 0, 0, 0, 415, 63, 1, 0, 0, 0, 416, 417, 5, 9, 0, 0, 417, 422, 3, 50, 25, 0, 418, 419, 5, 34, 0, 0, 419, 421, 3, 50, 25, 0, 420, 418, 1, 0, 0, 0, 421, 424, 1, 0, 0, 0, 422, 420, 1, 0, 0, 0, 422, 423, 1, 0, 0, 0, 423, 65, 1, 0, 0, 0, 424, 422, 1, 0, 0, 0, 425, 426, 5, 2, 0, 0, 426, 431, 3, 50, 25, 0, 427, 428, 5, 34, 0, 0, 428, 430, 3, 50, 25, 0, 429, 427, 1, 0, 0, 0, 430, 433, 1, 0, 0, 0, 431, 429, 1, 0, 0, 0, 431, 432, 1, 0, 0, 0, 432, 67, 1, 0, 0, 0, 433, 431, 1, 0, 0, 0, 434, 435, 5, 13, 0, 0, 435, 440, 3, 70, 35, 0, 436, 437, 5, 34, 0, 0, 437, 439, 3, 70, 35, 0, 438, 436, 1, 0, 0, 0, 439, 442, 1, 0, 0, 0, 440, 438, 1, 0, 0, 0, 440, 441, 1, 0, 0, 0, 441, 69, 1, 0, 0, 0, 442, 440, 1, 0, 0, 0, 443, 444, 3, 50, 25, 0, 444, 445, 5, 81, 0, 0, 445, 446, 3, 50, 25, 0, 446, 71, 1, 0, 0, 0, 447, 448, 5, 1, 0, 0, 448, 449, 3, 18, 9, 0, 449, 451, 3, 90, 45, 0, 450, 452, 3, 78, 39, 0, 451, 450, 1, 0, 0, 0, 451, 452, 1, 0, 0, 0, 452, 73, 1, 0, 0, 0, 453, 454, 5, 7, 0, 0, 454, 455, 3, 18, 9, 0, 455, 456, 3, 90, 45, 0, 456, 75, 1, 0, 0, 0, 457, 458, 5, 12, 0, 0, 458, 459, 3, 48, 24, 0, 459, 77, 1, 0, 0, 0, 460, 465, 3, 80, 40, 0, 461, 462, 5, 34, 0, 0, 462, 464, 3, 80, 40, 0, 463, 461, 1, 0, 0, 0, 464, 467, 1, 0, 0, 0, 465, 463, 1, 0, 0, 0, 465, 466, 1, 0, 0, 0, 466, 79, 1, 0, 0, 0, 467, 465, 1, 0, 0, 0, 468, 469, 3, 52, 26, 0, 469, 470, 5, 33, 0, 0, 470, 471, 3, 56, 28, 0, 471, 81, 1, 0, 0, 0, 472, 473, 7, 6, 0, 0, 473, 83, 1, 0, 0, 0, 474, 477, 3, 86, 43, 0, 475, 477, 3, 88, 44, 0, 476, 474, 1, 0, 0, 0, 476, 475, 1, 0, 0, 0, 477, 85, 1, 0, 0, 0, 478, 480, 7, 0, 0, 0, 479, 478, 1, 0, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, 1, 0, 0, 0, 481, 482, 5, 29, 0, 0, 482, 87, 1, 0, 0, 0, 483, 485, 7, 0, 0, 0, 484, 483, 1, 0, 0, 0, 484, 485, 1, 0, 0, 0, 485, 486, 1, 0, 0, 0, 486, 487, 5, 28, 0, 0, 487, 89, 1, 0, 0, 0, 488, 489, 5, 27, 0, 0, 489, 91, 1, 0, 0, 0, 490, 491, 7, 7, 0, 0, 491, 93, 1, 0, 0, 0, 492, 493, 5, 5, 0, 0, 493, 494, 3, 96, 48, 0, 494, 95, 1, 0, 0, 0, 495, 496, 5, 64, 0, 0, 496, 497, 3, 2, 1, 0, 497, 498, 5, 65, 0, 0, 498, 97, 1, 0, 0, 0, 499, 500, 5, 15, 0, 0, 500, 501, 5, 97, 0, 0, 501, 99, 1, 0, 0, 0, 502, 503, 5, 11, 0, 0, 503, 504, 5, 101, 0, 0, 504, 101, 1, 0, 0, 0, 505, 506, 5, 3, 0, 0, 506, 509, 5, 87, 0, 0, 507, 508, 5, 85, 0, 0, 508, 510, 3, 50, 25, 0, 509, 507, 1, 0, 0, 0, 509, 510, 1, 0, 0, 0, 510, 520, 1, 0, 0, 0, 511, 512, 5, 86, 0, 0, 512, 517, 3, 104, 52, 0, 513, 514, 5, 34, 0, 0, 514, 516, 3, 104, 52, 0, 515, 513, 1, 0, 0, 0, 516, 519, 1, 0, 0, 0, 517, 515, 1, 0, 0, 0, 517, 518, 1, 0, 0, 0, 518, 521, 1, 0, 0, 0, 519, 517, 1, 0, 0, 0, 520, 511, 1, 0, 0, 0, 520, 521, 1, 0, 0, 0, 521, 103, 1, 0, 0, 0, 522, 523, 3, 50, 25, 0, 523, 524, 5, 33, 0, 0, 524, 526, 1, 0, 0, 0, 525, 522, 1, 0, 0, 0, 525, 526, 1, 0, 0, 0, 526, 527, 1, 0, 0, 0, 527, 528, 3, 50, 25, 0, 528, 105, 1, 0, 0, 0, 51, 117, 125, 140, 152, 161, 169, 173, 181, 183, 188, 195, 200, 207, 213, 221, 223, 233, 243, 246, 258, 266, 274, 278, 281, 291, 300, 308, 320, 324, 330, 337, 345, 367, 378, 389, 394, 405, 410, 414, 422, 431, 440, 451, 465, 476, 479, 484, 509, 517, 520, 525] \ No newline at end of file diff --git a/packages/kbn-esql-ast/src/antlr/esql_parser.ts b/packages/kbn-esql-ast/src/antlr/esql_parser.ts index 1300814b5fddd..3fcca1bb853e1 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_parser.ts +++ b/packages/kbn-esql-ast/src/antlr/esql_parser.ts @@ -1371,7 +1371,7 @@ export default class esql_parser extends Parser { case 1: { this.state = 277; - this.fromOptions(); + this.metadata(); } break; } @@ -1381,7 +1381,7 @@ export default class esql_parser extends Parser { case 1: { this.state = 280; - this.metadata(); + this.fromOptions(); } break; } @@ -3097,8 +3097,8 @@ export default class esql_parser extends Parser { 263,3,48,24,0,263,264,5,33,0,0,264,265,3,10,5,0,265,267,1,0,0,0,266,261, 1,0,0,0,266,262,1,0,0,0,267,27,1,0,0,0,268,269,5,6,0,0,269,274,3,30,15, 0,270,271,5,34,0,0,271,273,3,30,15,0,272,270,1,0,0,0,273,276,1,0,0,0,274, - 272,1,0,0,0,274,275,1,0,0,0,275,278,1,0,0,0,276,274,1,0,0,0,277,279,3,32, - 16,0,278,277,1,0,0,0,278,279,1,0,0,0,279,281,1,0,0,0,280,282,3,36,18,0, + 272,1,0,0,0,274,275,1,0,0,0,275,278,1,0,0,0,276,274,1,0,0,0,277,279,3,36, + 18,0,278,277,1,0,0,0,278,279,1,0,0,0,279,281,1,0,0,0,280,282,3,32,16,0, 281,280,1,0,0,0,281,282,1,0,0,0,282,29,1,0,0,0,283,284,7,2,0,0,284,31,1, 0,0,0,285,286,5,71,0,0,286,291,3,34,17,0,287,288,5,34,0,0,288,290,3,34, 17,0,289,287,1,0,0,0,290,293,1,0,0,0,291,289,1,0,0,0,291,292,1,0,0,0,292, @@ -4011,12 +4011,12 @@ export class FromCommandContext extends ParserRuleContext { public COMMA(i: number): TerminalNode { return this.getToken(esql_parser.COMMA, i); } - public fromOptions(): FromOptionsContext { - return this.getTypedRuleContext(FromOptionsContext, 0) as FromOptionsContext; - } public metadata(): MetadataContext { return this.getTypedRuleContext(MetadataContext, 0) as MetadataContext; } + public fromOptions(): FromOptionsContext { + return this.getTypedRuleContext(FromOptionsContext, 0) as FromOptionsContext; + } public get ruleIndex(): number { return esql_parser.RULE_fromCommand; } diff --git a/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts b/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts index c51173cae68ce..60304353afe81 100644 --- a/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts +++ b/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts @@ -20,8 +20,18 @@ import { SuggestionRawDefinition } from './types'; const triggerCharacters = [',', '(', '=', ' ']; const fields: Array<{ name: string; type: string; suggestedAs?: string }> = [ - ...['string', 'number', 'date', 'boolean', 'ip'].map((type) => ({ - name: `${type}Field`, + ...[ + 'string', + 'number', + 'date', + 'boolean', + 'ip', + 'geo_point', + 'geo_shape', + 'cartesian_point', + 'cartesian_shape', + ].map((type) => ({ + name: `${camelCase(type)}Field`, type, })), { name: 'any#Char$Field', type: 'number', suggestedAs: '`any#Char$Field`' }, @@ -71,7 +81,7 @@ const policies = [ */ function getFunctionSignaturesByReturnType( command: string, - expectedReturnType: string, + _expectedReturnType: string | string[], { agg, evalMath, @@ -83,6 +93,10 @@ function getFunctionSignaturesByReturnType( paramsTypes?: string[], ignored?: string[] ) { + const expectedReturnType = Array.isArray(_expectedReturnType) + ? _expectedReturnType + : [_expectedReturnType]; + const list = []; if (agg) { list.push(...statsAggregationFunctionDefinitions); @@ -103,7 +117,8 @@ function getFunctionSignaturesByReturnType( return false; } const filteredByReturnType = signatures.filter( - ({ returnType }) => expectedReturnType === 'any' || returnType === expectedReturnType + ({ returnType }) => + expectedReturnType.includes('any') || expectedReturnType.includes(returnType) ); if (!filteredByReturnType.length) { return false; @@ -137,18 +152,20 @@ function getFunctionSignaturesByReturnType( }); } -function getFieldNamesByType(requestedType: string) { +function getFieldNamesByType(_requestedType: string | string[]) { + const requestedType = Array.isArray(_requestedType) ? _requestedType : [_requestedType]; return fields - .filter(({ type }) => requestedType === 'any' || type === requestedType) + .filter(({ type }) => requestedType.includes('any') || requestedType.includes(type)) .map(({ name, suggestedAs }) => suggestedAs || name); } -function getLiteralsByType(type: string) { - if (type === 'time_literal') { +function getLiteralsByType(_type: string | string[]) { + const type = Array.isArray(_type) ? _type : [_type]; + if (type.includes('time_literal')) { // return only singular return timeLiterals.map(({ name }) => `1 ${name}`).filter((s) => !/s$/.test(s)); } - if (type === 'chrono_literal') { + if (type.includes('chrono_literal')) { return chronoLiterals.map(({ name }) => name); } return []; @@ -755,6 +772,10 @@ describe('autocomplete', () => { 'dateField', 'booleanField', 'ipField', + 'geoPointField', + 'geoShapeField', + 'cartesianPointField', + 'cartesianShapeField', 'any#Char$Field', 'kubernetes.something.something', ]); @@ -1051,29 +1072,36 @@ describe('autocomplete', () => { // Test suggestions for each possible param, within each signature variation, for each function for (const fn of evalFunctionsDefinitions) { // skip this fn for the moment as it's quite hard to test - if (fn.name !== 'auto_bucket') { + if (fn.name !== 'bucket') { for (const signature of fn.signatures) { signature.params.forEach((param, i) => { if (i < signature.params.length) { const canHaveMoreArgs = i + 1 < (signature.minParams ?? 0) || signature.params.filter(({ optional }, j) => !optional && j > i).length > i; + + const allPossibleParamTypes = Array.from( + new Set(fn.signatures.map((s) => s.params[i].type)) + ); + testSuggestions( `from a | eval ${fn.name}(${Array(i).fill('field').join(', ')}${i ? ',' : ''} )`, param.literalOptions?.length ? param.literalOptions.map((option) => `"${option}"${canHaveMoreArgs ? ',' : ''}`) : [ - ...getFieldNamesByType(param.type).map((f) => + ...getFieldNamesByType(allPossibleParamTypes).map((f) => canHaveMoreArgs ? `${f},` : f ), ...getFunctionSignaturesByReturnType( 'eval', - param.type, + allPossibleParamTypes, { evalMath: true }, undefined, [fn.name] ).map((l) => (canHaveMoreArgs ? `${l},` : l)), - ...getLiteralsByType(param.type).map((d) => (canHaveMoreArgs ? `${d},` : d)), + ...getLiteralsByType(allPossibleParamTypes).map((d) => + canHaveMoreArgs ? `${d},` : d + ), ] ); testSuggestions( @@ -1083,17 +1111,19 @@ describe('autocomplete', () => { param.literalOptions?.length ? param.literalOptions.map((option) => `"${option}"${canHaveMoreArgs ? ',' : ''}`) : [ - ...getFieldNamesByType(param.type).map((f) => + ...getFieldNamesByType(allPossibleParamTypes).map((f) => canHaveMoreArgs ? `${f},` : f ), ...getFunctionSignaturesByReturnType( 'eval', - param.type, + allPossibleParamTypes, { evalMath: true }, undefined, [fn.name] ).map((l) => (canHaveMoreArgs ? `${l},` : l)), - ...getLiteralsByType(param.type).map((d) => (canHaveMoreArgs ? `${d},` : d)), + ...getLiteralsByType(allPossibleParamTypes).map((d) => + canHaveMoreArgs ? `${d},` : d + ), ] ); } @@ -1102,6 +1132,8 @@ describe('autocomplete', () => { } } + testSuggestions('from a | eval var0 = bucket(@timestamp,', []); + describe('date math', () => { const dateSuggestions = timeLiterals.map(({ name }) => name); // If a literal number is detected then suggest also date period keywords diff --git a/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.ts b/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.ts index ce9b2d2e0acf2..eb40fcec7c54b 100644 --- a/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.ts +++ b/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.ts @@ -544,7 +544,7 @@ async function getExpressionSuggestionsByType( prevArg && (prevArg.type === 'function' || (!Array.isArray(nodeArg) && prevArg.type !== nodeArg.type)) ) { - if (!isLiteralItem(nodeArg) || !prevArg.literalOnly) { + if (!isLiteralItem(nodeArg) || !prevArg.constantOnly) { argDef = prevArg; } } @@ -737,7 +737,7 @@ async function getExpressionSuggestionsByType( // If the type is specified try to dig deeper in the definition to suggest the best candidate if (['string', 'number', 'boolean'].includes(argDef.type) && !argDef.values) { // it can be just literal values (i.e. "string") - if (argDef.literalOnly) { + if (argDef.constantOnly) { // ... | ... suggestions.push(...getCompatibleLiterals(command.name, [argDef.type], [argDef.name])); } else { @@ -1073,15 +1073,6 @@ async function getFunctionArgsSuggestions( if (!shouldGetNextArgument && argIndex) { argIndex -= 1; } - const types = fnDefinition.signatures.flatMap((signature) => { - if (signature.params.length > argIndex) { - return signature.params[argIndex].type; - } - if (signature.minParams) { - return signature.params[signature.params.length - 1].type; - } - return []; - }); const literalOptions = fnDefinition.signatures.reduce((acc, signature) => { const literalOptionsForThisParameter = signature.params[argIndex]?.literalOptions; @@ -1097,13 +1088,6 @@ async function getFunctionArgsSuggestions( // the first signature is used as reference const refSignature = fnDefinition.signatures[0]; - const hasMoreMandatoryArgs = - refSignature.params.filter(({ optional }, index) => !optional && index > argIndex).length > - argIndex || - ('minParams' in refSignature && refSignature.minParams - ? refSignature.minParams - 1 > argIndex - : false); - const suggestions = []; const noArgDefined = !arg; const isUnknownColumn = @@ -1137,11 +1121,23 @@ async function getFunctionArgsSuggestions( ); } + const supportedFieldTypes = fnDefinition.signatures + .flatMap((signature) => { + if (signature.params.length > argIndex) { + return signature.params[argIndex].constantOnly ? '' : signature.params[argIndex].type; + } + if (signature.minParams) { + return signature.params[signature.params.length - 1].type; + } + return []; + }) + .filter(nonNullable); + // ... | EVAL fn( ) // ... | EVAL fn( field, ) suggestions.push( ...(await getFieldsOrFunctionsSuggestions( - types, + supportedFieldTypes, command.name, option?.name, getFieldsByType, @@ -1159,6 +1155,13 @@ async function getFunctionArgsSuggestions( ); } + const hasMoreMandatoryArgs = + refSignature.params.filter(({ optional }, index) => !optional && index > argIndex).length > + argIndex || + ('minParams' in refSignature && refSignature.minParams + ? refSignature.minParams - 1 > argIndex + : false); + // for eval and row commands try also to complete numeric literals with time intervals where possible if (arg) { if (command.name !== 'stats') { @@ -1179,6 +1182,7 @@ async function getFunctionArgsSuggestions( ); } } + if (hasMoreMandatoryArgs) { // suggest a comma if there's another argument for the function suggestions.push(commaCompleteItem); diff --git a/packages/kbn-esql-validation-autocomplete/src/definitions/aggs.ts b/packages/kbn-esql-validation-autocomplete/src/definitions/aggs.ts index 169ae23052ebc..b671b314c5232 100644 --- a/packages/kbn-esql-validation-autocomplete/src/definitions/aggs.ts +++ b/packages/kbn-esql-validation-autocomplete/src/definitions/aggs.ts @@ -16,7 +16,7 @@ function createNumericAggDefinition({ }: { name: string; description: string; - args?: Array<{ name: string; type: string; value: string; literalOnly?: boolean }>; + args?: Array<{ name: string; type: string; value: string; constantOnly?: boolean }>; }): FunctionDefinition { const extraParamsExample = args.length ? `, ${args.map(({ value }) => value).join(',')}` : ''; return { @@ -28,11 +28,11 @@ function createNumericAggDefinition({ { params: [ { name: 'column', type: 'number', noNestingFunctions: true }, - ...args.map(({ name: paramName, type, literalOnly }) => ({ + ...args.map(({ name: paramName, type, constantOnly }) => ({ name: paramName, type, noNestingFunctions: true, - literalOnly, + constantOnly, })), ], returnType: 'number', @@ -94,7 +94,7 @@ export const statsAggregationFunctionDefinitions: FunctionDefinition[] = [ defaultMessage: 'Returns the n percentile of a field.', } ), - args: [{ name: 'percentile', type: 'number', value: '90', literalOnly: true }], + args: [{ name: 'percentile', type: 'number', value: '90', constantOnly: true }], }, ] .map(createNumericAggDefinition) @@ -147,7 +147,7 @@ export const statsAggregationFunctionDefinitions: FunctionDefinition[] = [ ], }, { - name: 'st_centroid', + name: 'st_centroid_agg', type: 'agg', description: i18n.translate( 'kbn-esql-validation-autocomplete.esql.definitions.stCentroidDoc', @@ -161,16 +161,16 @@ export const statsAggregationFunctionDefinitions: FunctionDefinition[] = [ params: [{ name: 'column', type: 'cartesian_point', noNestingFunctions: true }], returnType: 'cartesian_point', examples: [ - `from index | stats result = st_centroid(cartesian_field)`, - `from index | stats st_centroid(cartesian_field)`, + `from index | stats result = st_centroid_agg(cartesian_field)`, + `from index | stats st_centroid_agg(cartesian_field)`, ], }, { params: [{ name: 'column', type: 'geo_point', noNestingFunctions: true }], returnType: 'geo_point', examples: [ - `from index | stats result = st_centroid(geo_field)`, - `from index | stats st_centroid(geo_field)`, + `from index | stats result = st_centroid_agg(geo_field)`, + `from index | stats st_centroid_agg(geo_field)`, ], }, ], diff --git a/packages/kbn-esql-validation-autocomplete/src/definitions/commands.ts b/packages/kbn-esql-validation-autocomplete/src/definitions/commands.ts index 14e80ff5cfdf4..84e85c4d6e797 100644 --- a/packages/kbn-esql-validation-autocomplete/src/definitions/commands.ts +++ b/packages/kbn-esql-validation-autocomplete/src/definitions/commands.ts @@ -252,7 +252,7 @@ export const commandDefinitions: CommandDefinition[] = [ examples: ['… | limit 100', '… | limit 0'], signature: { multipleParams: false, - params: [{ name: 'size', type: 'number', literalOnly: true }], + params: [{ name: 'size', type: 'number', constantOnly: true }], }, options: [], modes: [], @@ -369,7 +369,7 @@ export const commandDefinitions: CommandDefinition[] = [ multipleParams: false, params: [ { name: 'column', type: 'column', innerType: 'string' }, - { name: 'pattern', type: 'string', literalOnly: true }, + { name: 'pattern', type: 'string', constantOnly: true }, ], }, }, @@ -386,7 +386,7 @@ export const commandDefinitions: CommandDefinition[] = [ multipleParams: false, params: [ { name: 'column', type: 'column', innerType: 'string' }, - { name: 'pattern', type: 'string', literalOnly: true }, + { name: 'pattern', type: 'string', constantOnly: true }, ], }, }, diff --git a/packages/kbn-esql-validation-autocomplete/src/definitions/functions.ts b/packages/kbn-esql-validation-autocomplete/src/definitions/functions.ts index f5badd2693234..5bb91b378aa1c 100644 --- a/packages/kbn-esql-validation-autocomplete/src/definitions/functions.ts +++ b/packages/kbn-esql-validation-autocomplete/src/definitions/functions.ts @@ -57,6 +57,20 @@ export const evalFunctionsDefinitions: FunctionDefinition[] = [ }, ], }, + { + name: 'signum', + description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.signumDoc', { + defaultMessage: + 'Returns the sign of the given number. It returns -1 for negative numbers, 0 for 0 and 1 for positive numbers.', + }), + signatures: [ + { + params: [{ name: 'field', type: 'number' }], + returnType: 'number', + examples: [`from index | eval s = signum(field)`], + }, + ], + }, { name: 'abs', description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.absDoc', { @@ -560,7 +574,7 @@ export const evalFunctionsDefinitions: FunctionDefinition[] = [ ], }, { - name: 'auto_bucket', + name: 'bucket', description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.autoBucketDoc', { defaultMessage: `Automatically bucket dates based on a given range and bucket target.`, }), @@ -568,24 +582,60 @@ export const evalFunctionsDefinitions: FunctionDefinition[] = [ { params: [ { name: 'field', type: 'date' }, - { name: 'buckets', type: 'number' }, - { name: 'startDate', type: 'string', literalOnly: true }, - { name: 'endDate', type: 'string', literalOnly: true }, + { name: 'buckets', type: 'number', constantOnly: true }, + { name: 'startDate', type: 'string', constantOnly: true }, + { name: 'endDate', type: 'string', constantOnly: true }, + ], + returnType: 'date', + examples: [ + 'from index | eval hd = bucket(hire_date, 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z")', + ], + }, + { + params: [ + { name: 'field', type: 'date' }, + { name: 'buckets', type: 'number', constantOnly: true }, + { name: 'startDate', type: 'date', constantOnly: true }, + { name: 'endDate', type: 'date', constantOnly: true }, + ], + returnType: 'date', + examples: [ + 'from index | eval hd = bucket(hire_date, 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z")', + ], + }, + { + params: [ + { name: 'field', type: 'date' }, + { name: 'buckets', type: 'number', constantOnly: true }, + { name: 'startDate', type: 'string', constantOnly: true }, + { name: 'endDate', type: 'date', constantOnly: true }, ], returnType: 'date', examples: [ - 'from index | eval hd = auto_bucket(hire_date, 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z")', + 'from index | eval hd = bucket(hire_date, 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z")', ], }, { params: [ { name: 'field', type: 'date' }, - { name: 'buckets', type: 'number' }, - { name: 'startValue', type: 'number', literalOnly: true }, - { name: 'endValue', type: 'number', literalOnly: true }, + { name: 'buckets', type: 'number', constantOnly: true }, + { name: 'startDate', type: 'date', constantOnly: true }, + { name: 'endDate', type: 'string', constantOnly: true }, + ], + returnType: 'date', + examples: [ + 'from index | eval hd = bucket(hire_date, 20, "1985-01-01T00:00:00Z", "1986-01-01T00:00:00Z")', + ], + }, + { + params: [ + { name: 'field', type: 'number' }, + { name: 'buckets', type: 'number', constantOnly: true }, + { name: 'startValue', type: 'number', constantOnly: true }, + { name: 'endValue', type: 'number', constantOnly: true }, ], returnType: 'number', - examples: ['from index | eval bs = auto_bucket(salary, 20, 25324, 74999)'], + examples: ['from index | eval bs = bucket(salary, 20, 25324, 74999)'], }, ], }, @@ -1084,6 +1134,44 @@ export const evalFunctionsDefinitions: FunctionDefinition[] = [ }, ], }, + { + name: 'mv_slice', + description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.mvSliceDoc', { + defaultMessage: + 'Returns a subset of the multivalued field using the start and end index values.', + }), + signatures: [ + { + params: [ + { name: 'multivalue', type: 'any' }, + { name: 'start', type: 'number' }, + { name: 'end', type: 'number' }, + ], + returnType: 'number', + examples: ['row a = [1, 2, 2, 3] | eval a1 = mv_slice(a, 1), a2 = mv_slice(a, 2, 3)'], + }, + ], + }, + { + name: 'mv_zip', + description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.mvZipDoc', { + defaultMessage: + 'Combines the values from two multivalued fields with a delimiter that joins them together.', + }), + signatures: [ + { + params: [ + { name: 'mvLeft', type: 'string' }, + { name: 'mvRight', type: 'string' }, + { name: 'delim', type: 'string' }, + ], + returnType: 'string', + examples: [ + 'ROW a = ["x", "y", "z"], b = ["1", "2"] \n| EVAL c = mv_zip(a, b, "-") \n| KEEP a, b, c', + ], + }, + ], + }, { name: 'pi', description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.piDoc', { @@ -1123,6 +1211,549 @@ export const evalFunctionsDefinitions: FunctionDefinition[] = [ }, ], }, + // begin spatial functions + { + name: 'st_contains', + description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.stContainsDoc', { + defaultMessage: 'Returns whether the first geometry contains the second geometry.', + }), + signatures: [ + { + params: [ + { + name: 'geomA', + type: 'geo_point', + }, + { + name: 'geomB', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_contains(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_point', + }, + { + name: 'geomB', + type: 'geo_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_contains(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_shape', + }, + { + name: 'geomB', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_contains(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_shape', + }, + { + name: 'geomB', + type: 'geo_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_contains(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_point', + }, + { + name: 'geomB', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_contains(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_point', + }, + { + name: 'geomB', + type: 'cartesian_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_contains(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_shape', + }, + { + name: 'geomB', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_contains(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_shape', + }, + { + name: 'geomB', + type: 'cartesian_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_contains(geometryA, geometryB)'], + }, + ], + }, + { + name: 'st_within', + description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.stWithinDoc', { + defaultMessage: 'Returns whether the first geometry is within the second geometry.', + }), + signatures: [ + { + params: [ + { + name: 'geomA', + type: 'geo_point', + }, + { + name: 'geomB', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_within(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_point', + }, + { + name: 'geomB', + type: 'geo_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_within(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_shape', + }, + { + name: 'geomB', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_within(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_shape', + }, + { + name: 'geomB', + type: 'geo_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_within(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_point', + }, + { + name: 'geomB', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_within(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_point', + }, + { + name: 'geomB', + type: 'cartesian_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_within(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_shape', + }, + { + name: 'geomB', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_within(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_shape', + }, + { + name: 'geomB', + type: 'cartesian_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_within(geometryA, geometryB)'], + }, + ], + }, + { + name: 'st_disjoint', + description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.stDisjointDoc', { + defaultMessage: 'Returns whether the two geometries or geometry columns are disjoint.', + }), + signatures: [ + { + params: [ + { + name: 'geomA', + type: 'geo_point', + }, + { + name: 'geomB', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_disjoint(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_point', + }, + { + name: 'geomB', + type: 'geo_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_disjoint(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_shape', + }, + { + name: 'geomB', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_disjoint(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_shape', + }, + { + name: 'geomB', + type: 'geo_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_disjoint(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_point', + }, + { + name: 'geomB', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_disjoint(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_point', + }, + { + name: 'geomB', + type: 'cartesian_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_disjoint(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_shape', + }, + { + name: 'geomB', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_disjoint(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_shape', + }, + { + name: 'geomB', + type: 'cartesian_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_disjoint(geometryA, geometryB)'], + }, + ], + }, + { + name: 'st_intersects', + description: i18n.translate( + 'kbn-esql-validation-autocomplete.esql.definitions.stIntersectsDoc', + { + defaultMessage: + 'Returns true if two geometries intersect. They intersect if they have any point in common, including their interior points (points along lines or within polygons).', + } + ), + signatures: [ + { + params: [ + { + name: 'geomA', + type: 'geo_point', + }, + { + name: 'geomB', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_intersects(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_point', + }, + { + name: 'geomB', + type: 'geo_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_intersects(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_shape', + }, + { + name: 'geomB', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_intersects(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'geo_shape', + }, + { + name: 'geomB', + type: 'geo_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_intersects(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_point', + }, + { + name: 'geomB', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_intersects(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_point', + }, + { + name: 'geomB', + type: 'cartesian_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_intersects(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_shape', + }, + { + name: 'geomB', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_intersects(geometryA, geometryB)'], + }, + { + params: [ + { + name: 'geomA', + type: 'cartesian_shape', + }, + { + name: 'geomB', + type: 'cartesian_shape', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_intersects(geometryA, geometryB)'], + }, + ], + }, + { + name: 'st_x', + description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.stXDoc', { + defaultMessage: + 'Extracts the x coordinate from the supplied point. If the points is of type geo_point this is equivalent to extracting the longitude value.', + }), + signatures: [ + { + params: [ + { + name: 'point', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_x(point)'], + }, + { + params: [ + { + name: 'point', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_x(point)'], + }, + ], + }, + { + name: 'st_y', + description: i18n.translate('kbn-esql-validation-autocomplete.esql.definitions.stYDoc', { + defaultMessage: + 'Extracts the y coordinate from the supplied point. If the points is of type geo_point this is equivalent to extracting the latitude value.', + }), + signatures: [ + { + params: [ + { + name: 'point', + type: 'geo_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_y(point)'], + }, + { + params: [ + { + name: 'point', + type: 'cartesian_point', + }, + ], + returnType: 'boolean', + examples: ['from index | eval st_y(point)'], + }, + ], + }, ] .sort(({ name: a }, { name: b }) => a.localeCompare(b)) .map((def) => ({ diff --git a/packages/kbn-esql-validation-autocomplete/src/definitions/types.ts b/packages/kbn-esql-validation-autocomplete/src/definitions/types.ts index 6d3488aacc003..85c00dd718c62 100644 --- a/packages/kbn-esql-validation-autocomplete/src/definitions/types.ts +++ b/packages/kbn-esql-validation-autocomplete/src/definitions/types.ts @@ -24,10 +24,10 @@ export interface FunctionDefinition { noNestingFunctions?: boolean; supportsWildcard?: boolean; /** - * if set this indicates that the value must be a literal - * but can be any literal of the correct type + * If set, this parameter does not accept a field. It only accepts a constant, + * though a function can be used to create the value. (e.g. now() for dates or concat() for strings) */ - literalOnly?: boolean; + constantOnly?: boolean; /** * if provided this means that the value must be one * of the options in the array iff the value is a literal. @@ -62,7 +62,7 @@ export interface CommandBaseDefinition { innerType?: string; values?: string[]; valueDescriptions?: string[]; - literalOnly?: boolean; + constantOnly?: boolean; wildcards?: boolean; }>; }; diff --git a/packages/kbn-esql-validation-autocomplete/src/validation/esql_validation_meta_tests.json b/packages/kbn-esql-validation-autocomplete/src/validation/esql_validation_meta_tests.json index 4adae6dc511eb..03380af831cb6 100644 --- a/packages/kbn-esql-validation-autocomplete/src/validation/esql_validation_meta_tests.json +++ b/packages/kbn-esql-validation-autocomplete/src/validation/esql_validation_meta_tests.json @@ -32,10 +32,18 @@ "name": "cartesianPointField", "type": "cartesian_point" }, + { + "name": "cartesianShapeField", + "type": "cartesian_shape" + }, { "name": "geoPointField", "type": "geo_point" }, + { + "name": "geoShapeField", + "type": "geo_shape" + }, { "name": "any#Char$Field", "type": "number" @@ -804,22 +812,52 @@ "warning": [] }, { - "query": "row var = auto_bucket(now(), 5, \"a\", \"a\")", + "query": "row var = bucket(now(), 5, \"a\", \"a\")", + "error": [], + "warning": [] + }, + { + "query": "row bucket(now(), 5, \"a\", \"a\")", + "error": [], + "warning": [] + }, + { + "query": "row var = bucket(now(), 5, now(), now())", + "error": [], + "warning": [] + }, + { + "query": "row bucket(now(), 5, now(), now())", "error": [], "warning": [] }, { - "query": "row auto_bucket(now(), 5, \"a\", \"a\")", + "query": "row var = bucket(now(), 5, \"a\", now())", "error": [], "warning": [] }, { - "query": "row var = auto_bucket(now(), 5, 5, 5)", + "query": "row bucket(now(), 5, \"a\", now())", "error": [], "warning": [] }, { - "query": "row auto_bucket(now(), 5, 5, 5)", + "query": "row var = bucket(now(), 5, now(), \"a\")", + "error": [], + "warning": [] + }, + { + "query": "row bucket(now(), 5, now(), \"a\")", + "error": [], + "warning": [] + }, + { + "query": "row var = bucket(5, 5, 5, 5)", + "error": [], + "warning": [] + }, + { + "query": "row bucket(5, 5, 5, 5)", "error": [], "warning": [] }, @@ -1370,6 +1408,16 @@ "error": [], "warning": [] }, + { + "query": "row var = mv_slice(\"a\", 5, 5)", + "error": [], + "warning": [] + }, + { + "query": "row mv_slice(\"a\", 5, 5)", + "error": [], + "warning": [] + }, { "query": "row var = mv_sort(\"a\", \"asc\")", "error": [], @@ -1402,6 +1450,30 @@ ], "warning": [] }, + { + "query": "row var = mv_zip(\"a\", \"a\", \"a\")", + "error": [], + "warning": [] + }, + { + "query": "row mv_zip(\"a\", \"a\", \"a\")", + "error": [], + "warning": [] + }, + { + "query": "row var = mv_zip(to_string(\"a\"), to_string(\"a\"), to_string(\"a\"))", + "error": [], + "warning": [] + }, + { + "query": "row var = mv_zip(5, 5, 5)", + "error": [ + "Argument of [mv_zip] must be [string], found value [5] type [number]", + "Argument of [mv_zip] must be [string], found value [5] type [number]", + "Argument of [mv_zip] must be [string], found value [5] type [number]" + ], + "warning": [] + }, { "query": "row var = now()", "error": [], @@ -1557,6 +1629,28 @@ ], "warning": [] }, + { + "query": "row var = signum(5)", + "error": [], + "warning": [] + }, + { + "query": "row signum(5)", + "error": [], + "warning": [] + }, + { + "query": "row var = signum(to_integer(\"a\"))", + "error": [], + "warning": [] + }, + { + "query": "row var = signum(\"a\")", + "error": [ + "Argument of [signum] must be [number], found value [\"a\"] type [string]" + ], + "warning": [] + }, { "query": "row var = sin(5)", "error": [], @@ -1647,6674 +1741,8926 @@ "warning": [] }, { - "query": "row var = starts_with(\"a\", \"a\")", + "query": "row var = st_contains(to_geopoint(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row starts_with(\"a\", \"a\")", + "query": "row st_contains(to_geopoint(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = starts_with(to_string(\"a\"), to_string(\"a\"))", + "query": "row var = st_contains(to_geopoint(\"a\"), to_geopoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = starts_with(5, 5)", + "query": "row var = st_contains(\"a\", \"a\")", "error": [ - "Argument of [starts_with] must be [string], found value [5] type [number]", - "Argument of [starts_with] must be [string], found value [5] type [number]" + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = substring(\"a\", 5, 5)", + "query": "row var = st_contains(to_geopoint(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row substring(\"a\", 5, 5)", + "query": "row st_contains(to_geopoint(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = substring(to_string(\"a\"), to_integer(\"a\"), to_integer(\"a\"))", + "query": "row var = st_contains(to_geopoint(\"a\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = substring(5, \"a\", \"a\")", + "query": "row var = st_contains(\"a\", \"a\")", "error": [ - "Argument of [substring] must be [string], found value [5] type [number]", - "Argument of [substring] must be [number], found value [\"a\"] type [string]", - "Argument of [substring] must be [number], found value [\"a\"] type [string]" + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = tan(5)", + "query": "row var = st_contains(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row tan(5)", + "query": "row st_contains(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = tan(to_integer(\"a\"))", + "query": "row var = st_contains(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = tan(\"a\")", + "query": "row var = st_contains(\"a\", \"a\")", "error": [ - "Argument of [tan] must be [number], found value [\"a\"] type [string]" + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = tanh(5)", + "query": "row var = st_contains(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row tanh(5)", + "query": "row st_contains(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = tanh(to_integer(\"a\"))", + "query": "row var = st_contains(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = tanh(\"a\")", + "query": "row var = st_contains(\"a\", \"a\")", "error": [ - "Argument of [tanh] must be [number], found value [\"a\"] type [string]" + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = tau()", + "query": "row var = st_contains(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row tau()", + "query": "row st_contains(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = tau()", + "query": "row var = st_contains(to_cartesianpoint(\"a\"), to_cartesianpoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = tau()", - "error": [], + "query": "row var = st_contains(\"a\", \"a\")", + "error": [ + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = to_boolean(\"a\")", + "query": "row var = st_contains(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_boolean(\"a\")", + "query": "row st_contains(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_bool(\"a\")", + "query": "row var = st_contains(to_cartesianpoint(\"a\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_cartesianpoint(\"a\")", - "error": [], + "query": "row var = st_contains(\"a\", \"a\")", + "error": [ + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row to_cartesianpoint(\"a\")", + "query": "row var = st_contains(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_cartesianshape(\"a\")", + "query": "row st_contains(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_cartesianshape(\"a\")", + "query": "row var = st_contains(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = to_datetime(\"a\")", - "error": [], + "query": "row var = st_contains(\"a\", \"a\")", + "error": [ + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row to_datetime(\"a\")", + "query": "row var = st_contains(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_dt(\"a\")", + "query": "row st_contains(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_degrees(5)", + "query": "row var = st_contains(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_degrees(5)", - "error": [], + "query": "row var = st_contains(\"a\", \"a\")", + "error": [ + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_contains] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = to_degrees(to_integer(\"a\"))", + "query": "row var = st_disjoint(to_geopoint(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_degrees(\"a\")", - "error": [ - "Argument of [to_degrees] must be [number], found value [\"a\"] type [string]" - ], + "query": "row st_disjoint(to_geopoint(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = to_double(\"a\")", + "query": "row var = st_disjoint(to_geopoint(\"a\"), to_geopoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row to_double(\"a\")", - "error": [], + "query": "row var = st_disjoint(\"a\", \"a\")", + "error": [ + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = to_dbl(\"a\")", + "query": "row var = st_disjoint(to_geopoint(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_geopoint(\"a\")", + "query": "row st_disjoint(to_geopoint(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_geopoint(\"a\")", + "query": "row var = st_disjoint(to_geopoint(\"a\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_geoshape(\"a\")", - "error": [], + "query": "row var = st_disjoint(\"a\", \"a\")", + "error": [ + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row to_geoshape(\"a\")", + "query": "row var = st_disjoint(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_integer(\"a\")", + "query": "row st_disjoint(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_integer(\"a\")", + "query": "row var = st_disjoint(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = to_int(\"a\")", - "error": [], + "query": "row var = st_disjoint(\"a\", \"a\")", + "error": [ + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = to_ip(\"a\")", + "query": "row var = st_disjoint(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_ip(\"a\")", + "query": "row st_disjoint(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_long(\"a\")", + "query": "row var = st_disjoint(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_long(\"a\")", - "error": [], + "query": "row var = st_disjoint(\"a\", \"a\")", + "error": [ + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = to_lower(\"a\")", + "query": "row var = st_disjoint(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_lower(\"a\")", + "query": "row st_disjoint(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_lower(to_string(\"a\"))", + "query": "row var = st_disjoint(to_cartesianpoint(\"a\"), to_cartesianpoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = to_lower(5)", + "query": "row var = st_disjoint(\"a\", \"a\")", "error": [ - "Argument of [to_lower] must be [string], found value [5] type [number]" + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = to_radians(5)", + "query": "row var = st_disjoint(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_radians(5)", + "query": "row st_disjoint(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_radians(to_integer(\"a\"))", + "query": "row var = st_disjoint(to_cartesianpoint(\"a\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_radians(\"a\")", + "query": "row var = st_disjoint(\"a\", \"a\")", "error": [ - "Argument of [to_radians] must be [number], found value [\"a\"] type [string]" + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = to_string(\"a\")", + "query": "row var = st_disjoint(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_string(\"a\")", + "query": "row st_disjoint(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_str(\"a\")", + "query": "row var = st_disjoint(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = to_unsigned_long(\"a\")", - "error": [], + "query": "row var = st_disjoint(\"a\", \"a\")", + "error": [ + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row to_unsigned_long(\"a\")", + "query": "row var = st_disjoint(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_ul(\"a\")", + "query": "row st_disjoint(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_ulong(\"a\")", + "query": "row var = st_disjoint(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_upper(\"a\")", + "query": "row var = st_disjoint(\"a\", \"a\")", + "error": [ + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [\"a\"] type [string]" + ], + "warning": [] + }, + { + "query": "row var = st_intersects(to_geopoint(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_upper(\"a\")", + "query": "row st_intersects(to_geopoint(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_upper(to_string(\"a\"))", + "query": "row var = st_intersects(to_geopoint(\"a\"), to_geopoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = to_upper(5)", + "query": "row var = st_intersects(\"a\", \"a\")", "error": [ - "Argument of [to_upper] must be [string], found value [5] type [number]" + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = to_version(\"a\")", + "query": "row var = st_intersects(to_geopoint(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row to_version(\"a\")", + "query": "row st_intersects(to_geopoint(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = to_ver(\"a\")", + "query": "row var = st_intersects(to_geopoint(\"a\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = trim(\"a\")", + "query": "row var = st_intersects(\"a\", \"a\")", + "error": [ + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]" + ], + "warning": [] + }, + { + "query": "row var = st_intersects(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row trim(\"a\")", + "query": "row st_intersects(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = trim(to_string(\"a\"))", + "query": "row var = st_intersects(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = trim(5)", + "query": "row var = st_intersects(\"a\", \"a\")", "error": [ - "Argument of [trim] must be [string], found value [5] type [number]" + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = 5 > 0", + "query": "row var = st_intersects(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = NOT 5 > 0", + "query": "row st_intersects(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = (numberField > 0)", + "query": "row var = st_intersects(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", + "error": [], + "warning": [] + }, + { + "query": "row var = st_intersects(\"a\", \"a\")", "error": [ - "Unknown column [numberField]" + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = (NOT (5 > 0))", + "query": "row var = st_intersects(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = \"a\" > 0", - "error": [ - "Argument of [>] must be [number], found value [\"a\"] type [string]" - ], + "query": "row st_intersects(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = 5 >= 0", + "query": "row var = st_intersects(to_cartesianpoint(\"a\"), to_cartesianpoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = NOT 5 >= 0", + "query": "row var = st_intersects(\"a\", \"a\")", + "error": [ + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]" + ], + "warning": [] + }, + { + "query": "row var = st_intersects(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = (numberField >= 0)", - "error": [ - "Unknown column [numberField]" - ], + "query": "row st_intersects(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = (NOT (5 >= 0))", + "query": "row var = st_intersects(to_cartesianpoint(\"a\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = \"a\" >= 0", + "query": "row var = st_intersects(\"a\", \"a\")", "error": [ - "Argument of [>=] must be [number], found value [\"a\"] type [string]" + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = 5 < 0", + "query": "row var = st_intersects(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = NOT 5 < 0", + "query": "row st_intersects(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = (numberField < 0)", + "query": "row var = st_intersects(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"a\"))", + "error": [], + "warning": [] + }, + { + "query": "row var = st_intersects(\"a\", \"a\")", "error": [ - "Unknown column [numberField]" + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = (NOT (5 < 0))", + "query": "row var = st_intersects(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = \"a\" < 0", - "error": [ - "Argument of [<] must be [number], found value [\"a\"] type [string]" - ], + "query": "row st_intersects(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = 5 <= 0", + "query": "row var = st_intersects(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = NOT 5 <= 0", + "query": "row var = st_intersects(\"a\", \"a\")", + "error": [ + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [\"a\"] type [string]" + ], + "warning": [] + }, + { + "query": "row var = st_within(to_geopoint(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = (numberField <= 0)", - "error": [ - "Unknown column [numberField]" - ], + "query": "row st_within(to_geopoint(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = (NOT (5 <= 0))", + "query": "row var = st_within(to_geopoint(\"a\"), to_geopoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = \"a\" <= 0", + "query": "row var = st_within(\"a\", \"a\")", "error": [ - "Argument of [<=] must be [number], found value [\"a\"] type [string]" + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = 5 == 0", + "query": "row var = st_within(to_geopoint(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = NOT 5 == 0", + "query": "row st_within(to_geopoint(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = (numberField == 0)", - "error": [ - "Unknown column [numberField]" - ], - "warning": [] - }, - { - "query": "row var = (NOT (5 == 0))", + "query": "row var = st_within(to_geopoint(\"a\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = \"a\" == 0", + "query": "row var = st_within(\"a\", \"a\")", "error": [ - "Argument of [==] must be [number], found value [\"a\"] type [string]" + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = 1 + 1", + "query": "row var = st_within(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = (5 + 1)", + "query": "row st_within(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = 1 - 1", + "query": "row var = st_within(to_geoshape(\"POINT (30 10)\"), to_geopoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = (5 - 1)", - "error": [], + "query": "row var = st_within(\"a\", \"a\")", + "error": [ + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = 1 * 1", + "query": "row var = st_within(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = (5 * 1)", + "query": "row st_within(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = 1 / 1", + "query": "row var = st_within(to_geoshape(\"POINT (30 10)\"), to_geoshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = (5 / 1)", - "error": [], + "query": "row var = st_within(\"a\", \"a\")", + "error": [ + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = 1 % 1", + "query": "row var = st_within(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = (5 % 1)", + "query": "row st_within(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = \"a\" like \"?a\"", + "query": "row var = st_within(to_cartesianpoint(\"a\"), to_cartesianpoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = \"a\" NOT like \"?a\"", - "error": [], + "query": "row var = st_within(\"a\", \"a\")", + "error": [ + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = NOT \"a\" like \"?a\"", + "query": "row var = st_within(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = NOT \"a\" NOT like \"?a\"", + "query": "row st_within(to_cartesianpoint(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = 5 like \"?a\"", - "error": [ - "Argument of [like] must be [string], found value [5] type [number]" - ], + "query": "row var = st_within(to_cartesianpoint(\"a\"), to_cartesianshape(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = 5 NOT like \"?a\"", + "query": "row var = st_within(\"a\", \"a\")", "error": [ - "Argument of [not_like] must be [string], found value [5] type [number]" + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = NOT 5 like \"?a\"", - "error": [ - "Argument of [like] must be [string], found value [5] type [number]" - ], + "query": "row var = st_within(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = NOT 5 NOT like \"?a\"", - "error": [ - "Argument of [not_like] must be [string], found value [5] type [number]" - ], + "query": "row st_within(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = \"a\" rlike \"?a\"", + "query": "row var = st_within(to_cartesianshape(\"POINT (30 10)\"), to_cartesianpoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = \"a\" NOT rlike \"?a\"", + "query": "row var = st_within(\"a\", \"a\")", + "error": [ + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]" + ], + "warning": [] + }, + { + "query": "row var = st_within(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = NOT \"a\" rlike \"?a\"", + "query": "row st_within(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = NOT \"a\" NOT rlike \"?a\"", + "query": "row var = st_within(to_cartesianshape(\"POINT (30 10)\"), to_cartesianshape(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = 5 rlike \"?a\"", + "query": "row var = st_within(\"a\", \"a\")", "error": [ - "Argument of [rlike] must be [string], found value [5] type [number]" + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]", + "Argument of [st_within] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = 5 NOT rlike \"?a\"", - "error": [ - "Argument of [not_rlike] must be [string], found value [5] type [number]" - ], + "query": "row var = st_x(to_geopoint(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = NOT 5 rlike \"?a\"", - "error": [ - "Argument of [rlike] must be [string], found value [5] type [number]" - ], + "query": "row st_x(to_geopoint(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row var = NOT 5 NOT rlike \"?a\"", + "query": "row var = st_x(to_geopoint(\"a\"))", + "error": [], + "warning": [] + }, + { + "query": "row var = st_x(\"a\")", "error": [ - "Argument of [not_rlike] must be [string], found value [5] type [number]" + "Argument of [st_x] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = mv_sort([\"a\", \"b\"], \"bogus\")", + "query": "row var = st_x(to_cartesianpoint(\"POINT (30 10)\"))", "error": [], - "warning": [ - "Invalid option [\"bogus\"] for mv_sort. Supported options: [\"asc\", \"desc\"]." - ] + "warning": [] }, { - "query": "row var = mv_sort([\"a\", \"b\"], \"ASC\")", + "query": "row st_x(to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = mv_sort([\"a\", \"b\"], \"DESC\")", + "query": "row var = st_x(to_cartesianpoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row 1 anno", + "query": "row var = st_x(\"a\")", "error": [ - "ROW does not support [date_period] in expression [1 anno]" + "Argument of [st_x] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = 1 anno", - "error": [ - "Unexpected time interval qualifier: 'anno'" - ], + "query": "row var = st_y(to_geopoint(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row now() + 1 anno", - "error": [ - "Unexpected time interval qualifier: 'anno'" - ], + "query": "row st_y(to_geopoint(\"POINT (30 10)\"))", + "error": [], "warning": [] }, { - "query": "row 1 year", - "error": [ - "ROW does not support [date_period] in expression [1 year]" - ], + "query": "row var = st_y(to_geopoint(\"a\"))", + "error": [], "warning": [] }, { - "query": "row 1 year", + "query": "row var = st_y(\"a\")", "error": [ - "ROW does not support [date_period] in expression [1 year]" + "Argument of [st_y] must be [geo_point], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = now() - 1 year", + "query": "row var = st_y(to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = now() - 1 YEAR", + "query": "row st_y(to_cartesianpoint(\"POINT (30 10)\"))", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Year", + "query": "row var = st_y(to_cartesianpoint(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = now() + 1 year", - "error": [], + "query": "row var = st_y(\"a\")", + "error": [ + "Argument of [st_y] must be [geo_point], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row 1 year + 1 year", - "error": [ - "Argument of [+] must be [date], found value [1 year] type [duration]" - ], + "query": "row var = starts_with(\"a\", \"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() * 1 year", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 year] type [duration]" - ], + "query": "row starts_with(\"a\", \"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 year", - "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 year] type [duration]" - ], + "query": "row var = starts_with(to_string(\"a\"), to_string(\"a\"))", + "error": [], "warning": [] }, { - "query": "row var = now() % 1 year", + "query": "row var = starts_with(5, 5)", "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 year] type [duration]" + "Argument of [starts_with] must be [string], found value [5] type [number]", + "Argument of [starts_with] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row 1 years", - "error": [ - "ROW does not support [date_period] in expression [1 years]" - ], + "query": "row var = substring(\"a\", 5, 5)", + "error": [], "warning": [] }, { - "query": "row 1 years", - "error": [ - "ROW does not support [date_period] in expression [1 years]" - ], + "query": "row substring(\"a\", 5, 5)", + "error": [], "warning": [] }, { - "query": "row var = now() - 1 years", + "query": "row var = substring(to_string(\"a\"), to_integer(\"a\"), to_integer(\"a\"))", "error": [], "warning": [] }, { - "query": "row var = now() - 1 YEARS", + "query": "row var = substring(5, \"a\", \"a\")", + "error": [ + "Argument of [substring] must be [string], found value [5] type [number]", + "Argument of [substring] must be [number], found value [\"a\"] type [string]", + "Argument of [substring] must be [number], found value [\"a\"] type [string]" + ], + "warning": [] + }, + { + "query": "row var = tan(5)", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Years", + "query": "row tan(5)", "error": [], "warning": [] }, { - "query": "row var = now() + 1 years", + "query": "row var = tan(to_integer(\"a\"))", "error": [], "warning": [] }, { - "query": "row 1 years + 1 year", + "query": "row var = tan(\"a\")", "error": [ - "Argument of [+] must be [date], found value [1 years] type [duration]" + "Argument of [tan] must be [number], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = now() * 1 years", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 years] type [duration]" - ], + "query": "row var = tanh(5)", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 years", - "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 years] type [duration]" - ], + "query": "row tanh(5)", + "error": [], "warning": [] }, { - "query": "row var = now() % 1 years", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 years] type [duration]" - ], + "query": "row var = tanh(to_integer(\"a\"))", + "error": [], "warning": [] }, { - "query": "row 1 month", + "query": "row var = tanh(\"a\")", "error": [ - "ROW does not support [date_period] in expression [1 month]" + "Argument of [tanh] must be [number], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row 1 month", - "error": [ - "ROW does not support [date_period] in expression [1 month]" - ], + "query": "row var = tau()", + "error": [], "warning": [] }, { - "query": "row var = now() - 1 month", + "query": "row tau()", "error": [], "warning": [] }, { - "query": "row var = now() - 1 MONTH", + "query": "row var = tau()", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Month", + "query": "row var = tau()", "error": [], "warning": [] }, { - "query": "row var = now() + 1 month", + "query": "row var = to_boolean(\"a\")", "error": [], "warning": [] }, { - "query": "row 1 month + 1 year", - "error": [ - "Argument of [+] must be [date], found value [1 month] type [duration]" - ], + "query": "row to_boolean(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() * 1 month", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 month] type [duration]" - ], + "query": "row var = to_bool(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 month", - "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 month] type [duration]" - ], + "query": "row var = to_cartesianpoint(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() % 1 month", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 month] type [duration]" - ], + "query": "row to_cartesianpoint(\"a\")", + "error": [], "warning": [] }, { - "query": "row 1 months", - "error": [ - "ROW does not support [date_period] in expression [1 months]" - ], + "query": "row var = to_cartesianshape(\"a\")", + "error": [], "warning": [] }, { - "query": "row 1 months", - "error": [ - "ROW does not support [date_period] in expression [1 months]" - ], + "query": "row to_cartesianshape(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() - 1 months", + "query": "row var = to_datetime(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 MONTHS", + "query": "row to_datetime(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Months", + "query": "row var = to_dt(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() + 1 months", + "query": "row var = to_degrees(5)", "error": [], "warning": [] }, { - "query": "row 1 months + 1 year", - "error": [ - "Argument of [+] must be [date], found value [1 months] type [duration]" - ], + "query": "row to_degrees(5)", + "error": [], "warning": [] }, { - "query": "row var = now() * 1 months", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 months] type [duration]" - ], + "query": "row var = to_degrees(to_integer(\"a\"))", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 months", + "query": "row var = to_degrees(\"a\")", "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 months] type [duration]" + "Argument of [to_degrees] must be [number], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = now() % 1 months", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 months] type [duration]" - ], + "query": "row var = to_double(\"a\")", + "error": [], "warning": [] }, { - "query": "row 1 week", - "error": [ - "ROW does not support [date_period] in expression [1 week]" - ], + "query": "row to_double(\"a\")", + "error": [], "warning": [] }, { - "query": "row 1 week", - "error": [ - "ROW does not support [date_period] in expression [1 week]" - ], + "query": "row var = to_dbl(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() - 1 week", + "query": "row var = to_geopoint(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 WEEK", + "query": "row to_geopoint(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Week", + "query": "row var = to_geoshape(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() + 1 week", + "query": "row to_geoshape(\"a\")", "error": [], "warning": [] }, { - "query": "row 1 week + 1 year", - "error": [ - "Argument of [+] must be [date], found value [1 week] type [duration]" - ], + "query": "row var = to_integer(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() * 1 week", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 week] type [duration]" - ], + "query": "row to_integer(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 week", - "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 week] type [duration]" - ], + "query": "row var = to_int(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() % 1 week", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 week] type [duration]" - ], + "query": "row var = to_ip(\"a\")", + "error": [], "warning": [] }, { - "query": "row 1 weeks", - "error": [ - "ROW does not support [date_period] in expression [1 weeks]" - ], + "query": "row to_ip(\"a\")", + "error": [], "warning": [] }, { - "query": "row 1 weeks", - "error": [ - "ROW does not support [date_period] in expression [1 weeks]" - ], + "query": "row var = to_long(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() - 1 weeks", + "query": "row to_long(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 WEEKS", + "query": "row var = to_lower(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Weeks", + "query": "row to_lower(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() + 1 weeks", + "query": "row var = to_lower(to_string(\"a\"))", "error": [], "warning": [] }, { - "query": "row 1 weeks + 1 year", + "query": "row var = to_lower(5)", "error": [ - "Argument of [+] must be [date], found value [1 weeks] type [duration]" + "Argument of [to_lower] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row var = now() * 1 weeks", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 weeks] type [duration]" - ], + "query": "row var = to_radians(5)", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 weeks", - "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 weeks] type [duration]" - ], + "query": "row to_radians(5)", + "error": [], "warning": [] }, { - "query": "row var = now() % 1 weeks", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 weeks] type [duration]" - ], + "query": "row var = to_radians(to_integer(\"a\"))", + "error": [], "warning": [] }, { - "query": "row 1 day", + "query": "row var = to_radians(\"a\")", "error": [ - "ROW does not support [date_period] in expression [1 day]" + "Argument of [to_radians] must be [number], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row 1 day", - "error": [ - "ROW does not support [date_period] in expression [1 day]" - ], + "query": "row var = to_string(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() - 1 day", + "query": "row to_string(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 DAY", + "query": "row var = to_str(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Day", + "query": "row var = to_unsigned_long(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() + 1 day", + "query": "row to_unsigned_long(\"a\")", "error": [], "warning": [] }, { - "query": "row 1 day + 1 year", - "error": [ - "Argument of [+] must be [date], found value [1 day] type [duration]" - ], + "query": "row var = to_ul(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() * 1 day", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 day] type [duration]" - ], + "query": "row var = to_ulong(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 day", - "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 day] type [duration]" - ], + "query": "row var = to_upper(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() % 1 day", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 day] type [duration]" - ], + "query": "row to_upper(\"a\")", + "error": [], "warning": [] }, { - "query": "row 1 days", - "error": [ - "ROW does not support [date_period] in expression [1 days]" - ], + "query": "row var = to_upper(to_string(\"a\"))", + "error": [], "warning": [] }, { - "query": "row 1 days", + "query": "row var = to_upper(5)", "error": [ - "ROW does not support [date_period] in expression [1 days]" + "Argument of [to_upper] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row var = now() - 1 days", + "query": "row var = to_version(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 DAYS", + "query": "row to_version(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Days", + "query": "row var = to_ver(\"a\")", "error": [], "warning": [] }, { - "query": "row var = now() + 1 days", + "query": "row var = trim(\"a\")", "error": [], "warning": [] }, { - "query": "row 1 days + 1 year", - "error": [ - "Argument of [+] must be [date], found value [1 days] type [duration]" - ], + "query": "row trim(\"a\")", + "error": [], "warning": [] }, { - "query": "row var = now() * 1 days", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 days] type [duration]" - ], + "query": "row var = trim(to_string(\"a\"))", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 days", + "query": "row var = trim(5)", "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 days] type [duration]" + "Argument of [trim] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row var = now() % 1 days", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 days] type [duration]" - ], + "query": "row var = 5 > 0", + "error": [], "warning": [] }, { - "query": "row 1 hour", - "error": [ - "ROW does not support [date_period] in expression [1 hour]" - ], + "query": "row var = NOT 5 > 0", + "error": [], "warning": [] }, { - "query": "row 1 hour", + "query": "row var = (numberField > 0)", "error": [ - "ROW does not support [date_period] in expression [1 hour]" + "Unknown column [numberField]" ], "warning": [] }, { - "query": "row var = now() - 1 hour", + "query": "row var = (NOT (5 > 0))", "error": [], "warning": [] }, { - "query": "row var = now() - 1 HOUR", - "error": [], + "query": "row var = \"a\" > 0", + "error": [ + "Argument of [>] must be [number], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = now() - 1 Hour", + "query": "row var = 5 >= 0", "error": [], "warning": [] }, { - "query": "row var = now() + 1 hour", + "query": "row var = NOT 5 >= 0", "error": [], "warning": [] }, { - "query": "row 1 hour + 1 year", + "query": "row var = (numberField >= 0)", "error": [ - "Argument of [+] must be [date], found value [1 hour] type [duration]" + "Unknown column [numberField]" ], "warning": [] }, { - "query": "row var = now() * 1 hour", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 hour] type [duration]" - ], + "query": "row var = (NOT (5 >= 0))", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 hour", + "query": "row var = \"a\" >= 0", "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 hour] type [duration]" + "Argument of [>=] must be [number], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = now() % 1 hour", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 hour] type [duration]" - ], + "query": "row var = 5 < 0", + "error": [], "warning": [] }, { - "query": "row 1 hours", - "error": [ - "ROW does not support [date_period] in expression [1 hours]" - ], + "query": "row var = NOT 5 < 0", + "error": [], "warning": [] }, { - "query": "row 1 hours", + "query": "row var = (numberField < 0)", "error": [ - "ROW does not support [date_period] in expression [1 hours]" + "Unknown column [numberField]" ], "warning": [] }, { - "query": "row var = now() - 1 hours", + "query": "row var = (NOT (5 < 0))", "error": [], "warning": [] }, { - "query": "row var = now() - 1 HOURS", - "error": [], + "query": "row var = \"a\" < 0", + "error": [ + "Argument of [<] must be [number], found value [\"a\"] type [string]" + ], "warning": [] }, { - "query": "row var = now() - 1 Hours", + "query": "row var = 5 <= 0", "error": [], "warning": [] }, { - "query": "row var = now() + 1 hours", + "query": "row var = NOT 5 <= 0", "error": [], "warning": [] }, { - "query": "row 1 hours + 1 year", + "query": "row var = (numberField <= 0)", "error": [ - "Argument of [+] must be [date], found value [1 hours] type [duration]" + "Unknown column [numberField]" ], "warning": [] }, { - "query": "row var = now() * 1 hours", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 hours] type [duration]" - ], + "query": "row var = (NOT (5 <= 0))", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 hours", + "query": "row var = \"a\" <= 0", "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 hours] type [duration]" + "Argument of [<=] must be [number], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = now() % 1 hours", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 hours] type [duration]" - ], + "query": "row var = 5 == 0", + "error": [], "warning": [] }, { - "query": "row 1 minute", + "query": "row var = NOT 5 == 0", + "error": [], + "warning": [] + }, + { + "query": "row var = (numberField == 0)", "error": [ - "ROW does not support [date_period] in expression [1 minute]" + "Unknown column [numberField]" ], "warning": [] }, { - "query": "row 1 minute", + "query": "row var = (NOT (5 == 0))", + "error": [], + "warning": [] + }, + { + "query": "row var = \"a\" == 0", "error": [ - "ROW does not support [date_period] in expression [1 minute]" + "Argument of [==] must be [number], found value [\"a\"] type [string]" ], "warning": [] }, { - "query": "row var = now() - 1 minute", + "query": "row var = 1 + 1", "error": [], "warning": [] }, { - "query": "row var = now() - 1 MINUTE", + "query": "row var = (5 + 1)", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Minute", + "query": "row var = 1 - 1", "error": [], "warning": [] }, { - "query": "row var = now() + 1 minute", + "query": "row var = (5 - 1)", "error": [], "warning": [] }, { - "query": "row 1 minute + 1 year", - "error": [ - "Argument of [+] must be [date], found value [1 minute] type [duration]" - ], + "query": "row var = 1 * 1", + "error": [], "warning": [] }, { - "query": "row var = now() * 1 minute", - "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 minute] type [duration]" - ], + "query": "row var = (5 * 1)", + "error": [], "warning": [] }, { - "query": "row var = now() / 1 minute", - "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 minute] type [duration]" - ], + "query": "row var = 1 / 1", + "error": [], "warning": [] }, { - "query": "row var = now() % 1 minute", - "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 minute] type [duration]" - ], + "query": "row var = (5 / 1)", + "error": [], "warning": [] }, { - "query": "row 1 minutes", - "error": [ - "ROW does not support [date_period] in expression [1 minutes]" - ], + "query": "row var = 1 % 1", + "error": [], "warning": [] }, { - "query": "row 1 minutes", - "error": [ - "ROW does not support [date_period] in expression [1 minutes]" - ], + "query": "row var = (5 % 1)", + "error": [], "warning": [] }, { - "query": "row var = now() - 1 minutes", + "query": "row var = \"a\" like \"?a\"", "error": [], "warning": [] }, { - "query": "row var = now() - 1 MINUTES", + "query": "row var = \"a\" NOT like \"?a\"", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Minutes", + "query": "row var = NOT \"a\" like \"?a\"", "error": [], "warning": [] }, { - "query": "row var = now() + 1 minutes", + "query": "row var = NOT \"a\" NOT like \"?a\"", "error": [], "warning": [] }, { - "query": "row 1 minutes + 1 year", + "query": "row var = 5 like \"?a\"", "error": [ - "Argument of [+] must be [date], found value [1 minutes] type [duration]" + "Argument of [like] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row var = now() * 1 minutes", + "query": "row var = 5 NOT like \"?a\"", "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 minutes] type [duration]" + "Argument of [not_like] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row var = now() / 1 minutes", + "query": "row var = NOT 5 like \"?a\"", "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 minutes] type [duration]" + "Argument of [like] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row var = now() % 1 minutes", + "query": "row var = NOT 5 NOT like \"?a\"", "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 minutes] type [duration]" + "Argument of [not_like] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row 1 second", + "query": "row var = \"a\" rlike \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "row var = \"a\" NOT rlike \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "row var = NOT \"a\" rlike \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "row var = NOT \"a\" NOT rlike \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "row var = 5 rlike \"?a\"", "error": [ - "ROW does not support [date_period] in expression [1 second]" + "Argument of [rlike] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row 1 second", + "query": "row var = 5 NOT rlike \"?a\"", "error": [ - "ROW does not support [date_period] in expression [1 second]" + "Argument of [not_rlike] must be [string], found value [5] type [number]" ], "warning": [] }, { - "query": "row var = now() - 1 second", - "error": [], + "query": "row var = NOT 5 rlike \"?a\"", + "error": [ + "Argument of [rlike] must be [string], found value [5] type [number]" + ], "warning": [] }, { - "query": "row var = now() - 1 SECOND", - "error": [], + "query": "row var = NOT 5 NOT rlike \"?a\"", + "error": [ + "Argument of [not_rlike] must be [string], found value [5] type [number]" + ], "warning": [] }, { - "query": "row var = now() - 1 Second", + "query": "row var = mv_sort([\"a\", \"b\"], \"bogus\")", "error": [], - "warning": [] + "warning": [ + "Invalid option [\"bogus\"] for mv_sort. Supported options: [\"asc\", \"desc\"]." + ] }, { - "query": "row var = now() + 1 second", + "query": "row var = mv_sort([\"a\", \"b\"], \"ASC\")", "error": [], "warning": [] }, { - "query": "row 1 second + 1 year", - "error": [ - "Argument of [+] must be [date], found value [1 second] type [duration]" - ], + "query": "row var = mv_sort([\"a\", \"b\"], \"DESC\")", + "error": [], "warning": [] }, { - "query": "row var = now() * 1 second", + "query": "row 1 anno", "error": [ - "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 second] type [duration]" + "ROW does not support [date_period] in expression [1 anno]" ], "warning": [] }, { - "query": "row var = now() / 1 second", + "query": "row var = 1 anno", "error": [ - "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 second] type [duration]" + "Unexpected time interval qualifier: 'anno'" ], "warning": [] }, { - "query": "row var = now() % 1 second", + "query": "row now() + 1 anno", "error": [ - "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 second] type [duration]" + "Unexpected time interval qualifier: 'anno'" ], "warning": [] }, { - "query": "row 1 seconds", + "query": "row 1 year", "error": [ - "ROW does not support [date_period] in expression [1 seconds]" + "ROW does not support [date_period] in expression [1 year]" ], "warning": [] }, { - "query": "row 1 seconds", + "query": "row 1 year", "error": [ - "ROW does not support [date_period] in expression [1 seconds]" + "ROW does not support [date_period] in expression [1 year]" ], "warning": [] }, { - "query": "row var = now() - 1 seconds", + "query": "row var = now() - 1 year", "error": [], "warning": [] }, { - "query": "row var = now() - 1 SECONDS", + "query": "row var = now() - 1 YEAR", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Seconds", + "query": "row var = now() - 1 Year", "error": [], "warning": [] }, { - "query": "row var = now() + 1 seconds", + "query": "row var = now() + 1 year", "error": [], "warning": [] }, { - "query": "row 1 seconds + 1 year", + "query": "row 1 year + 1 year", "error": [ - "Argument of [+] must be [date], found value [1 seconds] type [duration]" + "Argument of [+] must be [date], found value [1 year] type [duration]" ], "warning": [] }, { - "query": "row var = now() * 1 seconds", + "query": "row var = now() * 1 year", "error": [ "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 seconds] type [duration]" + "Argument of [*] must be [number], found value [1 year] type [duration]" ], "warning": [] }, { - "query": "row var = now() / 1 seconds", + "query": "row var = now() / 1 year", "error": [ "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 seconds] type [duration]" + "Argument of [/] must be [number], found value [1 year] type [duration]" ], "warning": [] }, { - "query": "row var = now() % 1 seconds", + "query": "row var = now() % 1 year", "error": [ "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 seconds] type [duration]" + "Argument of [%] must be [number], found value [1 year] type [duration]" ], "warning": [] }, { - "query": "row 1 millisecond", + "query": "row 1 years", "error": [ - "ROW does not support [date_period] in expression [1 millisecond]" + "ROW does not support [date_period] in expression [1 years]" ], "warning": [] }, { - "query": "row 1 millisecond", + "query": "row 1 years", "error": [ - "ROW does not support [date_period] in expression [1 millisecond]" + "ROW does not support [date_period] in expression [1 years]" ], "warning": [] }, { - "query": "row var = now() - 1 millisecond", + "query": "row var = now() - 1 years", "error": [], "warning": [] }, { - "query": "row var = now() - 1 MILLISECOND", + "query": "row var = now() - 1 YEARS", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Millisecond", + "query": "row var = now() - 1 Years", "error": [], "warning": [] }, { - "query": "row var = now() + 1 millisecond", + "query": "row var = now() + 1 years", "error": [], "warning": [] }, { - "query": "row 1 millisecond + 1 year", + "query": "row 1 years + 1 year", "error": [ - "Argument of [+] must be [date], found value [1 millisecond] type [duration]" + "Argument of [+] must be [date], found value [1 years] type [duration]" ], "warning": [] }, { - "query": "row var = now() * 1 millisecond", + "query": "row var = now() * 1 years", "error": [ "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 millisecond] type [duration]" + "Argument of [*] must be [number], found value [1 years] type [duration]" ], "warning": [] }, { - "query": "row var = now() / 1 millisecond", + "query": "row var = now() / 1 years", "error": [ "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 millisecond] type [duration]" + "Argument of [/] must be [number], found value [1 years] type [duration]" ], "warning": [] }, { - "query": "row var = now() % 1 millisecond", + "query": "row var = now() % 1 years", "error": [ "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 millisecond] type [duration]" + "Argument of [%] must be [number], found value [1 years] type [duration]" ], "warning": [] }, { - "query": "row 1 milliseconds", + "query": "row 1 month", "error": [ - "ROW does not support [date_period] in expression [1 milliseconds]" + "ROW does not support [date_period] in expression [1 month]" ], "warning": [] }, { - "query": "row 1 milliseconds", + "query": "row 1 month", "error": [ - "ROW does not support [date_period] in expression [1 milliseconds]" + "ROW does not support [date_period] in expression [1 month]" ], "warning": [] }, { - "query": "row var = now() - 1 milliseconds", + "query": "row var = now() - 1 month", "error": [], "warning": [] }, { - "query": "row var = now() - 1 MILLISECONDS", + "query": "row var = now() - 1 MONTH", "error": [], "warning": [] }, { - "query": "row var = now() - 1 Milliseconds", + "query": "row var = now() - 1 Month", "error": [], "warning": [] }, { - "query": "row var = now() + 1 milliseconds", + "query": "row var = now() + 1 month", "error": [], "warning": [] }, { - "query": "row 1 milliseconds + 1 year", + "query": "row 1 month + 1 year", "error": [ - "Argument of [+] must be [date], found value [1 milliseconds] type [duration]" + "Argument of [+] must be [date], found value [1 month] type [duration]" ], "warning": [] }, { - "query": "row var = now() * 1 milliseconds", + "query": "row var = now() * 1 month", "error": [ "Argument of [*] must be [number], found value [now()] type [date]", - "Argument of [*] must be [number], found value [1 milliseconds] type [duration]" + "Argument of [*] must be [number], found value [1 month] type [duration]" ], "warning": [] }, { - "query": "row var = now() / 1 milliseconds", + "query": "row var = now() / 1 month", "error": [ "Argument of [/] must be [number], found value [now()] type [date]", - "Argument of [/] must be [number], found value [1 milliseconds] type [duration]" + "Argument of [/] must be [number], found value [1 month] type [duration]" ], "warning": [] }, { - "query": "row var = now() % 1 milliseconds", + "query": "row var = now() % 1 month", "error": [ "Argument of [%] must be [number], found value [now()] type [date]", - "Argument of [%] must be [number], found value [1 milliseconds] type [duration]" - ], - "warning": [] - }, - { - "query": "meta", - "error": [ - "SyntaxError: missing 'functions' at ''" + "Argument of [%] must be [number], found value [1 month] type [duration]" ], "warning": [] }, { - "query": "meta functions", - "error": [], - "warning": [] - }, - { - "query": "meta functions()", + "query": "row 1 months", "error": [ - "SyntaxError: token recognition error at: '('", - "SyntaxError: token recognition error at: ')'" + "ROW does not support [date_period] in expression [1 months]" ], "warning": [] }, { - "query": "meta functions blah", + "query": "row 1 months", "error": [ - "SyntaxError: token recognition error at: 'b'", - "SyntaxError: token recognition error at: 'l'", - "SyntaxError: token recognition error at: 'a'", - "SyntaxError: token recognition error at: 'h'" + "ROW does not support [date_period] in expression [1 months]" ], "warning": [] }, { - "query": "meta info", - "error": [ - "SyntaxError: token recognition error at: 'i'", - "SyntaxError: token recognition error at: 'n'", - "SyntaxError: token recognition error at: 'fo'", - "SyntaxError: missing 'functions' at ''" - ], + "query": "row var = now() - 1 months", + "error": [], "warning": [] }, { - "query": "show", - "error": [ - "SyntaxError: missing 'info' at ''" - ], + "query": "row var = now() - 1 MONTHS", + "error": [], "warning": [] }, { - "query": "show functions", - "error": [ - "SyntaxError: token recognition error at: 'f'", - "SyntaxError: token recognition error at: 'u'", - "SyntaxError: token recognition error at: 'n'", - "SyntaxError: token recognition error at: 'c'", - "SyntaxError: token recognition error at: 't'", - "SyntaxError: token recognition error at: 'io'", - "SyntaxError: token recognition error at: 'n'", - "SyntaxError: token recognition error at: 's'", - "SyntaxError: missing 'info' at ''" - ], + "query": "row var = now() - 1 Months", + "error": [], "warning": [] }, { - "query": "show info", + "query": "row var = now() + 1 months", "error": [], "warning": [] }, { - "query": "show numberField", + "query": "row 1 months + 1 year", "error": [ - "SyntaxError: token recognition error at: 'n'", - "SyntaxError: token recognition error at: 'u'", - "SyntaxError: token recognition error at: 'm'", - "SyntaxError: token recognition error at: 'b'", - "SyntaxError: token recognition error at: 'e'", - "SyntaxError: token recognition error at: 'r'", - "SyntaxError: token recognition error at: 'F'", - "SyntaxError: token recognition error at: 'ie'", - "SyntaxError: token recognition error at: 'l'", - "SyntaxError: token recognition error at: 'd'", - "SyntaxError: missing 'info' at ''" + "Argument of [+] must be [date], found value [1 months] type [duration]" ], "warning": [] }, { - "query": "from index | limit ", + "query": "row var = now() * 1 months", "error": [ - "SyntaxError: missing INTEGER_LITERAL at ''" + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 months] type [duration]" ], "warning": [] }, { - "query": "from index | limit 4 ", - "error": [], - "warning": [] - }, - { - "query": "from index | limit 4.5", + "query": "row var = now() / 1 months", "error": [ - "SyntaxError: mismatched input '4.5' expecting INTEGER_LITERAL" + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 months] type [duration]" ], "warning": [] }, { - "query": "from index | limit a", + "query": "row var = now() % 1 months", "error": [ - "SyntaxError: mismatched input 'a' expecting INTEGER_LITERAL" + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 months] type [duration]" ], "warning": [] }, { - "query": "from index | limit numberField", + "query": "row 1 week", "error": [ - "SyntaxError: mismatched input 'numberField' expecting INTEGER_LITERAL" + "ROW does not support [date_period] in expression [1 week]" ], "warning": [] }, { - "query": "from index | limit stringField", + "query": "row 1 week", "error": [ - "SyntaxError: mismatched input 'stringField' expecting INTEGER_LITERAL" + "ROW does not support [date_period] in expression [1 week]" ], "warning": [] }, { - "query": "from index | limit 4", + "query": "row var = now() - 1 week", "error": [], "warning": [] }, { - "query": "from index | keep ", - "error": [ - "SyntaxError: missing ID_PATTERN at ''" - ], + "query": "row var = now() - 1 WEEK", + "error": [], "warning": [] }, { - "query": "from index | keep stringField, numberField, dateField", + "query": "row var = now() - 1 Week", "error": [], "warning": [] }, { - "query": "from index | keep `stringField`, `numberField`, `dateField`", + "query": "row var = now() + 1 week", "error": [], "warning": [] }, { - "query": "from index | keep 4.5", + "query": "row 1 week + 1 year", "error": [ - "SyntaxError: token recognition error at: '4'", - "SyntaxError: token recognition error at: '5'", - "SyntaxError: missing ID_PATTERN at '.'", - "SyntaxError: missing ID_PATTERN at ''" + "Argument of [+] must be [date], found value [1 week] type [duration]" ], "warning": [] }, { - "query": "from index | keep `4.5`", + "query": "row var = now() * 1 week", "error": [ - "Unknown column [4.5]" + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 week] type [duration]" ], "warning": [] }, { - "query": "from index | keep missingField, numberField, dateField", + "query": "row var = now() / 1 week", "error": [ - "Unknown column [missingField]" + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 week] type [duration]" ], "warning": [] }, { - "query": "from index | keep `any#Char$Field`", - "error": [], - "warning": [] - }, - { - "query": "from index | project ", + "query": "row var = now() % 1 week", "error": [ - "SyntaxError: mismatched input 'project' expecting {'dissect', 'drop', 'enrich', 'eval', 'grok', 'inlinestats', 'keep', 'limit', 'mv_expand', 'rename', 'sort', 'stats', 'where'}" + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 week] type [duration]" ], "warning": [] }, { - "query": "from index | project stringField, numberField, dateField", + "query": "row 1 weeks", "error": [ - "SyntaxError: mismatched input 'project' expecting {'dissect', 'drop', 'enrich', 'eval', 'grok', 'inlinestats', 'keep', 'limit', 'mv_expand', 'rename', 'sort', 'stats', 'where'}" + "ROW does not support [date_period] in expression [1 weeks]" ], "warning": [] }, { - "query": "from index | PROJECT stringField, numberField, dateField", + "query": "row 1 weeks", "error": [ - "SyntaxError: mismatched input 'PROJECT' expecting {'dissect', 'drop', 'enrich', 'eval', 'grok', 'inlinestats', 'keep', 'limit', 'mv_expand', 'rename', 'sort', 'stats', 'where'}" + "ROW does not support [date_period] in expression [1 weeks]" ], "warning": [] }, { - "query": "from index | project missingField, numberField, dateField", - "error": [ - "SyntaxError: mismatched input 'project' expecting {'dissect', 'drop', 'enrich', 'eval', 'grok', 'inlinestats', 'keep', 'limit', 'mv_expand', 'rename', 'sort', 'stats', 'where'}" - ], + "query": "row var = now() - 1 weeks", + "error": [], "warning": [] }, { - "query": "from index | keep s*", + "query": "row var = now() - 1 WEEKS", "error": [], "warning": [] }, { - "query": "from index | keep *Field", + "query": "row var = now() - 1 Weeks", "error": [], "warning": [] }, { - "query": "from index | keep s*Field", + "query": "row var = now() + 1 weeks", "error": [], "warning": [] }, { - "query": "from index | keep string*Field", - "error": [], + "query": "row 1 weeks + 1 year", + "error": [ + "Argument of [+] must be [date], found value [1 weeks] type [duration]" + ], "warning": [] }, { - "query": "from index | keep s*, n*", - "error": [], + "query": "row var = now() * 1 weeks", + "error": [ + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 weeks] type [duration]" + ], "warning": [] }, { - "query": "from index | keep m*", + "query": "row var = now() / 1 weeks", "error": [ - "Unknown column [m*]" + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 weeks] type [duration]" ], "warning": [] }, { - "query": "from index | keep *m", + "query": "row var = now() % 1 weeks", "error": [ - "Unknown column [*m]" + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 weeks] type [duration]" ], "warning": [] }, { - "query": "from index | keep d*m", + "query": "row 1 day", "error": [ - "Unknown column [d*m]" + "ROW does not support [date_period] in expression [1 day]" ], "warning": [] }, { - "query": "from unsupported_index | keep unsupported_field", - "error": [], - "warning": [ - "Field [unsupported_field] cannot be retrieved, it is unsupported or not indexed; returning null" - ] + "query": "row 1 day", + "error": [ + "ROW does not support [date_period] in expression [1 day]" + ], + "warning": [] }, { - "query": "FROM index | STATS ROUND(AVG(numberField * 1.5)), COUNT(*), MIN(numberField * 10) | KEEP `MIN(numberField * 10)`", + "query": "row var = now() - 1 day", "error": [], "warning": [] }, { - "query": "FROM index | STATS COUNT(*), MIN(numberField * 10), MAX(numberField)| KEEP `COUNT(*)`", + "query": "row var = now() - 1 DAY", "error": [], "warning": [] }, { - "query": "from index | drop ", - "error": [ - "SyntaxError: missing ID_PATTERN at ''" - ], + "query": "row var = now() - 1 Day", + "error": [], "warning": [] }, { - "query": "from index | drop stringField, numberField, dateField", + "query": "row var = now() + 1 day", "error": [], "warning": [] }, { - "query": "from index | drop 4.5", + "query": "row 1 day + 1 year", "error": [ - "SyntaxError: token recognition error at: '4'", - "SyntaxError: token recognition error at: '5'", - "SyntaxError: missing ID_PATTERN at '.'", - "SyntaxError: missing ID_PATTERN at ''" + "Argument of [+] must be [date], found value [1 day] type [duration]" ], "warning": [] }, { - "query": "from index | drop missingField, numberField, dateField", + "query": "row var = now() * 1 day", "error": [ - "Unknown column [missingField]" + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 day] type [duration]" ], "warning": [] }, { - "query": "from index | drop `any#Char$Field`", - "error": [], + "query": "row var = now() / 1 day", + "error": [ + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 day] type [duration]" + ], "warning": [] }, { - "query": "from index | drop s*", - "error": [], + "query": "row var = now() % 1 day", + "error": [ + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 day] type [duration]" + ], "warning": [] }, { - "query": "from index | drop s**Field", - "error": [], + "query": "row 1 days", + "error": [ + "ROW does not support [date_period] in expression [1 days]" + ], "warning": [] }, { - "query": "from index | drop *Field*", - "error": [], + "query": "row 1 days", + "error": [ + "ROW does not support [date_period] in expression [1 days]" + ], "warning": [] }, { - "query": "from index | drop s*F*d", + "query": "row var = now() - 1 days", "error": [], "warning": [] }, { - "query": "from index | drop *Field", + "query": "row var = now() - 1 DAYS", "error": [], "warning": [] }, { - "query": "from index | drop s*Field", + "query": "row var = now() - 1 Days", "error": [], "warning": [] }, { - "query": "from index | drop string*Field", + "query": "row var = now() + 1 days", "error": [], "warning": [] }, { - "query": "from index | drop s*, n*", - "error": [], + "query": "row 1 days + 1 year", + "error": [ + "Argument of [+] must be [date], found value [1 days] type [duration]" + ], "warning": [] }, { - "query": "from index | drop m*", + "query": "row var = now() * 1 days", "error": [ - "Unknown column [m*]" + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 days] type [duration]" ], "warning": [] }, { - "query": "from index | drop *m", + "query": "row var = now() / 1 days", "error": [ - "Unknown column [*m]" + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 days] type [duration]" ], "warning": [] }, { - "query": "from index | drop d*m", + "query": "row var = now() % 1 days", "error": [ - "Unknown column [d*m]" + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 days] type [duration]" ], "warning": [] }, { - "query": "from index | drop *", + "query": "row 1 hour", "error": [ - "Removing all fields is not allowed [*]" + "ROW does not support [date_period] in expression [1 hour]" ], "warning": [] }, { - "query": "from index | drop stringField, *", + "query": "row 1 hour", "error": [ - "Removing all fields is not allowed [*]" + "ROW does not support [date_period] in expression [1 hour]" ], "warning": [] }, { - "query": "from index | drop @timestamp", + "query": "row var = now() - 1 hour", "error": [], - "warning": [ - "Drop [@timestamp] will remove all time filters to the search results" - ] + "warning": [] }, { - "query": "from index | drop stringField, @timestamp", + "query": "row var = now() - 1 HOUR", "error": [], - "warning": [ - "Drop [@timestamp] will remove all time filters to the search results" - ] + "warning": [] }, { - "query": "FROM index | STATS ROUND(AVG(numberField * 1.5)), COUNT(*), MIN(numberField * 10) | DROP `MIN(numberField * 10)`", + "query": "row var = now() - 1 Hour", "error": [], "warning": [] }, { - "query": "FROM index | STATS COUNT(*), MIN(numberField * 10), MAX(numberField)| DROP `COUNT(*)`", + "query": "row var = now() + 1 hour", "error": [], "warning": [] }, { - "query": "from a_index | mv_expand ", + "query": "row 1 hour + 1 year", "error": [ - "SyntaxError: missing {UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER} at ''" + "Argument of [+] must be [date], found value [1 hour] type [duration]" ], "warning": [] }, { - "query": "from a_index | mv_expand stringField", - "error": [], - "warning": [] - }, - { - "query": "from a_index | mv_expand numberField", - "error": [], + "query": "row var = now() * 1 hour", + "error": [ + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 hour] type [duration]" + ], "warning": [] }, { - "query": "from a_index | mv_expand dateField", - "error": [], + "query": "row var = now() / 1 hour", + "error": [ + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 hour] type [duration]" + ], "warning": [] }, { - "query": "from a_index | mv_expand booleanField", - "error": [], + "query": "row var = now() % 1 hour", + "error": [ + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 hour] type [duration]" + ], "warning": [] }, { - "query": "from a_index | mv_expand ipField", - "error": [], + "query": "row 1 hours", + "error": [ + "ROW does not support [date_period] in expression [1 hours]" + ], "warning": [] }, { - "query": "from a_index | mv_expand numberField, b", + "query": "row 1 hours", "error": [ - "SyntaxError: token recognition error at: ','", - "SyntaxError: extraneous input 'b' expecting " + "ROW does not support [date_period] in expression [1 hours]" ], "warning": [] }, { - "query": "row a = \"a\" | mv_expand a", + "query": "row var = now() - 1 hours", "error": [], "warning": [] }, { - "query": "row a = [1, 2, 3] | mv_expand a", + "query": "row var = now() - 1 HOURS", "error": [], "warning": [] }, { - "query": "row a = [true, false] | mv_expand a", + "query": "row var = now() - 1 Hours", "error": [], "warning": [] }, { - "query": "row a = [\"a\", \"b\"] | mv_expand a", + "query": "row var = now() + 1 hours", "error": [], "warning": [] }, { - "query": "from a_index | rename", + "query": "row 1 hours + 1 year", "error": [ - "SyntaxError: mismatched input '' expecting ID_PATTERN" + "Argument of [+] must be [date], found value [1 hours] type [duration]" ], "warning": [] }, { - "query": "from a_index | rename stringField", + "query": "row var = now() * 1 hours", "error": [ - "SyntaxError: mismatched input '' expecting 'as'" + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 hours] type [duration]" ], "warning": [] }, { - "query": "from a_index | rename a", + "query": "row var = now() / 1 hours", "error": [ - "SyntaxError: mismatched input '' expecting 'as'", - "Unknown column [a]" + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 hours] type [duration]" ], "warning": [] }, { - "query": "from a_index | rename stringField as", + "query": "row var = now() % 1 hours", "error": [ - "SyntaxError: missing ID_PATTERN at ''" + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 hours] type [duration]" ], "warning": [] }, { - "query": "from a_index | rename missingField as", + "query": "row 1 minute", "error": [ - "SyntaxError: missing ID_PATTERN at ''", - "Unknown column [missingField]" + "ROW does not support [date_period] in expression [1 minute]" ], "warning": [] }, { - "query": "from a_index | rename stringField as b", - "error": [], - "warning": [] - }, - { - "query": "from a_index | rename stringField AS b", - "error": [], + "query": "row 1 minute", + "error": [ + "ROW does not support [date_period] in expression [1 minute]" + ], "warning": [] }, { - "query": "from a_index | rename stringField As b", + "query": "row var = now() - 1 minute", "error": [], "warning": [] }, { - "query": "from a_index | rename stringField As b, b AS c", + "query": "row var = now() - 1 MINUTE", "error": [], "warning": [] }, { - "query": "from a_index | rename fn() as a", - "error": [ - "SyntaxError: token recognition error at: '('", - "SyntaxError: token recognition error at: ')'", - "Unknown column [fn]", - "Unknown column [a]" - ], - "warning": [] - }, - { - "query": "from a_index | eval numberField + 1 | rename `numberField + 1` as a", + "query": "row var = now() - 1 Minute", "error": [], "warning": [] }, { - "query": "from a_index | stats avg(numberField) | rename `avg(numberField)` as avg0", + "query": "row var = now() + 1 minute", "error": [], "warning": [] }, { - "query": "from a_index |eval numberField + 1 | rename `numberField + 1` as ", + "query": "row 1 minute + 1 year", "error": [ - "SyntaxError: missing ID_PATTERN at ''" + "Argument of [+] must be [date], found value [1 minute] type [duration]" ], "warning": [] }, { - "query": "from a_index | rename s* as strings", + "query": "row var = now() * 1 minute", "error": [ - "Using wildcards (*) in RENAME is not allowed [s*]", - "Unknown column [strings]" + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 minute] type [duration]" ], "warning": [] }, { - "query": "row a = 10 | rename a as `this``is fine`", - "error": [], + "query": "row var = now() / 1 minute", + "error": [ + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 minute] type [duration]" + ], "warning": [] }, { - "query": "row a = 10 | rename a as this is fine", + "query": "row var = now() % 1 minute", "error": [ - "SyntaxError: mismatched input 'is' expecting " + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 minute] type [duration]" ], "warning": [] }, { - "query": "from a_index | dissect", + "query": "row 1 minutes", "error": [ - "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + "ROW does not support [date_period] in expression [1 minutes]" ], "warning": [] }, { - "query": "from a_index | dissect stringField", + "query": "row 1 minutes", "error": [ - "SyntaxError: missing QUOTED_STRING at ''" + "ROW does not support [date_period] in expression [1 minutes]" ], "warning": [] }, { - "query": "from a_index | dissect stringField 2", - "error": [ - "SyntaxError: mismatched input '2' expecting QUOTED_STRING" - ], + "query": "row var = now() - 1 minutes", + "error": [], "warning": [] }, { - "query": "from a_index | dissect stringField .", - "error": [ - "SyntaxError: mismatched input '' expecting {UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}", - "Unknown column [stringField.]" - ], + "query": "row var = now() - 1 MINUTES", + "error": [], "warning": [] }, { - "query": "from a_index | dissect stringField %a", - "error": [ - "SyntaxError: mismatched input '%' expecting QUOTED_STRING", - "SyntaxError: mismatched input '' expecting '='" - ], + "query": "row var = now() - 1 Minutes", + "error": [], "warning": [] }, { - "query": "from a_index | dissect stringField \"%{firstWord}\"", + "query": "row var = now() + 1 minutes", "error": [], "warning": [] }, { - "query": "from a_index | dissect numberField \"%{firstWord}\"", + "query": "row 1 minutes + 1 year", "error": [ - "DISSECT only supports string type values, found [numberField] of type [number]" + "Argument of [+] must be [date], found value [1 minutes] type [duration]" ], "warning": [] }, { - "query": "from a_index | dissect stringField \"%{firstWord}\" option ", + "query": "row var = now() * 1 minutes", "error": [ - "SyntaxError: mismatched input '' expecting '='" + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 minutes] type [duration]" ], "warning": [] }, { - "query": "from a_index | dissect stringField \"%{firstWord}\" option = ", + "query": "row var = now() / 1 minutes", "error": [ - "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', 'null', '?', 'true', '+', '-', OPENING_BRACKET}", - "Invalid option for DISSECT: [option]" + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 minutes] type [duration]" ], "warning": [] }, { - "query": "from a_index | dissect stringField \"%{firstWord}\" option = 1", + "query": "row var = now() % 1 minutes", "error": [ - "Invalid option for DISSECT: [option]" + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 minutes] type [duration]" ], "warning": [] }, { - "query": "from a_index | dissect stringField \"%{firstWord}\" append_separator = \"-\"", - "error": [], + "query": "row 1 second", + "error": [ + "ROW does not support [date_period] in expression [1 second]" + ], + "warning": [] + }, + { + "query": "row 1 second", + "error": [ + "ROW does not support [date_period] in expression [1 second]" + ], + "warning": [] + }, + { + "query": "row var = now() - 1 second", + "error": [], + "warning": [] + }, + { + "query": "row var = now() - 1 SECOND", + "error": [], + "warning": [] + }, + { + "query": "row var = now() - 1 Second", + "error": [], + "warning": [] + }, + { + "query": "row var = now() + 1 second", + "error": [], + "warning": [] + }, + { + "query": "row 1 second + 1 year", + "error": [ + "Argument of [+] must be [date], found value [1 second] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() * 1 second", + "error": [ + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 second] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() / 1 second", + "error": [ + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 second] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() % 1 second", + "error": [ + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 second] type [duration]" + ], + "warning": [] + }, + { + "query": "row 1 seconds", + "error": [ + "ROW does not support [date_period] in expression [1 seconds]" + ], + "warning": [] + }, + { + "query": "row 1 seconds", + "error": [ + "ROW does not support [date_period] in expression [1 seconds]" + ], + "warning": [] + }, + { + "query": "row var = now() - 1 seconds", + "error": [], + "warning": [] + }, + { + "query": "row var = now() - 1 SECONDS", + "error": [], + "warning": [] + }, + { + "query": "row var = now() - 1 Seconds", + "error": [], + "warning": [] + }, + { + "query": "row var = now() + 1 seconds", + "error": [], + "warning": [] + }, + { + "query": "row 1 seconds + 1 year", + "error": [ + "Argument of [+] must be [date], found value [1 seconds] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() * 1 seconds", + "error": [ + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 seconds] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() / 1 seconds", + "error": [ + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 seconds] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() % 1 seconds", + "error": [ + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 seconds] type [duration]" + ], + "warning": [] + }, + { + "query": "row 1 millisecond", + "error": [ + "ROW does not support [date_period] in expression [1 millisecond]" + ], + "warning": [] + }, + { + "query": "row 1 millisecond", + "error": [ + "ROW does not support [date_period] in expression [1 millisecond]" + ], + "warning": [] + }, + { + "query": "row var = now() - 1 millisecond", + "error": [], + "warning": [] + }, + { + "query": "row var = now() - 1 MILLISECOND", + "error": [], + "warning": [] + }, + { + "query": "row var = now() - 1 Millisecond", + "error": [], + "warning": [] + }, + { + "query": "row var = now() + 1 millisecond", + "error": [], + "warning": [] + }, + { + "query": "row 1 millisecond + 1 year", + "error": [ + "Argument of [+] must be [date], found value [1 millisecond] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() * 1 millisecond", + "error": [ + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 millisecond] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() / 1 millisecond", + "error": [ + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 millisecond] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() % 1 millisecond", + "error": [ + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 millisecond] type [duration]" + ], + "warning": [] + }, + { + "query": "row 1 milliseconds", + "error": [ + "ROW does not support [date_period] in expression [1 milliseconds]" + ], + "warning": [] + }, + { + "query": "row 1 milliseconds", + "error": [ + "ROW does not support [date_period] in expression [1 milliseconds]" + ], + "warning": [] + }, + { + "query": "row var = now() - 1 milliseconds", + "error": [], + "warning": [] + }, + { + "query": "row var = now() - 1 MILLISECONDS", + "error": [], + "warning": [] + }, + { + "query": "row var = now() - 1 Milliseconds", + "error": [], + "warning": [] + }, + { + "query": "row var = now() + 1 milliseconds", + "error": [], + "warning": [] + }, + { + "query": "row 1 milliseconds + 1 year", + "error": [ + "Argument of [+] must be [date], found value [1 milliseconds] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() * 1 milliseconds", + "error": [ + "Argument of [*] must be [number], found value [now()] type [date]", + "Argument of [*] must be [number], found value [1 milliseconds] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() / 1 milliseconds", + "error": [ + "Argument of [/] must be [number], found value [now()] type [date]", + "Argument of [/] must be [number], found value [1 milliseconds] type [duration]" + ], + "warning": [] + }, + { + "query": "row var = now() % 1 milliseconds", + "error": [ + "Argument of [%] must be [number], found value [now()] type [date]", + "Argument of [%] must be [number], found value [1 milliseconds] type [duration]" + ], + "warning": [] + }, + { + "query": "meta", + "error": [ + "SyntaxError: missing 'functions' at ''" + ], + "warning": [] + }, + { + "query": "meta functions", + "error": [], + "warning": [] + }, + { + "query": "meta functions()", + "error": [ + "SyntaxError: token recognition error at: '('", + "SyntaxError: token recognition error at: ')'" + ], + "warning": [] + }, + { + "query": "meta functions blah", + "error": [ + "SyntaxError: token recognition error at: 'b'", + "SyntaxError: token recognition error at: 'l'", + "SyntaxError: token recognition error at: 'a'", + "SyntaxError: token recognition error at: 'h'" + ], + "warning": [] + }, + { + "query": "meta info", + "error": [ + "SyntaxError: token recognition error at: 'i'", + "SyntaxError: token recognition error at: 'n'", + "SyntaxError: token recognition error at: 'fo'", + "SyntaxError: missing 'functions' at ''" + ], + "warning": [] + }, + { + "query": "show", + "error": [ + "SyntaxError: missing 'info' at ''" + ], + "warning": [] + }, + { + "query": "show functions", + "error": [ + "SyntaxError: token recognition error at: 'f'", + "SyntaxError: token recognition error at: 'u'", + "SyntaxError: token recognition error at: 'n'", + "SyntaxError: token recognition error at: 'c'", + "SyntaxError: token recognition error at: 't'", + "SyntaxError: token recognition error at: 'io'", + "SyntaxError: token recognition error at: 'n'", + "SyntaxError: token recognition error at: 's'", + "SyntaxError: missing 'info' at ''" + ], + "warning": [] + }, + { + "query": "show info", + "error": [], + "warning": [] + }, + { + "query": "show numberField", + "error": [ + "SyntaxError: token recognition error at: 'n'", + "SyntaxError: token recognition error at: 'u'", + "SyntaxError: token recognition error at: 'm'", + "SyntaxError: token recognition error at: 'b'", + "SyntaxError: token recognition error at: 'e'", + "SyntaxError: token recognition error at: 'r'", + "SyntaxError: token recognition error at: 'F'", + "SyntaxError: token recognition error at: 'ie'", + "SyntaxError: token recognition error at: 'l'", + "SyntaxError: token recognition error at: 'd'", + "SyntaxError: missing 'info' at ''" + ], + "warning": [] + }, + { + "query": "from index | limit ", + "error": [ + "SyntaxError: missing INTEGER_LITERAL at ''" + ], + "warning": [] + }, + { + "query": "from index | limit 4 ", + "error": [], + "warning": [] + }, + { + "query": "from index | limit 4.5", + "error": [ + "SyntaxError: mismatched input '4.5' expecting INTEGER_LITERAL" + ], + "warning": [] + }, + { + "query": "from index | limit a", + "error": [ + "SyntaxError: mismatched input 'a' expecting INTEGER_LITERAL" + ], + "warning": [] + }, + { + "query": "from index | limit numberField", + "error": [ + "SyntaxError: mismatched input 'numberField' expecting INTEGER_LITERAL" + ], + "warning": [] + }, + { + "query": "from index | limit stringField", + "error": [ + "SyntaxError: mismatched input 'stringField' expecting INTEGER_LITERAL" + ], + "warning": [] + }, + { + "query": "from index | limit 4", + "error": [], + "warning": [] + }, + { + "query": "from index | keep ", + "error": [ + "SyntaxError: missing ID_PATTERN at ''" + ], + "warning": [] + }, + { + "query": "from index | keep stringField, numberField, dateField", + "error": [], + "warning": [] + }, + { + "query": "from index | keep `stringField`, `numberField`, `dateField`", + "error": [], + "warning": [] + }, + { + "query": "from index | keep 4.5", + "error": [ + "SyntaxError: token recognition error at: '4'", + "SyntaxError: token recognition error at: '5'", + "SyntaxError: missing ID_PATTERN at '.'", + "SyntaxError: missing ID_PATTERN at ''" + ], + "warning": [] + }, + { + "query": "from index | keep `4.5`", + "error": [ + "Unknown column [4.5]" + ], + "warning": [] + }, + { + "query": "from index | keep missingField, numberField, dateField", + "error": [ + "Unknown column [missingField]" + ], + "warning": [] + }, + { + "query": "from index | keep `any#Char$Field`", + "error": [], + "warning": [] + }, + { + "query": "from index | project ", + "error": [ + "SyntaxError: mismatched input 'project' expecting {'dissect', 'drop', 'enrich', 'eval', 'grok', 'inlinestats', 'keep', 'limit', 'mv_expand', 'rename', 'sort', 'stats', 'where'}" + ], + "warning": [] + }, + { + "query": "from index | project stringField, numberField, dateField", + "error": [ + "SyntaxError: mismatched input 'project' expecting {'dissect', 'drop', 'enrich', 'eval', 'grok', 'inlinestats', 'keep', 'limit', 'mv_expand', 'rename', 'sort', 'stats', 'where'}" + ], + "warning": [] + }, + { + "query": "from index | PROJECT stringField, numberField, dateField", + "error": [ + "SyntaxError: mismatched input 'PROJECT' expecting {'dissect', 'drop', 'enrich', 'eval', 'grok', 'inlinestats', 'keep', 'limit', 'mv_expand', 'rename', 'sort', 'stats', 'where'}" + ], + "warning": [] + }, + { + "query": "from index | project missingField, numberField, dateField", + "error": [ + "SyntaxError: mismatched input 'project' expecting {'dissect', 'drop', 'enrich', 'eval', 'grok', 'inlinestats', 'keep', 'limit', 'mv_expand', 'rename', 'sort', 'stats', 'where'}" + ], + "warning": [] + }, + { + "query": "from index | keep s*", + "error": [], + "warning": [] + }, + { + "query": "from index | keep *Field", + "error": [], + "warning": [] + }, + { + "query": "from index | keep s*Field", + "error": [], + "warning": [] + }, + { + "query": "from index | keep string*Field", + "error": [], + "warning": [] + }, + { + "query": "from index | keep s*, n*", + "error": [], + "warning": [] + }, + { + "query": "from index | keep m*", + "error": [ + "Unknown column [m*]" + ], + "warning": [] + }, + { + "query": "from index | keep *m", + "error": [ + "Unknown column [*m]" + ], + "warning": [] + }, + { + "query": "from index | keep d*m", + "error": [ + "Unknown column [d*m]" + ], + "warning": [] + }, + { + "query": "from unsupported_index | keep unsupported_field", + "error": [], + "warning": [ + "Field [unsupported_field] cannot be retrieved, it is unsupported or not indexed; returning null" + ] + }, + { + "query": "FROM index | STATS ROUND(AVG(numberField * 1.5)), COUNT(*), MIN(numberField * 10) | KEEP `MIN(numberField * 10)`", + "error": [], + "warning": [] + }, + { + "query": "FROM index | STATS COUNT(*), MIN(numberField * 10), MAX(numberField)| KEEP `COUNT(*)`", + "error": [], + "warning": [] + }, + { + "query": "from index | drop ", + "error": [ + "SyntaxError: missing ID_PATTERN at ''" + ], + "warning": [] + }, + { + "query": "from index | drop stringField, numberField, dateField", + "error": [], + "warning": [] + }, + { + "query": "from index | drop 4.5", + "error": [ + "SyntaxError: token recognition error at: '4'", + "SyntaxError: token recognition error at: '5'", + "SyntaxError: missing ID_PATTERN at '.'", + "SyntaxError: missing ID_PATTERN at ''" + ], + "warning": [] + }, + { + "query": "from index | drop missingField, numberField, dateField", + "error": [ + "Unknown column [missingField]" + ], + "warning": [] + }, + { + "query": "from index | drop `any#Char$Field`", + "error": [], + "warning": [] + }, + { + "query": "from index | drop s*", + "error": [], + "warning": [] + }, + { + "query": "from index | drop s**Field", + "error": [], + "warning": [] + }, + { + "query": "from index | drop *Field*", + "error": [], + "warning": [] + }, + { + "query": "from index | drop s*F*d", + "error": [], + "warning": [] + }, + { + "query": "from index | drop *Field", + "error": [], + "warning": [] + }, + { + "query": "from index | drop s*Field", + "error": [], + "warning": [] + }, + { + "query": "from index | drop string*Field", + "error": [], + "warning": [] + }, + { + "query": "from index | drop s*, n*", + "error": [], + "warning": [] + }, + { + "query": "from index | drop m*", + "error": [ + "Unknown column [m*]" + ], + "warning": [] + }, + { + "query": "from index | drop *m", + "error": [ + "Unknown column [*m]" + ], + "warning": [] + }, + { + "query": "from index | drop d*m", + "error": [ + "Unknown column [d*m]" + ], + "warning": [] + }, + { + "query": "from index | drop *", + "error": [ + "Removing all fields is not allowed [*]" + ], + "warning": [] + }, + { + "query": "from index | drop stringField, *", + "error": [ + "Removing all fields is not allowed [*]" + ], + "warning": [] + }, + { + "query": "from index | drop @timestamp", + "error": [], + "warning": [ + "Drop [@timestamp] will remove all time filters to the search results" + ] + }, + { + "query": "from index | drop stringField, @timestamp", + "error": [], + "warning": [ + "Drop [@timestamp] will remove all time filters to the search results" + ] + }, + { + "query": "FROM index | STATS ROUND(AVG(numberField * 1.5)), COUNT(*), MIN(numberField * 10) | DROP `MIN(numberField * 10)`", + "error": [], + "warning": [] + }, + { + "query": "FROM index | STATS COUNT(*), MIN(numberField * 10), MAX(numberField)| DROP `COUNT(*)`", + "error": [], + "warning": [] + }, + { + "query": "from a_index | mv_expand ", + "error": [ + "SyntaxError: missing {UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER} at ''" + ], + "warning": [] + }, + { + "query": "from a_index | mv_expand stringField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | mv_expand numberField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | mv_expand dateField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | mv_expand booleanField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | mv_expand ipField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | mv_expand numberField, b", + "error": [ + "SyntaxError: token recognition error at: ','", + "SyntaxError: extraneous input 'b' expecting " + ], + "warning": [] + }, + { + "query": "row a = \"a\" | mv_expand a", + "error": [], + "warning": [] + }, + { + "query": "row a = [1, 2, 3] | mv_expand a", + "error": [], + "warning": [] + }, + { + "query": "row a = [true, false] | mv_expand a", + "error": [], + "warning": [] + }, + { + "query": "row a = [\"a\", \"b\"] | mv_expand a", + "error": [], + "warning": [] + }, + { + "query": "from a_index | rename", + "error": [ + "SyntaxError: mismatched input '' expecting ID_PATTERN" + ], + "warning": [] + }, + { + "query": "from a_index | rename stringField", + "error": [ + "SyntaxError: mismatched input '' expecting 'as'" + ], + "warning": [] + }, + { + "query": "from a_index | rename a", + "error": [ + "SyntaxError: mismatched input '' expecting 'as'", + "Unknown column [a]" + ], + "warning": [] + }, + { + "query": "from a_index | rename stringField as", + "error": [ + "SyntaxError: missing ID_PATTERN at ''" + ], + "warning": [] + }, + { + "query": "from a_index | rename missingField as", + "error": [ + "SyntaxError: missing ID_PATTERN at ''", + "Unknown column [missingField]" + ], + "warning": [] + }, + { + "query": "from a_index | rename stringField as b", + "error": [], + "warning": [] + }, + { + "query": "from a_index | rename stringField AS b", + "error": [], + "warning": [] + }, + { + "query": "from a_index | rename stringField As b", + "error": [], + "warning": [] + }, + { + "query": "from a_index | rename stringField As b, b AS c", + "error": [], + "warning": [] + }, + { + "query": "from a_index | rename fn() as a", + "error": [ + "SyntaxError: token recognition error at: '('", + "SyntaxError: token recognition error at: ')'", + "Unknown column [fn]", + "Unknown column [a]" + ], + "warning": [] + }, + { + "query": "from a_index | eval numberField + 1 | rename `numberField + 1` as a", + "error": [], + "warning": [] + }, + { + "query": "from a_index | stats avg(numberField) | rename `avg(numberField)` as avg0", + "error": [], + "warning": [] + }, + { + "query": "from a_index |eval numberField + 1 | rename `numberField + 1` as ", + "error": [ + "SyntaxError: missing ID_PATTERN at ''" + ], + "warning": [] + }, + { + "query": "from a_index | rename s* as strings", + "error": [ + "Using wildcards (*) in RENAME is not allowed [s*]", + "Unknown column [strings]" + ], + "warning": [] + }, + { + "query": "row a = 10 | rename a as `this``is fine`", + "error": [], + "warning": [] + }, + { + "query": "row a = 10 | rename a as this is fine", + "error": [ + "SyntaxError: mismatched input 'is' expecting " + ], + "warning": [] + }, + { + "query": "from a_index | dissect", + "error": [ + "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField", + "error": [ + "SyntaxError: missing QUOTED_STRING at ''" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField 2", + "error": [ + "SyntaxError: mismatched input '2' expecting QUOTED_STRING" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField .", + "error": [ + "SyntaxError: mismatched input '' expecting {UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}", + "Unknown column [stringField.]" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField %a", + "error": [ + "SyntaxError: mismatched input '%' expecting QUOTED_STRING", + "SyntaxError: mismatched input '' expecting '='" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField \"%{firstWord}\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | dissect numberField \"%{firstWord}\"", + "error": [ + "DISSECT only supports string type values, found [numberField] of type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField \"%{firstWord}\" option ", + "error": [ + "SyntaxError: mismatched input '' expecting '='" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField \"%{firstWord}\" option = ", + "error": [ + "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', 'null', '?', 'true', '+', '-', OPENING_BRACKET}", + "Invalid option for DISSECT: [option]" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField \"%{firstWord}\" option = 1", + "error": [ + "Invalid option for DISSECT: [option]" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField \"%{firstWord}\" append_separator = \"-\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | dissect stringField \"%{firstWord}\" ignore_missing = true", + "error": [ + "Invalid option for DISSECT: [ignore_missing]" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField \"%{firstWord}\" append_separator = true", + "error": [ + "Invalid value for DISSECT append_separator: expected a string, but was [true]" + ], + "warning": [] + }, + { + "query": "from a_index | dissect stringField \"%{firstWord}\" | keep firstWord", + "error": [], + "warning": [] + }, + { + "query": "from a_index | grok", + "error": [ + "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + ], + "warning": [] + }, + { + "query": "from a_index | grok stringField", + "error": [ + "SyntaxError: missing QUOTED_STRING at ''" + ], + "warning": [] + }, + { + "query": "from a_index | grok stringField 2", + "error": [ + "SyntaxError: mismatched input '2' expecting QUOTED_STRING" + ], + "warning": [] + }, + { + "query": "from a_index | grok stringField .", + "error": [ + "SyntaxError: mismatched input '' expecting {UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}", + "Unknown column [stringField.]" + ], + "warning": [] + }, + { + "query": "from a_index | grok stringField %a", + "error": [ + "SyntaxError: mismatched input '%' expecting QUOTED_STRING" + ], + "warning": [] + }, + { + "query": "from a_index | grok stringField \"%{firstWord}\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | grok numberField \"%{firstWord}\"", + "error": [ + "GROK only supports string type values, found [numberField] of type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | grok stringField \"%{firstWord}\" | keep firstWord", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where b", + "error": [ + "Unknown column [b]" + ], + "warning": [] + }, + { + "query": "from a_index | where true", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT true", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where false", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT false", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT 1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where +1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT +1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 * 1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT 1 * 1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where -1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT -1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 / 1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT 1 / 1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1.0 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT 1.0 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1.5 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT 1.5 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (numberField > 0)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (NOT (numberField > 0))", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval stringField > 0", + "error": [ + "Argument of [>] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where numberField >= 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField >= 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (numberField >= 0)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (NOT (numberField >= 0))", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 >= 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval stringField >= 0", + "error": [ + "Argument of [>=] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where numberField < 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField < 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (numberField < 0)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (NOT (numberField < 0))", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 < 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval stringField < 0", + "error": [ + "Argument of [<] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where numberField <= 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField <= 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (numberField <= 0)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (NOT (numberField <= 0))", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 <= 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval stringField <= 0", + "error": [ + "Argument of [<=] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where numberField == 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField == 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (numberField == 0)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where (NOT (numberField == 0))", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 == 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval stringField == 0", + "error": [ + "Argument of [==] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where - numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where - round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + - numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 - numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where - numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where - round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + - numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 - numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where + numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where + round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + + numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where + numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where + round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + + numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where not booleanField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where -- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where -- round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + -- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 -- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where -+ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where -+ round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + -+ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 -+ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where +- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where +- round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + +- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 +- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ++ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ++ round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + ++ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 ++ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where not not booleanField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where --- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where --- round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + --- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 --- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where -+- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where -+- round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + -+- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 -+- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where +-+ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where +-+ round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + +-+ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 +-+ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where +++ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where +++ round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + +++ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 +++ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where not not not booleanField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ---- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ---- round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + ---- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 ---- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where -+-+ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where -+-+ round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + -+-+ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 -+-+ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where +-+- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where +-+- round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + +-+- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 +-+- numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ++++ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ++++ round(numberField) > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 + ++++ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where 1 ++++ numberField > 0", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where not not not not booleanField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where *+ numberField", + "error": [ + "SyntaxError: extraneous input '*' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + ], + "warning": [] + }, + { + "query": "from a_index | where /+ numberField", + "error": [ + "SyntaxError: extraneous input '/' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + ], + "warning": [] + }, + { + "query": "from a_index | where %+ numberField", + "error": [ + "SyntaxError: extraneous input '%' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + ], + "warning": [] + }, + { + "query": "from a_index | where numberField =~ 0", + "error": [ + "Argument of [=~] must be [string], found value [numberField] type [number]", + "Argument of [=~] must be [string], found value [0] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField =~ 0", + "error": [ + "Argument of [=~] must be [string], found value [numberField] type [number]", + "Argument of [=~] must be [string], found value [0] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where (numberField =~ 0)", + "error": [ + "Argument of [=~] must be [string], found value [numberField] type [number]", + "Argument of [=~] must be [string], found value [0] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where (NOT (numberField =~ 0))", + "error": [ + "Argument of [=~] must be [string], found value [numberField] type [number]", + "Argument of [=~] must be [string], found value [0] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where 1 =~ 0", + "error": [ + "Argument of [=~] must be [string], found value [1] type [number]", + "Argument of [=~] must be [string], found value [0] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | eval stringField =~ 0", + "error": [ + "Argument of [=~] must be [string], found value [0] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where stringField like \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField NOT like \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT stringField like \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT stringField NOT like \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField like \"?a\"", + "error": [ + "Argument of [like] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where numberField NOT like \"?a\"", + "error": [ + "Argument of [not_like] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField like \"?a\"", + "error": [ + "Argument of [like] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField NOT like \"?a\"", + "error": [ + "Argument of [not_like] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where stringField rlike \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField NOT rlike \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT stringField rlike \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where NOT stringField NOT rlike \"?a\"", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField rlike \"?a\"", + "error": [ + "Argument of [rlike] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where numberField NOT rlike \"?a\"", + "error": [ + "Argument of [not_rlike] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField rlike \"?a\"", + "error": [ + "Argument of [rlike] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where NOT numberField NOT rlike \"?a\"", + "error": [ + "Argument of [not_rlike] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where cidr_match(ipField)", + "error": [ + "Error: [cidr_match] function expects at least 2 arguments, got 1." + ], + "warning": [] + }, + { + "query": "from a_index | eval cidr = \"172.0.0.1/30\" | where cidr_match(ipField, \"172.0.0.1/30\", cidr)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField IS NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField IS null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField is null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField is NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField IS NOT NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField IS NOT null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField IS not NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where numberField Is nOt NuLL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where dateField IS NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where dateField IS null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where dateField is null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where dateField is NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where dateField IS NOT NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where dateField IS NOT null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where dateField IS not NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where dateField Is nOt NuLL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where booleanField IS NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where booleanField IS null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where booleanField is null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where booleanField is NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where booleanField IS NOT NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where booleanField IS NOT null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where booleanField IS not NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where booleanField Is nOt NuLL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ipField IS NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ipField IS null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ipField is null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ipField is NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ipField IS NOT NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ipField IS NOT null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ipField IS not NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where ipField Is nOt NuLL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField IS NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField IS null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField is null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField is NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField IS NOT NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField IS NOT null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField IS not NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField Is nOt NuLL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianPointField IS NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianPointField IS null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianPointField is null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianPointField is NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianPointField IS NOT NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianPointField IS NOT null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianPointField IS not NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianPointField Is nOt NuLL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianShapeField IS NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianShapeField IS null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianShapeField is null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianShapeField is NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianShapeField IS NOT NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianShapeField IS NOT null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianShapeField IS not NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where cartesianShapeField Is nOt NuLL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoPointField IS NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoPointField IS null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoPointField is null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoPointField is NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoPointField IS NOT NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoPointField IS NOT null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoPointField IS not NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoPointField Is nOt NuLL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoShapeField IS NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoShapeField IS null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoShapeField is null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoShapeField is NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoShapeField IS NOT NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoShapeField IS NOT null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoShapeField IS not NULL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where geoShapeField Is nOt NuLL", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where stringField == \"a\" or null", + "error": [], + "warning": [] + }, + { + "query": "from a_index | where avg(numberField)", + "error": [ + "WHERE does not support function avg" + ], + "warning": [] + }, + { + "query": "from a_index | where avg(numberField) > 0", + "error": [ + "WHERE does not support function avg" + ], + "warning": [] + }, + { + "query": "from a_index | where max(numberField)", + "error": [ + "WHERE does not support function max" + ], + "warning": [] + }, + { + "query": "from a_index | where max(numberField) > 0", + "error": [ + "WHERE does not support function max" + ], + "warning": [] + }, + { + "query": "from a_index | where min(numberField)", + "error": [ + "WHERE does not support function min" + ], + "warning": [] + }, + { + "query": "from a_index | where min(numberField) > 0", + "error": [ + "WHERE does not support function min" + ], + "warning": [] + }, + { + "query": "from a_index | where sum(numberField)", + "error": [ + "WHERE does not support function sum" + ], + "warning": [] + }, + { + "query": "from a_index | where sum(numberField) > 0", + "error": [ + "WHERE does not support function sum" + ], + "warning": [] + }, + { + "query": "from a_index | where median(numberField)", + "error": [ + "WHERE does not support function median" + ], "warning": [] }, { - "query": "from a_index | dissect stringField \"%{firstWord}\" ignore_missing = true", + "query": "from a_index | where median(numberField) > 0", "error": [ - "Invalid option for DISSECT: [ignore_missing]" + "WHERE does not support function median" ], "warning": [] }, { - "query": "from a_index | dissect stringField \"%{firstWord}\" append_separator = true", + "query": "from a_index | where median_absolute_deviation(numberField)", "error": [ - "Invalid value for DISSECT append_separator: expected a string, but was [true]" + "WHERE does not support function median_absolute_deviation" ], "warning": [] }, { - "query": "from a_index | dissect stringField \"%{firstWord}\" | keep firstWord", - "error": [], + "query": "from a_index | where median_absolute_deviation(numberField) > 0", + "error": [ + "WHERE does not support function median_absolute_deviation" + ], "warning": [] }, { - "query": "from a_index | grok", + "query": "from a_index | where percentile(numberField, 5)", "error": [ - "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + "WHERE does not support function percentile" ], "warning": [] }, { - "query": "from a_index | grok stringField", + "query": "from a_index | where percentile(numberField, 5) > 0", "error": [ - "SyntaxError: missing QUOTED_STRING at ''" + "WHERE does not support function percentile" ], "warning": [] }, { - "query": "from a_index | grok stringField 2", + "query": "from a_index | where count(stringField)", "error": [ - "SyntaxError: mismatched input '2' expecting QUOTED_STRING" + "WHERE does not support function count" ], "warning": [] }, { - "query": "from a_index | grok stringField .", + "query": "from a_index | where count(stringField) > 0", "error": [ - "SyntaxError: mismatched input '' expecting {UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}", - "Unknown column [stringField.]" + "WHERE does not support function count" ], "warning": [] }, { - "query": "from a_index | grok stringField %a", + "query": "from a_index | where count_distinct(stringField, numberField)", "error": [ - "SyntaxError: mismatched input '%' expecting QUOTED_STRING" + "WHERE does not support function count_distinct" ], "warning": [] }, { - "query": "from a_index | grok stringField \"%{firstWord}\"", + "query": "from a_index | where count_distinct(stringField, numberField) > 0", + "error": [ + "WHERE does not support function count_distinct" + ], + "warning": [] + }, + { + "query": "from a_index | where abs(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | grok numberField \"%{firstWord}\"", + "query": "from a_index | where abs(stringField) > 0", "error": [ - "GROK only supports string type values, found [numberField] of type [number]" + "Argument of [abs] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | grok stringField \"%{firstWord}\" | keep firstWord", + "query": "from a_index | where acos(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where b", + "query": "from a_index | where acos(stringField) > 0", "error": [ - "Unknown column [b]" + "Argument of [acos] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | where true", + "query": "from a_index | where asin(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT true", - "error": [], + "query": "from a_index | where asin(stringField) > 0", + "error": [ + "Argument of [asin] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where false", + "query": "from a_index | where atan(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT false", - "error": [], + "query": "from a_index | where atan(stringField) > 0", + "error": [ + "Argument of [atan] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 > 0", + "query": "from a_index | where atan2(numberField, numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT 1 > 0", - "error": [], + "query": "from a_index | where atan2(stringField, stringField) > 0", + "error": [ + "Argument of [atan2] must be [number], found value [stringField] type [string]", + "Argument of [atan2] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where +1 > 0", + "query": "from a_index | where bucket(numberField, 5, 5, 5) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT +1 > 0", - "error": [], + "query": "from a_index | where bucket(stringField, 5, 5, 5) > 0", + "error": [ + "Argument of [bucket] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 * 1 > 0", + "query": "from a_index | where ceil(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT 1 * 1 > 0", - "error": [], + "query": "from a_index | where ceil(stringField) > 0", + "error": [ + "Argument of [ceil] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where -1 > 0", + "query": "from a_index | where length(concat(stringField, stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT -1 > 0", - "error": [], + "query": "from a_index | where length(concat(numberField, numberField)) > 0", + "error": [ + "Argument of [concat] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | where 1 / 1 > 0", + "query": "from a_index | where cos(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT 1 / 1 > 0", - "error": [], + "query": "from a_index | where cos(stringField) > 0", + "error": [ + "Argument of [cos] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1.0 > 0", + "query": "from a_index | where cosh(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT 1.0 > 0", - "error": [], + "query": "from a_index | where cosh(stringField) > 0", + "error": [ + "Argument of [cosh] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1.5 > 0", + "query": "from a_index | where e() > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT 1.5 > 0", + "query": "from a_index | where e() > 0", "error": [], "warning": [] }, { - "query": "from a_index | where numberField > 0", + "query": "from a_index | where floor(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField > 0", - "error": [], + "query": "from a_index | where floor(stringField) > 0", + "error": [ + "Argument of [floor] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where (numberField > 0)", + "query": "from a_index | where length(left(stringField, numberField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where (NOT (numberField > 0))", - "error": [], + "query": "from a_index | where length(left(numberField, stringField)) > 0", + "error": [ + "Argument of [left] must be [string], found value [numberField] type [number]", + "Argument of [left] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 > 0", + "query": "from a_index | where length(stringField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField > 0", + "query": "from a_index | where length(numberField) > 0", "error": [ - "Argument of [>] must be [number], found value [stringField] type [string]" + "Argument of [length] must be [string], found value [numberField] type [number]" ], "warning": [] }, { - "query": "from a_index | where numberField >= 0", + "query": "from a_index | where log(numberField, numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField >= 0", - "error": [], + "query": "from a_index | where log(stringField, stringField) > 0", + "error": [ + "Argument of [log] must be [number], found value [stringField] type [string]", + "Argument of [log] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where (numberField >= 0)", + "query": "from a_index | where log10(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where (NOT (numberField >= 0))", - "error": [], + "query": "from a_index | where log10(stringField) > 0", + "error": [ + "Argument of [log10] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 >= 0", + "query": "from a_index | where length(ltrim(stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField >= 0", + "query": "from a_index | where length(ltrim(numberField)) > 0", "error": [ - "Argument of [>=] must be [number], found value [stringField] type [string]" + "Argument of [ltrim] must be [string], found value [numberField] type [number]" ], "warning": [] }, { - "query": "from a_index | where numberField < 0", + "query": "from a_index | where mv_avg(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField < 0", + "query": "from a_index | where mv_avg(stringField) > 0", + "error": [ + "Argument of [mv_avg] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where length(mv_concat(stringField, stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where (numberField < 0)", + "query": "from a_index | where length(mv_concat(numberField, numberField)) > 0", + "error": [ + "Argument of [mv_concat] must be [string], found value [numberField] type [number]", + "Argument of [mv_concat] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where mv_median(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where (NOT (numberField < 0))", + "query": "from a_index | where mv_median(stringField) > 0", + "error": [ + "Argument of [mv_median] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where mv_sum(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where 1 < 0", + "query": "from a_index | where mv_sum(stringField) > 0", + "error": [ + "Argument of [mv_sum] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where length(mv_zip(stringField, stringField, stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField < 0", + "query": "from a_index | where length(mv_zip(numberField, numberField, numberField)) > 0", "error": [ - "Argument of [<] must be [number], found value [stringField] type [string]" + "Argument of [mv_zip] must be [string], found value [numberField] type [number]", + "Argument of [mv_zip] must be [string], found value [numberField] type [number]", + "Argument of [mv_zip] must be [string], found value [numberField] type [number]" ], "warning": [] }, { - "query": "from a_index | where numberField <= 0", + "query": "from a_index | where pi() > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField <= 0", + "query": "from a_index | where pi() > 0", "error": [], "warning": [] }, { - "query": "from a_index | where (numberField <= 0)", + "query": "from a_index | where pow(numberField, numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where (NOT (numberField <= 0))", + "query": "from a_index | where pow(stringField, stringField) > 0", + "error": [ + "Argument of [pow] must be [number], found value [stringField] type [string]", + "Argument of [pow] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where length(replace(stringField, stringField, stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where 1 <= 0", + "query": "from a_index | where length(replace(numberField, numberField, numberField)) > 0", + "error": [ + "Argument of [replace] must be [string], found value [numberField] type [number]", + "Argument of [replace] must be [string], found value [numberField] type [number]", + "Argument of [replace] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where length(right(stringField, numberField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField <= 0", + "query": "from a_index | where length(right(numberField, stringField)) > 0", "error": [ - "Argument of [<=] must be [number], found value [stringField] type [string]" + "Argument of [right] must be [string], found value [numberField] type [number]", + "Argument of [right] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | where numberField == 0", + "query": "from a_index | where round(numberField, numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField == 0", + "query": "from a_index | where round(stringField, stringField) > 0", + "error": [ + "Argument of [round] must be [number], found value [stringField] type [string]", + "Argument of [round] must be [number], found value [stringField] type [string]" + ], + "warning": [] + }, + { + "query": "from a_index | where length(rtrim(stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where (numberField == 0)", + "query": "from a_index | where length(rtrim(numberField)) > 0", + "error": [ + "Argument of [rtrim] must be [string], found value [numberField] type [number]" + ], + "warning": [] + }, + { + "query": "from a_index | where signum(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where (NOT (numberField == 0))", - "error": [], + "query": "from a_index | where signum(stringField) > 0", + "error": [ + "Argument of [signum] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 == 0", + "query": "from a_index | where sin(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField == 0", + "query": "from a_index | where sin(stringField) > 0", "error": [ - "Argument of [==] must be [number], found value [stringField] type [string]" + "Argument of [sin] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | where - numberField > 0", + "query": "from a_index | where sinh(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where - round(numberField) > 0", - "error": [], + "query": "from a_index | where sinh(stringField) > 0", + "error": [ + "Argument of [sinh] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 + - numberField > 0", + "query": "from a_index | where length(split(stringField, stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where 1 - numberField > 0", - "error": [], + "query": "from a_index | where length(split(numberField, numberField)) > 0", + "error": [ + "Argument of [split] must be [string], found value [numberField] type [number]", + "Argument of [split] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | where - numberField > 0", + "query": "from a_index | where sqrt(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where - round(numberField) > 0", - "error": [], + "query": "from a_index | where sqrt(stringField) > 0", + "error": [ + "Argument of [sqrt] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 + - numberField > 0", + "query": "from a_index | where length(substring(stringField, numberField, numberField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where 1 - numberField > 0", - "error": [], + "query": "from a_index | where length(substring(numberField, stringField, stringField)) > 0", + "error": [ + "Argument of [substring] must be [string], found value [numberField] type [number]", + "Argument of [substring] must be [number], found value [stringField] type [string]", + "Argument of [substring] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where + numberField > 0", + "query": "from a_index | where tan(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where + round(numberField) > 0", - "error": [], + "query": "from a_index | where tan(stringField) > 0", + "error": [ + "Argument of [tan] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 + + numberField > 0", + "query": "from a_index | where tanh(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + numberField > 0", - "error": [], + "query": "from a_index | where tanh(stringField) > 0", + "error": [ + "Argument of [tanh] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where + numberField > 0", + "query": "from a_index | where tau() > 0", "error": [], "warning": [] }, { - "query": "from a_index | where + round(numberField) > 0", + "query": "from a_index | where tau() > 0", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + + numberField > 0", + "query": "from a_index | where to_degrees(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + numberField > 0", - "error": [], + "query": "from a_index | where to_degrees(stringField) > 0", + "error": [ + "Argument of [to_degrees] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where not booleanField", + "query": "from a_index | where length(to_lower(stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where -- numberField > 0", - "error": [], + "query": "from a_index | where length(to_lower(numberField)) > 0", + "error": [ + "Argument of [to_lower] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | where -- round(numberField) > 0", + "query": "from a_index | where to_radians(numberField) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + -- numberField > 0", - "error": [], + "query": "from a_index | where to_radians(stringField) > 0", + "error": [ + "Argument of [to_radians] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 -- numberField > 0", + "query": "from a_index | where length(to_upper(stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where -+ numberField > 0", - "error": [], + "query": "from a_index | where length(to_upper(numberField)) > 0", + "error": [ + "Argument of [to_upper] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | where -+ round(numberField) > 0", + "query": "from a_index | where length(to_version(stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + -+ numberField > 0", - "error": [], + "query": "from a_index | where length(to_version(numberField)) > 0", + "error": [ + "Argument of [to_version] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | where 1 -+ numberField > 0", + "query": "from a_index | where length(trim(stringField)) > 0", "error": [], "warning": [] }, { - "query": "from a_index | where +- numberField > 0", - "error": [], + "query": "from a_index | where length(trim(numberField)) > 0", + "error": [ + "Argument of [trim] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | where +- round(numberField) > 0", - "error": [], + "query": "from a_index | eval ", + "error": [ + "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + ], "warning": [] }, { - "query": "from a_index | where 1 + +- numberField > 0", + "query": "from a_index | eval stringField ", "error": [], "warning": [] }, { - "query": "from a_index | where 1 +- numberField > 0", + "query": "from a_index | eval b = stringField", "error": [], "warning": [] }, { - "query": "from a_index | where ++ numberField > 0", + "query": "from a_index | eval numberField + 1", "error": [], "warning": [] }, { - "query": "from a_index | where ++ round(numberField) > 0", - "error": [], + "query": "from a_index | eval numberField + ", + "error": [ + "SyntaxError: no viable alternative at input 'numberField + '" + ], "warning": [] }, { - "query": "from a_index | where 1 + ++ numberField > 0", - "error": [], + "query": "from a_index | eval stringField + 1", + "error": [ + "Argument of [+] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 ++ numberField > 0", - "error": [], + "query": "from a_index | eval a=b", + "error": [ + "Unknown column [b]" + ], "warning": [] }, { - "query": "from a_index | where not not booleanField", - "error": [], + "query": "from a_index | eval a=b, ", + "error": [ + "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}", + "Unknown column [b]" + ], "warning": [] }, { - "query": "from a_index | where --- numberField > 0", - "error": [], + "query": "from a_index | eval a=round", + "error": [ + "Unknown column [round]" + ], "warning": [] }, { - "query": "from a_index | where --- round(numberField) > 0", - "error": [], + "query": "from a_index | eval a=round(", + "error": [ + "SyntaxError: no viable alternative at input 'round('" + ], "warning": [] }, { - "query": "from a_index | where 1 + --- numberField > 0", + "query": "from a_index | eval a=round(numberField) ", "error": [], "warning": [] }, { - "query": "from a_index | where 1 --- numberField > 0", - "error": [], + "query": "from a_index | eval a=round(numberField), ", + "error": [ + "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + ], "warning": [] }, { - "query": "from a_index | where -+- numberField > 0", + "query": "from a_index | eval a=round(numberField) + round(numberField) ", "error": [], "warning": [] }, { - "query": "from a_index | where -+- round(numberField) > 0", - "error": [], + "query": "from a_index | eval a=round(numberField) + round(stringField) ", + "error": [ + "Argument of [round] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 + -+- numberField > 0", - "error": [], + "query": "from a_index | eval a=round(numberField) + round(stringField), numberField ", + "error": [ + "Argument of [round] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | where 1 -+- numberField > 0", + "query": "from a_index | eval a=round(numberField) + round(numberField), numberField ", "error": [], "warning": [] }, { - "query": "from a_index | where +-+ numberField > 0", + "query": "from a_index | eval a=round(numberField) + round(numberField), b = numberField ", "error": [], "warning": [] }, { - "query": "from a_index | where +-+ round(numberField) > 0", + "query": "from a_index | eval a=[1, 2, 3]", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + +-+ numberField > 0", + "query": "from a_index | eval a=[true, false]", "error": [], "warning": [] }, { - "query": "from a_index | where 1 +-+ numberField > 0", + "query": "from a_index | eval a=[\"a\", \"b\"]", "error": [], "warning": [] }, { - "query": "from a_index | where +++ numberField > 0", + "query": "from a_index | eval a=null", "error": [], "warning": [] }, { - "query": "from a_index | where +++ round(numberField) > 0", + "query": "from a_index | eval numberField IS NULL", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + +++ numberField > 0", + "query": "from a_index | eval numberField IS null", "error": [], "warning": [] }, { - "query": "from a_index | where 1 +++ numberField > 0", + "query": "from a_index | eval numberField is null", "error": [], "warning": [] }, { - "query": "from a_index | where not not not booleanField", + "query": "from a_index | eval numberField is NULL", "error": [], "warning": [] }, { - "query": "from a_index | where ---- numberField > 0", + "query": "from a_index | eval numberField IS NOT NULL", "error": [], "warning": [] }, { - "query": "from a_index | where ---- round(numberField) > 0", + "query": "from a_index | eval numberField IS NOT null", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + ---- numberField > 0", + "query": "from a_index | eval numberField IS not NULL", "error": [], "warning": [] }, { - "query": "from a_index | where 1 ---- numberField > 0", + "query": "from a_index | eval dateField IS NULL", "error": [], "warning": [] }, { - "query": "from a_index | where -+-+ numberField > 0", + "query": "from a_index | eval dateField IS null", "error": [], "warning": [] }, { - "query": "from a_index | where -+-+ round(numberField) > 0", + "query": "from a_index | eval dateField is null", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + -+-+ numberField > 0", + "query": "from a_index | eval dateField is NULL", "error": [], "warning": [] }, { - "query": "from a_index | where 1 -+-+ numberField > 0", + "query": "from a_index | eval dateField IS NOT NULL", "error": [], "warning": [] }, { - "query": "from a_index | where +-+- numberField > 0", + "query": "from a_index | eval dateField IS NOT null", "error": [], "warning": [] }, { - "query": "from a_index | where +-+- round(numberField) > 0", + "query": "from a_index | eval dateField IS not NULL", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + +-+- numberField > 0", + "query": "from a_index | eval booleanField IS NULL", "error": [], "warning": [] }, { - "query": "from a_index | where 1 +-+- numberField > 0", + "query": "from a_index | eval booleanField IS null", "error": [], "warning": [] }, { - "query": "from a_index | where ++++ numberField > 0", + "query": "from a_index | eval booleanField is null", "error": [], "warning": [] }, { - "query": "from a_index | where ++++ round(numberField) > 0", + "query": "from a_index | eval booleanField is NULL", "error": [], "warning": [] }, { - "query": "from a_index | where 1 + ++++ numberField > 0", + "query": "from a_index | eval booleanField IS NOT NULL", "error": [], "warning": [] }, { - "query": "from a_index | where 1 ++++ numberField > 0", + "query": "from a_index | eval booleanField IS NOT null", "error": [], "warning": [] }, { - "query": "from a_index | where not not not not booleanField", + "query": "from a_index | eval booleanField IS not NULL", "error": [], "warning": [] }, { - "query": "from a_index | where *+ numberField", - "error": [ - "SyntaxError: extraneous input '*' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" - ], + "query": "from a_index | eval ipField IS NULL", + "error": [], "warning": [] }, { - "query": "from a_index | where /+ numberField", - "error": [ - "SyntaxError: extraneous input '/' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" - ], + "query": "from a_index | eval ipField IS null", + "error": [], "warning": [] }, { - "query": "from a_index | where %+ numberField", - "error": [ - "SyntaxError: extraneous input '%' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" - ], + "query": "from a_index | eval ipField is null", + "error": [], "warning": [] }, { - "query": "from a_index | where numberField =~ 0", - "error": [ - "Argument of [=~] must be [string], found value [numberField] type [number]", - "Argument of [=~] must be [string], found value [0] type [number]" - ], + "query": "from a_index | eval ipField is NULL", + "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField =~ 0", - "error": [ - "Argument of [=~] must be [string], found value [numberField] type [number]", - "Argument of [=~] must be [string], found value [0] type [number]" - ], + "query": "from a_index | eval ipField IS NOT NULL", + "error": [], "warning": [] }, { - "query": "from a_index | where (numberField =~ 0)", - "error": [ - "Argument of [=~] must be [string], found value [numberField] type [number]", - "Argument of [=~] must be [string], found value [0] type [number]" - ], + "query": "from a_index | eval ipField IS NOT null", + "error": [], "warning": [] }, { - "query": "from a_index | where (NOT (numberField =~ 0))", - "error": [ - "Argument of [=~] must be [string], found value [numberField] type [number]", - "Argument of [=~] must be [string], found value [0] type [number]" - ], + "query": "from a_index | eval ipField IS not NULL", + "error": [], "warning": [] }, { - "query": "from a_index | where 1 =~ 0", - "error": [ - "Argument of [=~] must be [string], found value [1] type [number]", - "Argument of [=~] must be [string], found value [0] type [number]" - ], + "query": "from a_index | eval stringField IS NULL", + "error": [], "warning": [] }, { - "query": "from a_index | eval stringField =~ 0", - "error": [ - "Argument of [=~] must be [string], found value [0] type [number]" - ], + "query": "from a_index | eval stringField IS null", + "error": [], "warning": [] }, { - "query": "from a_index | where stringField like \"?a\"", + "query": "from a_index | eval stringField is null", "error": [], "warning": [] }, { - "query": "from a_index | where stringField NOT like \"?a\"", + "query": "from a_index | eval stringField is NULL", "error": [], "warning": [] }, { - "query": "from a_index | where NOT stringField like \"?a\"", + "query": "from a_index | eval stringField IS NOT NULL", "error": [], "warning": [] }, { - "query": "from a_index | where NOT stringField NOT like \"?a\"", + "query": "from a_index | eval stringField IS NOT null", "error": [], "warning": [] }, { - "query": "from a_index | where numberField like \"?a\"", - "error": [ - "Argument of [like] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval stringField IS not NULL", + "error": [], "warning": [] }, { - "query": "from a_index | where numberField NOT like \"?a\"", - "error": [ - "Argument of [not_like] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval cartesianPointField IS NULL", + "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField like \"?a\"", - "error": [ - "Argument of [like] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval cartesianPointField IS null", + "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField NOT like \"?a\"", - "error": [ - "Argument of [not_like] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval cartesianPointField is null", + "error": [], "warning": [] }, { - "query": "from a_index | where stringField rlike \"?a\"", + "query": "from a_index | eval cartesianPointField is NULL", "error": [], "warning": [] }, { - "query": "from a_index | where stringField NOT rlike \"?a\"", + "query": "from a_index | eval cartesianPointField IS NOT NULL", "error": [], "warning": [] }, { - "query": "from a_index | where NOT stringField rlike \"?a\"", + "query": "from a_index | eval cartesianPointField IS NOT null", "error": [], "warning": [] }, { - "query": "from a_index | where NOT stringField NOT rlike \"?a\"", + "query": "from a_index | eval cartesianPointField IS not NULL", "error": [], "warning": [] }, { - "query": "from a_index | where numberField rlike \"?a\"", - "error": [ - "Argument of [rlike] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval cartesianShapeField IS NULL", + "error": [], "warning": [] }, { - "query": "from a_index | where numberField NOT rlike \"?a\"", - "error": [ - "Argument of [not_rlike] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval cartesianShapeField IS null", + "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField rlike \"?a\"", - "error": [ - "Argument of [rlike] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval cartesianShapeField is null", + "error": [], "warning": [] }, { - "query": "from a_index | where NOT numberField NOT rlike \"?a\"", - "error": [ - "Argument of [not_rlike] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval cartesianShapeField is NULL", + "error": [], "warning": [] }, { - "query": "from a_index | where cidr_match(ipField)", - "error": [ - "Error: [cidr_match] function expects at least 2 arguments, got 1." - ], + "query": "from a_index | eval cartesianShapeField IS NOT NULL", + "error": [], "warning": [] }, { - "query": "from a_index | eval cidr = \"172.0.0.1/30\" | where cidr_match(ipField, \"172.0.0.1/30\", cidr)", + "query": "from a_index | eval cartesianShapeField IS NOT null", "error": [], "warning": [] }, { - "query": "from a_index | where numberField IS NULL", + "query": "from a_index | eval cartesianShapeField IS not NULL", "error": [], "warning": [] }, { - "query": "from a_index | where numberField IS null", + "query": "from a_index | eval geoPointField IS NULL", "error": [], "warning": [] }, { - "query": "from a_index | where numberField is null", + "query": "from a_index | eval geoPointField IS null", "error": [], "warning": [] }, { - "query": "from a_index | where numberField is NULL", + "query": "from a_index | eval geoPointField is null", "error": [], "warning": [] }, { - "query": "from a_index | where numberField IS NOT NULL", + "query": "from a_index | eval geoPointField is NULL", "error": [], "warning": [] }, { - "query": "from a_index | where numberField IS NOT null", + "query": "from a_index | eval geoPointField IS NOT NULL", "error": [], "warning": [] }, { - "query": "from a_index | where numberField IS not NULL", + "query": "from a_index | eval geoPointField IS NOT null", "error": [], "warning": [] }, { - "query": "from a_index | where numberField Is nOt NuLL", + "query": "from a_index | eval geoPointField IS not NULL", "error": [], "warning": [] }, { - "query": "from a_index | where dateField IS NULL", + "query": "from a_index | eval geoShapeField IS NULL", "error": [], "warning": [] }, { - "query": "from a_index | where dateField IS null", + "query": "from a_index | eval geoShapeField IS null", "error": [], "warning": [] }, { - "query": "from a_index | where dateField is null", + "query": "from a_index | eval geoShapeField is null", "error": [], "warning": [] }, { - "query": "from a_index | where dateField is NULL", + "query": "from a_index | eval geoShapeField is NULL", "error": [], "warning": [] }, { - "query": "from a_index | where dateField IS NOT NULL", + "query": "from a_index | eval geoShapeField IS NOT NULL", "error": [], "warning": [] }, { - "query": "from a_index | where dateField IS NOT null", + "query": "from a_index | eval geoShapeField IS NOT null", "error": [], "warning": [] }, { - "query": "from a_index | where dateField IS not NULL", + "query": "from a_index | eval geoShapeField IS not NULL", "error": [], "warning": [] }, { - "query": "from a_index | where dateField Is nOt NuLL", + "query": "from a_index | eval - numberField", "error": [], "warning": [] }, { - "query": "from a_index | where booleanField IS NULL", + "query": "from a_index | eval a=- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where booleanField IS null", + "query": "from a_index | eval a=- round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where booleanField is null", + "query": "from a_index | eval 1 + - numberField", "error": [], "warning": [] }, { - "query": "from a_index | where booleanField is NULL", + "query": "from a_index | eval 1 - numberField", "error": [], "warning": [] }, { - "query": "from a_index | where booleanField IS NOT NULL", + "query": "from a_index | eval - numberField", "error": [], "warning": [] }, { - "query": "from a_index | where booleanField IS NOT null", + "query": "from a_index | eval a=- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where booleanField IS not NULL", + "query": "from a_index | eval a=- round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where booleanField Is nOt NuLL", + "query": "from a_index | eval 1 + - numberField", "error": [], "warning": [] }, { - "query": "from a_index | where ipField IS NULL", + "query": "from a_index | eval 1 - numberField", "error": [], "warning": [] }, { - "query": "from a_index | where ipField IS null", + "query": "from a_index | eval + numberField", "error": [], "warning": [] }, { - "query": "from a_index | where ipField is null", + "query": "from a_index | eval a=+ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where ipField is NULL", + "query": "from a_index | eval a=+ round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where ipField IS NOT NULL", + "query": "from a_index | eval 1 + + numberField", "error": [], "warning": [] }, { - "query": "from a_index | where ipField IS NOT null", + "query": "from a_index | eval 1 + numberField", "error": [], "warning": [] }, { - "query": "from a_index | where ipField IS not NULL", + "query": "from a_index | eval + numberField", "error": [], "warning": [] }, { - "query": "from a_index | where ipField Is nOt NuLL", + "query": "from a_index | eval a=+ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where stringField IS NULL", + "query": "from a_index | eval a=+ round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where stringField IS null", + "query": "from a_index | eval 1 + + numberField", "error": [], "warning": [] }, { - "query": "from a_index | where stringField is null", + "query": "from a_index | eval 1 + numberField", "error": [], "warning": [] }, { - "query": "from a_index | where stringField is NULL", + "query": "from a_index | eval not booleanField", "error": [], "warning": [] }, { - "query": "from a_index | where stringField IS NOT NULL", + "query": "from a_index | eval -- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where stringField IS NOT null", + "query": "from a_index | eval a=-- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where stringField IS not NULL", + "query": "from a_index | eval a=-- round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where stringField Is nOt NuLL", + "query": "from a_index | eval 1 + -- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where cartesianPointField IS NULL", + "query": "from a_index | eval 1 -- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where cartesianPointField IS null", + "query": "from a_index | eval -+ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where cartesianPointField is null", + "query": "from a_index | eval a=-+ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where cartesianPointField is NULL", + "query": "from a_index | eval a=-+ round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where cartesianPointField IS NOT NULL", + "query": "from a_index | eval 1 + -+ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where cartesianPointField IS NOT null", + "query": "from a_index | eval 1 -+ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where cartesianPointField IS not NULL", + "query": "from a_index | eval +- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where cartesianPointField Is nOt NuLL", + "query": "from a_index | eval a=+- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where geoPointField IS NULL", + "query": "from a_index | eval a=+- round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where geoPointField IS null", + "query": "from a_index | eval 1 + +- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where geoPointField is null", + "query": "from a_index | eval 1 +- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where geoPointField is NULL", + "query": "from a_index | eval ++ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where geoPointField IS NOT NULL", + "query": "from a_index | eval a=++ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where geoPointField IS NOT null", + "query": "from a_index | eval a=++ round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where geoPointField IS not NULL", + "query": "from a_index | eval 1 + ++ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where geoPointField Is nOt NuLL", + "query": "from a_index | eval 1 ++ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where stringField == \"a\" or null", + "query": "from a_index | eval not not booleanField", "error": [], "warning": [] }, { - "query": "from a_index | where avg(numberField)", - "error": [ - "WHERE does not support function avg" - ], + "query": "from a_index | eval --- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where avg(numberField) > 0", - "error": [ - "WHERE does not support function avg" - ], + "query": "from a_index | eval a=--- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where max(numberField)", - "error": [ - "WHERE does not support function max" - ], + "query": "from a_index | eval a=--- round(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | where max(numberField) > 0", - "error": [ - "WHERE does not support function max" - ], + "query": "from a_index | eval 1 + --- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where min(numberField)", - "error": [ - "WHERE does not support function min" - ], + "query": "from a_index | eval 1 --- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where min(numberField) > 0", - "error": [ - "WHERE does not support function min" - ], + "query": "from a_index | eval -+- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where sum(numberField)", - "error": [ - "WHERE does not support function sum" - ], + "query": "from a_index | eval a=-+- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where sum(numberField) > 0", - "error": [ - "WHERE does not support function sum" - ], + "query": "from a_index | eval a=-+- round(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | where median(numberField)", - "error": [ - "WHERE does not support function median" - ], + "query": "from a_index | eval 1 + -+- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where median(numberField) > 0", - "error": [ - "WHERE does not support function median" - ], + "query": "from a_index | eval 1 -+- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where median_absolute_deviation(numberField)", - "error": [ - "WHERE does not support function median_absolute_deviation" - ], + "query": "from a_index | eval +-+ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where median_absolute_deviation(numberField) > 0", - "error": [ - "WHERE does not support function median_absolute_deviation" - ], + "query": "from a_index | eval a=+-+ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where percentile(numberField, 5)", - "error": [ - "WHERE does not support function percentile" - ], + "query": "from a_index | eval a=+-+ round(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | where percentile(numberField, 5) > 0", - "error": [ - "WHERE does not support function percentile" - ], + "query": "from a_index | eval 1 + +-+ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where count(stringField)", - "error": [ - "WHERE does not support function count" - ], + "query": "from a_index | eval 1 +-+ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where count(stringField) > 0", - "error": [ - "WHERE does not support function count" - ], + "query": "from a_index | eval +++ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where count_distinct(stringField, numberField)", - "error": [ - "WHERE does not support function count_distinct" - ], + "query": "from a_index | eval a=+++ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where count_distinct(stringField, numberField) > 0", - "error": [ - "WHERE does not support function count_distinct" - ], + "query": "from a_index | eval a=+++ round(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | where abs(numberField) > 0", + "query": "from a_index | eval 1 + +++ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where abs(stringField) > 0", - "error": [ - "Argument of [abs] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval 1 +++ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where acos(numberField) > 0", + "query": "from a_index | eval not not not booleanField", "error": [], "warning": [] }, { - "query": "from a_index | where acos(stringField) > 0", - "error": [ - "Argument of [acos] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval ---- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where asin(numberField) > 0", + "query": "from a_index | eval a=---- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where asin(stringField) > 0", - "error": [ - "Argument of [asin] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval a=---- round(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | where atan(numberField) > 0", + "query": "from a_index | eval 1 + ---- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where atan(stringField) > 0", - "error": [ - "Argument of [atan] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval 1 ---- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where atan2(numberField, numberField) > 0", + "query": "from a_index | eval -+-+ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where atan2(stringField, stringField) > 0", - "error": [ - "Argument of [atan2] must be [number], found value [stringField] type [string]", - "Argument of [atan2] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval a=-+-+ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where ceil(numberField) > 0", + "query": "from a_index | eval a=-+-+ round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where ceil(stringField) > 0", - "error": [ - "Argument of [ceil] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval 1 + -+-+ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where length(concat(stringField, stringField)) > 0", + "query": "from a_index | eval 1 -+-+ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where length(concat(numberField, numberField)) > 0", - "error": [ - "Argument of [concat] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval +-+- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where cos(numberField) > 0", + "query": "from a_index | eval a=+-+- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where cos(stringField) > 0", - "error": [ - "Argument of [cos] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval a=+-+- round(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | where cosh(numberField) > 0", + "query": "from a_index | eval 1 + +-+- numberField", "error": [], "warning": [] }, { - "query": "from a_index | where cosh(stringField) > 0", - "error": [ - "Argument of [cosh] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval 1 +-+- numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where e() > 0", + "query": "from a_index | eval ++++ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where e() > 0", + "query": "from a_index | eval a=++++ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where floor(numberField) > 0", + "query": "from a_index | eval a=++++ round(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where floor(stringField) > 0", - "error": [ - "Argument of [floor] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval 1 + ++++ numberField", + "error": [], "warning": [] }, { - "query": "from a_index | where length(left(stringField, numberField)) > 0", + "query": "from a_index | eval 1 ++++ numberField", "error": [], "warning": [] }, { - "query": "from a_index | where length(left(numberField, stringField)) > 0", + "query": "from a_index | eval not not not not booleanField", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval *+ numberField", "error": [ - "Argument of [left] must be [string], found value [numberField] type [number]", - "Argument of [left] must be [number], found value [stringField] type [string]" + "SyntaxError: extraneous input '*' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" ], "warning": [] }, { - "query": "from a_index | where length(stringField) > 0", - "error": [], + "query": "from a_index | eval /+ numberField", + "error": [ + "SyntaxError: extraneous input '/' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + ], "warning": [] }, { - "query": "from a_index | where length(numberField) > 0", + "query": "from a_index | eval %+ numberField", "error": [ - "Argument of [length] must be [string], found value [numberField] type [number]" + "SyntaxError: extraneous input '%' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" ], "warning": [] }, { - "query": "from a_index | where log(numberField) > 0", - "error": [], + "query": "from a_index | eval var = avg(numberField)", + "error": [ + "EVAL does not support function avg" + ], "warning": [] }, { - "query": "from a_index | where log(stringField, stringField) > 0", + "query": "from a_index | eval var = avg(numberField) > 0", "error": [ - "Argument of [log] must be [number], found value [stringField] type [string]", - "Argument of [log] must be [number], found value [stringField] type [string]" + "EVAL does not support function avg" ], "warning": [] }, { - "query": "from a_index | where log10(numberField) > 0", - "error": [], + "query": "from a_index | eval avg(numberField)", + "error": [ + "EVAL does not support function avg" + ], "warning": [] }, { - "query": "from a_index | where log10(stringField) > 0", + "query": "from a_index | eval avg(numberField) > 0", "error": [ - "Argument of [log10] must be [number], found value [stringField] type [string]" + "EVAL does not support function avg" ], "warning": [] }, { - "query": "from a_index | where length(ltrim(stringField)) > 0", - "error": [], + "query": "from a_index | eval var = max(numberField)", + "error": [ + "EVAL does not support function max" + ], "warning": [] }, { - "query": "from a_index | where length(ltrim(numberField)) > 0", + "query": "from a_index | eval var = max(numberField) > 0", "error": [ - "Argument of [ltrim] must be [string], found value [numberField] type [number]" + "EVAL does not support function max" ], "warning": [] }, { - "query": "from a_index | where mv_avg(numberField) > 0", - "error": [], + "query": "from a_index | eval max(numberField)", + "error": [ + "EVAL does not support function max" + ], "warning": [] }, { - "query": "from a_index | where mv_avg(stringField) > 0", + "query": "from a_index | eval max(numberField) > 0", "error": [ - "Argument of [mv_avg] must be [number], found value [stringField] type [string]" + "EVAL does not support function max" ], "warning": [] }, { - "query": "from a_index | where length(mv_concat(stringField, stringField)) > 0", - "error": [], + "query": "from a_index | eval var = min(numberField)", + "error": [ + "EVAL does not support function min" + ], "warning": [] }, { - "query": "from a_index | where length(mv_concat(numberField, numberField)) > 0", + "query": "from a_index | eval var = min(numberField) > 0", "error": [ - "Argument of [mv_concat] must be [string], found value [numberField] type [number]", - "Argument of [mv_concat] must be [string], found value [numberField] type [number]" + "EVAL does not support function min" ], "warning": [] }, { - "query": "from a_index | where mv_median(numberField) > 0", - "error": [], + "query": "from a_index | eval min(numberField)", + "error": [ + "EVAL does not support function min" + ], "warning": [] }, { - "query": "from a_index | where mv_median(stringField) > 0", + "query": "from a_index | eval min(numberField) > 0", "error": [ - "Argument of [mv_median] must be [number], found value [stringField] type [string]" + "EVAL does not support function min" ], "warning": [] }, { - "query": "from a_index | where mv_sum(numberField) > 0", - "error": [], + "query": "from a_index | eval var = sum(numberField)", + "error": [ + "EVAL does not support function sum" + ], "warning": [] }, { - "query": "from a_index | where mv_sum(stringField) > 0", + "query": "from a_index | eval var = sum(numberField) > 0", "error": [ - "Argument of [mv_sum] must be [number], found value [stringField] type [string]" + "EVAL does not support function sum" ], "warning": [] }, { - "query": "from a_index | where pi() > 0", - "error": [], + "query": "from a_index | eval sum(numberField)", + "error": [ + "EVAL does not support function sum" + ], "warning": [] }, { - "query": "from a_index | where pi() > 0", - "error": [], + "query": "from a_index | eval sum(numberField) > 0", + "error": [ + "EVAL does not support function sum" + ], "warning": [] }, { - "query": "from a_index | where pow(numberField, numberField) > 0", - "error": [], + "query": "from a_index | eval var = median(numberField)", + "error": [ + "EVAL does not support function median" + ], "warning": [] }, { - "query": "from a_index | where pow(stringField, stringField) > 0", + "query": "from a_index | eval var = median(numberField) > 0", "error": [ - "Argument of [pow] must be [number], found value [stringField] type [string]", - "Argument of [pow] must be [number], found value [stringField] type [string]" + "EVAL does not support function median" ], "warning": [] }, { - "query": "from a_index | where length(replace(stringField, stringField, stringField)) > 0", - "error": [], + "query": "from a_index | eval median(numberField)", + "error": [ + "EVAL does not support function median" + ], "warning": [] }, { - "query": "from a_index | where length(replace(numberField, numberField, numberField)) > 0", + "query": "from a_index | eval median(numberField) > 0", "error": [ - "Argument of [replace] must be [string], found value [numberField] type [number]", - "Argument of [replace] must be [string], found value [numberField] type [number]", - "Argument of [replace] must be [string], found value [numberField] type [number]" + "EVAL does not support function median" ], "warning": [] }, { - "query": "from a_index | where length(right(stringField, numberField)) > 0", - "error": [], + "query": "from a_index | eval var = median_absolute_deviation(numberField)", + "error": [ + "EVAL does not support function median_absolute_deviation" + ], "warning": [] }, { - "query": "from a_index | where length(right(numberField, stringField)) > 0", + "query": "from a_index | eval var = median_absolute_deviation(numberField) > 0", "error": [ - "Argument of [right] must be [string], found value [numberField] type [number]", - "Argument of [right] must be [number], found value [stringField] type [string]" + "EVAL does not support function median_absolute_deviation" ], "warning": [] }, { - "query": "from a_index | where round(numberField) > 0", - "error": [], + "query": "from a_index | eval median_absolute_deviation(numberField)", + "error": [ + "EVAL does not support function median_absolute_deviation" + ], "warning": [] }, { - "query": "from a_index | where round(stringField, stringField) > 0", + "query": "from a_index | eval median_absolute_deviation(numberField) > 0", "error": [ - "Argument of [round] must be [number], found value [stringField] type [string]", - "Argument of [round] must be [number], found value [stringField] type [string]" + "EVAL does not support function median_absolute_deviation" ], "warning": [] }, { - "query": "from a_index | where length(rtrim(stringField)) > 0", - "error": [], + "query": "from a_index | eval var = percentile(numberField, 5)", + "error": [ + "EVAL does not support function percentile" + ], "warning": [] }, { - "query": "from a_index | where length(rtrim(numberField)) > 0", + "query": "from a_index | eval var = percentile(numberField, 5) > 0", "error": [ - "Argument of [rtrim] must be [string], found value [numberField] type [number]" + "EVAL does not support function percentile" ], "warning": [] }, { - "query": "from a_index | where sin(numberField) > 0", - "error": [], + "query": "from a_index | eval percentile(numberField, 5)", + "error": [ + "EVAL does not support function percentile" + ], "warning": [] }, { - "query": "from a_index | where sin(stringField) > 0", + "query": "from a_index | eval percentile(numberField, 5) > 0", "error": [ - "Argument of [sin] must be [number], found value [stringField] type [string]" + "EVAL does not support function percentile" ], "warning": [] }, { - "query": "from a_index | where sinh(numberField) > 0", - "error": [], + "query": "from a_index | eval var = count(stringField)", + "error": [ + "EVAL does not support function count" + ], "warning": [] }, { - "query": "from a_index | where sinh(stringField) > 0", + "query": "from a_index | eval var = count(stringField) > 0", "error": [ - "Argument of [sinh] must be [number], found value [stringField] type [string]" + "EVAL does not support function count" ], "warning": [] }, { - "query": "from a_index | where length(split(stringField, stringField)) > 0", - "error": [], + "query": "from a_index | eval count(stringField)", + "error": [ + "EVAL does not support function count" + ], "warning": [] }, { - "query": "from a_index | where length(split(numberField, numberField)) > 0", + "query": "from a_index | eval count(stringField) > 0", "error": [ - "Argument of [split] must be [string], found value [numberField] type [number]", - "Argument of [split] must be [string], found value [numberField] type [number]" + "EVAL does not support function count" ], "warning": [] }, { - "query": "from a_index | where sqrt(numberField) > 0", - "error": [], + "query": "from a_index | eval var = count_distinct(stringField, numberField)", + "error": [ + "EVAL does not support function count_distinct" + ], "warning": [] }, { - "query": "from a_index | where sqrt(stringField) > 0", + "query": "from a_index | eval var = count_distinct(stringField, numberField) > 0", "error": [ - "Argument of [sqrt] must be [number], found value [stringField] type [string]" + "EVAL does not support function count_distinct" ], "warning": [] }, { - "query": "from a_index | where length(substring(stringField, numberField, numberField)) > 0", - "error": [], + "query": "from a_index | eval count_distinct(stringField, numberField)", + "error": [ + "EVAL does not support function count_distinct" + ], "warning": [] }, { - "query": "from a_index | where length(substring(numberField, stringField, stringField)) > 0", + "query": "from a_index | eval count_distinct(stringField, numberField) > 0", "error": [ - "Argument of [substring] must be [string], found value [numberField] type [number]", - "Argument of [substring] must be [number], found value [stringField] type [string]", - "Argument of [substring] must be [number], found value [stringField] type [string]" + "EVAL does not support function count_distinct" ], "warning": [] }, { - "query": "from a_index | where tan(numberField) > 0", - "error": [], + "query": "from a_index | eval var = st_centroid_agg(cartesianPointField)", + "error": [ + "EVAL does not support function st_centroid_agg" + ], "warning": [] }, { - "query": "from a_index | where tan(stringField) > 0", + "query": "from a_index | eval var = st_centroid_agg(cartesianPointField) > 0", "error": [ - "Argument of [tan] must be [number], found value [stringField] type [string]" + "EVAL does not support function st_centroid_agg" ], "warning": [] }, { - "query": "from a_index | where tanh(numberField) > 0", - "error": [], + "query": "from a_index | eval st_centroid_agg(cartesianPointField)", + "error": [ + "EVAL does not support function st_centroid_agg" + ], "warning": [] }, { - "query": "from a_index | where tanh(stringField) > 0", + "query": "from a_index | eval st_centroid_agg(cartesianPointField) > 0", "error": [ - "Argument of [tanh] must be [number], found value [stringField] type [string]" + "EVAL does not support function st_centroid_agg" ], "warning": [] }, { - "query": "from a_index | where tau() > 0", - "error": [], + "query": "from a_index | eval var = st_centroid_agg(geoPointField)", + "error": [ + "EVAL does not support function st_centroid_agg" + ], "warning": [] }, { - "query": "from a_index | where tau() > 0", - "error": [], + "query": "from a_index | eval var = st_centroid_agg(geoPointField) > 0", + "error": [ + "EVAL does not support function st_centroid_agg" + ], "warning": [] }, { - "query": "from a_index | where to_degrees(numberField) > 0", - "error": [], + "query": "from a_index | eval st_centroid_agg(geoPointField)", + "error": [ + "EVAL does not support function st_centroid_agg" + ], "warning": [] }, { - "query": "from a_index | where to_degrees(stringField) > 0", + "query": "from a_index | eval st_centroid_agg(geoPointField) > 0", "error": [ - "Argument of [to_degrees] must be [number], found value [stringField] type [string]" + "EVAL does not support function st_centroid_agg" ], "warning": [] }, { - "query": "from a_index | where length(to_lower(stringField)) > 0", - "error": [], + "query": "from a_index | eval var = values(stringField)", + "error": [ + "EVAL does not support function values" + ], "warning": [] }, { - "query": "from a_index | where length(to_lower(numberField)) > 0", + "query": "from a_index | eval var = values(stringField) > 0", "error": [ - "Argument of [to_lower] must be [string], found value [numberField] type [number]" + "EVAL does not support function values" ], "warning": [] }, { - "query": "from a_index | where to_radians(numberField) > 0", - "error": [], + "query": "from a_index | eval values(stringField)", + "error": [ + "EVAL does not support function values" + ], "warning": [] }, { - "query": "from a_index | where to_radians(stringField) > 0", + "query": "from a_index | eval values(stringField) > 0", "error": [ - "Argument of [to_radians] must be [number], found value [stringField] type [string]" + "EVAL does not support function values" ], "warning": [] }, { - "query": "from a_index | where length(to_upper(stringField)) > 0", + "query": "from a_index | eval var = abs(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | where length(to_upper(numberField)) > 0", - "error": [ - "Argument of [to_upper] must be [string], found value [numberField] type [number]" - ], + "query": "from a_index | eval abs(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | where length(to_version(stringField)) > 0", + "query": "from a_index | eval var = abs(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | where length(to_version(numberField)) > 0", + "query": "from a_index | eval abs(stringField)", "error": [ - "Argument of [to_version] must be [string], found value [numberField] type [number]" + "Argument of [abs] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | where length(trim(stringField)) > 0", - "error": [], - "warning": [] - }, - { - "query": "from a_index | where length(trim(numberField)) > 0", + "query": "from a_index | eval abs(numberField, extraArg)", "error": [ - "Argument of [trim] must be [string], found value [numberField] type [number]" + "Error: [abs] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval ", + "query": "from a_index | eval var = abs(*)", "error": [ - "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + "Using wildcards (*) in abs is not allowed" ], "warning": [] }, { - "query": "from a_index | eval stringField ", + "query": "from a_index | eval var = acos(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval b = stringField", + "query": "from a_index | eval acos(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval numberField + 1", + "query": "from a_index | eval var = acos(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval numberField + ", + "query": "from a_index | eval acos(stringField)", "error": [ - "SyntaxError: no viable alternative at input 'numberField + '" + "Argument of [acos] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval stringField + 1", + "query": "from a_index | eval acos(numberField, extraArg)", "error": [ - "Argument of [+] must be [number], found value [stringField] type [string]" + "Error: [acos] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval a=b", + "query": "from a_index | eval var = acos(*)", "error": [ - "Unknown column [b]" + "Using wildcards (*) in acos is not allowed" ], "warning": [] }, { - "query": "from a_index | eval a=b, ", + "query": "from a_index | eval var = asin(numberField)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval asin(numberField)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval var = asin(to_integer(stringField))", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval asin(stringField)", "error": [ - "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}", - "Unknown column [b]" + "Argument of [asin] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval a=round", + "query": "from a_index | eval asin(numberField, extraArg)", "error": [ - "Unknown column [round]" + "Error: [asin] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval a=round(", + "query": "from a_index | eval var = asin(*)", "error": [ - "SyntaxError: no viable alternative at input 'round('" + "Using wildcards (*) in asin is not allowed" ], "warning": [] }, { - "query": "from a_index | eval a=round(numberField) ", + "query": "from a_index | eval var = atan(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=round(numberField), ", - "error": [ - "SyntaxError: mismatched input '' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" - ], + "query": "from a_index | eval atan(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval a=round(numberField) + round(numberField) ", + "query": "from a_index | eval var = atan(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval a=round(numberField) + round(stringField) ", + "query": "from a_index | eval atan(stringField)", "error": [ - "Argument of [round] must be [number], found value [stringField] type [string]" + "Argument of [atan] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval a=round(numberField) + round(stringField), numberField ", + "query": "from a_index | eval atan(numberField, extraArg)", "error": [ - "Argument of [round] must be [number], found value [stringField] type [string]" + "Error: [atan] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval a=round(numberField) + round(numberField), numberField ", - "error": [], - "warning": [] - }, - { - "query": "from a_index | eval a=round(numberField) + round(numberField), b = numberField ", - "error": [], + "query": "from a_index | eval var = atan(*)", + "error": [ + "Using wildcards (*) in atan is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval a=[1, 2, 3]", + "query": "from a_index | eval var = atan2(numberField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=[true, false]", + "query": "from a_index | eval atan2(numberField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=[\"a\", \"b\"]", + "query": "from a_index | eval var = atan2(to_integer(stringField), to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval a=null", - "error": [], + "query": "from a_index | eval atan2(stringField, stringField)", + "error": [ + "Argument of [atan2] must be [number], found value [stringField] type [string]", + "Argument of [atan2] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval numberField IS NULL", - "error": [], + "query": "from a_index | eval atan2(numberField, numberField, extraArg)", + "error": [ + "Error: [atan2] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval numberField IS null", + "query": "from a_index | eval var = bucket(dateField, 5, \"a\", \"a\")", "error": [], "warning": [] }, { - "query": "from a_index | eval numberField is null", + "query": "from a_index | eval bucket(dateField, 5, \"a\", \"a\")", "error": [], "warning": [] }, { - "query": "from a_index | eval numberField is NULL", - "error": [], + "query": "from a_index | eval bucket(dateField, numberField, stringField, stringField)", + "error": [ + "Argument of [bucket] must be a constant, received [numberField]", + "Argument of [bucket] must be a constant, received [stringField]", + "Argument of [bucket] must be a constant, received [stringField]" + ], "warning": [] }, { - "query": "from a_index | eval numberField IS NOT NULL", + "query": "from a_index | eval var = bucket(dateField, 5, now(), now())", "error": [], "warning": [] }, { - "query": "from a_index | eval numberField IS NOT null", + "query": "from a_index | eval bucket(dateField, 5, now(), now())", "error": [], "warning": [] }, { - "query": "from a_index | eval numberField IS not NULL", - "error": [], + "query": "from a_index | eval bucket(dateField, numberField, dateField, dateField)", + "error": [ + "Argument of [bucket] must be a constant, received [numberField]", + "Argument of [bucket] must be a constant, received [dateField]", + "Argument of [bucket] must be a constant, received [dateField]" + ], "warning": [] }, { - "query": "from a_index | eval dateField IS NULL", + "query": "from a_index | eval var = bucket(dateField, 5, \"a\", now())", "error": [], "warning": [] }, { - "query": "from a_index | eval dateField IS null", + "query": "from a_index | eval bucket(dateField, 5, \"a\", now())", "error": [], "warning": [] }, { - "query": "from a_index | eval dateField is null", - "error": [], + "query": "from a_index | eval bucket(dateField, numberField, stringField, dateField)", + "error": [ + "Argument of [bucket] must be a constant, received [numberField]", + "Argument of [bucket] must be a constant, received [stringField]", + "Argument of [bucket] must be a constant, received [dateField]" + ], "warning": [] }, { - "query": "from a_index | eval dateField is NULL", + "query": "from a_index | eval var = bucket(dateField, 5, now(), \"a\")", "error": [], "warning": [] }, { - "query": "from a_index | eval dateField IS NOT NULL", + "query": "from a_index | eval bucket(dateField, 5, now(), \"a\")", "error": [], "warning": [] }, { - "query": "from a_index | eval dateField IS NOT null", - "error": [], + "query": "from a_index | eval bucket(dateField, numberField, dateField, stringField)", + "error": [ + "Argument of [bucket] must be a constant, received [numberField]", + "Argument of [bucket] must be a constant, received [dateField]", + "Argument of [bucket] must be a constant, received [stringField]" + ], "warning": [] }, { - "query": "from a_index | eval dateField IS not NULL", + "query": "from a_index | eval var = bucket(numberField, 5, 5, 5)", "error": [], "warning": [] }, { - "query": "from a_index | eval booleanField IS NULL", + "query": "from a_index | eval bucket(numberField, 5, 5, 5)", "error": [], "warning": [] }, { - "query": "from a_index | eval booleanField IS null", - "error": [], + "query": "from a_index | eval bucket(numberField, numberField, numberField, numberField)", + "error": [ + "Argument of [bucket] must be a constant, received [numberField]", + "Argument of [bucket] must be a constant, received [numberField]", + "Argument of [bucket] must be a constant, received [numberField]" + ], "warning": [] }, { - "query": "from a_index | eval booleanField is null", + "query": "from a_index | eval var = case(booleanField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval booleanField is NULL", + "query": "from a_index | eval case(booleanField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval booleanField IS NOT NULL", + "query": "from a_index | eval var = ceil(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval booleanField IS NOT null", + "query": "from a_index | eval ceil(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval booleanField IS not NULL", + "query": "from a_index | eval var = ceil(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval ipField IS NULL", - "error": [], + "query": "from a_index | eval ceil(stringField)", + "error": [ + "Argument of [ceil] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval ipField IS null", - "error": [], + "query": "from a_index | eval ceil(numberField, extraArg)", + "error": [ + "Error: [ceil] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval ipField is null", - "error": [], + "query": "from a_index | eval var = ceil(*)", + "error": [ + "Using wildcards (*) in ceil is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval ipField is NULL", + "query": "from a_index | eval var = cidr_match(ipField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval ipField IS NOT NULL", + "query": "from a_index | eval cidr_match(ipField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval ipField IS NOT null", + "query": "from a_index | eval var = cidr_match(to_ip(stringField), to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval ipField IS not NULL", - "error": [], + "query": "from a_index | eval cidr_match(stringField, numberField)", + "error": [ + "Argument of [cidr_match] must be [ip], found value [stringField] type [string]", + "Argument of [cidr_match] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | eval stringField IS NULL", + "query": "from a_index | eval var = coalesce(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField IS null", + "query": "from a_index | eval coalesce(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField is null", + "query": "from a_index | eval var = concat(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField is NULL", + "query": "from a_index | eval concat(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField IS NOT NULL", + "query": "from a_index | eval var = concat(to_string(stringField), to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval stringField IS NOT null", - "error": [], + "query": "from a_index | eval concat(numberField, numberField)", + "error": [ + "Argument of [concat] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | eval stringField IS not NULL", + "query": "from a_index | eval var = cos(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval cartesianPointField IS NULL", + "query": "from a_index | eval cos(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval cartesianPointField IS null", + "query": "from a_index | eval var = cos(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval cartesianPointField is null", - "error": [], + "query": "from a_index | eval cos(stringField)", + "error": [ + "Argument of [cos] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval cartesianPointField is NULL", - "error": [], + "query": "from a_index | eval cos(numberField, extraArg)", + "error": [ + "Error: [cos] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval cartesianPointField IS NOT NULL", - "error": [], + "query": "from a_index | eval var = cos(*)", + "error": [ + "Using wildcards (*) in cos is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval cartesianPointField IS NOT null", + "query": "from a_index | eval var = cosh(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval cartesianPointField IS not NULL", + "query": "from a_index | eval cosh(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval geoPointField IS NULL", + "query": "from a_index | eval var = cosh(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval geoPointField IS null", - "error": [], + "query": "from a_index | eval cosh(stringField)", + "error": [ + "Argument of [cosh] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval geoPointField is null", - "error": [], + "query": "from a_index | eval cosh(numberField, extraArg)", + "error": [ + "Error: [cosh] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval geoPointField is NULL", - "error": [], + "query": "from a_index | eval var = cosh(*)", + "error": [ + "Using wildcards (*) in cosh is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval geoPointField IS NOT NULL", + "query": "from a_index | eval var = date_extract(\"ALIGNED_DAY_OF_WEEK_IN_MONTH\", dateField)", "error": [], "warning": [] }, { - "query": "from a_index | eval geoPointField IS NOT null", + "query": "from a_index | eval date_extract(\"ALIGNED_DAY_OF_WEEK_IN_MONTH\", dateField)", "error": [], "warning": [] }, { - "query": "from a_index | eval geoPointField IS not NULL", + "query": "from a_index | eval var = date_extract(\"ALIGNED_DAY_OF_WEEK_IN_MONTH\", to_datetime(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval - numberField", - "error": [], + "query": "from a_index | eval date_extract(stringField, stringField)", + "error": [ + "Argument of [date_extract] must be [chrono_literal], found value [stringField] type [string]", + "Argument of [date_extract] must be [date], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval a=- numberField", - "error": [], + "query": "from a_index | eval date_extract(\"ALIGNED_DAY_OF_WEEK_IN_MONTH\", dateField, extraArg)", + "error": [ + "Error: [date_extract] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval a=- round(numberField)", + "query": "from a_index | eval var = date_format(dateField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + - numberField", + "query": "from a_index | eval date_format(dateField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 - numberField", + "query": "from a_index | eval var = date_format(to_datetime(stringField), to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval - numberField", - "error": [], + "query": "from a_index | eval date_format(stringField, numberField)", + "error": [ + "Argument of [date_format] must be [date], found value [stringField] type [string]", + "Argument of [date_format] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | eval a=- numberField", - "error": [], + "query": "from a_index | eval date_format(dateField, stringField, extraArg)", + "error": [ + "Error: [date_format] function expects no more than 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval a=- round(numberField)", + "query": "from a_index | eval var = date_parse(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + - numberField", + "query": "from a_index | eval date_parse(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 - numberField", + "query": "from a_index | eval var = date_parse(to_string(stringField), to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval + numberField", - "error": [], + "query": "from a_index | eval date_parse(numberField, numberField)", + "error": [ + "Argument of [date_parse] must be [string], found value [numberField] type [number]", + "Argument of [date_parse] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | eval a=+ numberField", - "error": [], + "query": "from a_index | eval date_parse(stringField, stringField, extraArg)", + "error": [ + "Error: [date_parse] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval a=+ round(numberField)", + "query": "from a_index | eval var = date_trunc(1 year, dateField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + + numberField", + "query": "from a_index | eval date_trunc(1 year, dateField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + numberField", + "query": "from a_index | eval var = date_trunc(1 year, to_datetime(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval + numberField", - "error": [], + "query": "from a_index | eval date_trunc(stringField, stringField)", + "error": [ + "Argument of [date_trunc] must be [time_literal], found value [stringField] type [string]", + "Argument of [date_trunc] must be [date], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval a=+ numberField", - "error": [], + "query": "from a_index | eval date_trunc(1 year, dateField, extraArg)", + "error": [ + "Error: [date_trunc] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval a=+ round(numberField)", + "query": "from a_index | eval var = e()", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + + numberField", + "query": "from a_index | eval e()", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + numberField", + "query": "from a_index | eval var = e()", "error": [], "warning": [] }, { - "query": "from a_index | eval not booleanField", + "query": "from a_index | eval e()", "error": [], "warning": [] }, { - "query": "from a_index | eval -- numberField", - "error": [], + "query": "from a_index | eval e(extraArg)", + "error": [ + "Error: [e] function expects exactly 0 arguments, got 1." + ], "warning": [] }, { - "query": "from a_index | eval a=-- numberField", + "query": "from a_index | eval var = ends_with(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=-- round(numberField)", + "query": "from a_index | eval ends_with(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + -- numberField", + "query": "from a_index | eval var = ends_with(to_string(stringField), to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 -- numberField", - "error": [], + "query": "from a_index | eval ends_with(numberField, numberField)", + "error": [ + "Argument of [ends_with] must be [string], found value [numberField] type [number]", + "Argument of [ends_with] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | eval -+ numberField", - "error": [], + "query": "from a_index | eval ends_with(stringField, stringField, extraArg)", + "error": [ + "Error: [ends_with] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval a=-+ numberField", + "query": "from a_index | eval var = floor(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=-+ round(numberField)", + "query": "from a_index | eval floor(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + -+ numberField", + "query": "from a_index | eval var = floor(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 -+ numberField", - "error": [], + "query": "from a_index | eval floor(stringField)", + "error": [ + "Argument of [floor] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval +- numberField", - "error": [], + "query": "from a_index | eval floor(numberField, extraArg)", + "error": [ + "Error: [floor] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval a=+- numberField", - "error": [], + "query": "from a_index | eval var = floor(*)", + "error": [ + "Using wildcards (*) in floor is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval a=+- round(numberField)", + "query": "from a_index | eval var = greatest(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + +- numberField", + "query": "from a_index | eval greatest(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 +- numberField", + "query": "from a_index | eval var = least(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval ++ numberField", + "query": "from a_index | eval least(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=++ numberField", + "query": "from a_index | eval var = left(stringField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=++ round(numberField)", + "query": "from a_index | eval left(stringField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + ++ numberField", + "query": "from a_index | eval var = left(to_string(stringField), to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 ++ numberField", - "error": [], + "query": "from a_index | eval left(numberField, stringField)", + "error": [ + "Argument of [left] must be [string], found value [numberField] type [number]", + "Argument of [left] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval not not booleanField", - "error": [], + "query": "from a_index | eval left(stringField, numberField, extraArg)", + "error": [ + "Error: [left] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval --- numberField", + "query": "from a_index | eval var = length(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=--- numberField", + "query": "from a_index | eval length(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=--- round(numberField)", + "query": "from a_index | eval var = length(to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + --- numberField", - "error": [], + "query": "from a_index | eval length(numberField)", + "error": [ + "Argument of [length] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | eval 1 --- numberField", - "error": [], + "query": "from a_index | eval length(stringField, extraArg)", + "error": [ + "Error: [length] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval -+- numberField", - "error": [], + "query": "from a_index | eval var = length(*)", + "error": [ + "Using wildcards (*) in length is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval a=-+- numberField", + "query": "from a_index | eval var = log(numberField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=-+- round(numberField)", + "query": "from a_index | eval log(numberField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + -+- numberField", + "query": "from a_index | eval var = log(to_integer(stringField), to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 -+- numberField", - "error": [], + "query": "from a_index | eval log(stringField, stringField)", + "error": [ + "Argument of [log] must be [number], found value [stringField] type [string]", + "Argument of [log] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval +-+ numberField", - "error": [], + "query": "from a_index | eval log(numberField, numberField, extraArg)", + "error": [ + "Error: [log] function expects no more than 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval a=+-+ numberField", + "query": "from a_index | eval var = log10(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=+-+ round(numberField)", + "query": "from a_index | eval log10(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + +-+ numberField", + "query": "from a_index | eval var = log10(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 +-+ numberField", - "error": [], + "query": "from a_index | eval log10(stringField)", + "error": [ + "Argument of [log10] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval +++ numberField", - "error": [], + "query": "from a_index | eval log10(numberField, extraArg)", + "error": [ + "Error: [log10] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval a=+++ numberField", - "error": [], + "query": "from a_index | eval var = log10(*)", + "error": [ + "Using wildcards (*) in log10 is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval a=+++ round(numberField)", + "query": "from a_index | eval var = ltrim(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + +++ numberField", + "query": "from a_index | eval ltrim(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 +++ numberField", + "query": "from a_index | eval var = ltrim(to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval not not not booleanField", - "error": [], + "query": "from a_index | eval ltrim(numberField)", + "error": [ + "Argument of [ltrim] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | eval ---- numberField", - "error": [], + "query": "from a_index | eval ltrim(stringField, extraArg)", + "error": [ + "Error: [ltrim] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval a=---- numberField", - "error": [], + "query": "from a_index | eval var = ltrim(*)", + "error": [ + "Using wildcards (*) in ltrim is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval a=---- round(numberField)", + "query": "from a_index | eval var = mv_avg(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + ---- numberField", + "query": "from a_index | eval mv_avg(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 ---- numberField", + "query": "from a_index | eval var = mv_avg(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval -+-+ numberField", - "error": [], + "query": "from a_index | eval mv_avg(stringField)", + "error": [ + "Argument of [mv_avg] must be [number], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval a=-+-+ numberField", - "error": [], + "query": "from a_index | eval mv_avg(numberField, extraArg)", + "error": [ + "Error: [mv_avg] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval a=-+-+ round(numberField)", - "error": [], + "query": "from a_index | eval var = mv_avg(*)", + "error": [ + "Using wildcards (*) in mv_avg is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval 1 + -+-+ numberField", + "query": "from a_index | eval var = mv_concat(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 -+-+ numberField", + "query": "from a_index | eval mv_concat(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval +-+- numberField", + "query": "from a_index | eval var = mv_concat(to_string(stringField), to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval a=+-+- numberField", - "error": [], + "query": "from a_index | eval mv_concat(numberField, numberField)", + "error": [ + "Argument of [mv_concat] must be [string], found value [numberField] type [number]", + "Argument of [mv_concat] must be [string], found value [numberField] type [number]" + ], "warning": [] }, { - "query": "from a_index | eval a=+-+- round(numberField)", - "error": [], + "query": "from a_index | eval mv_concat(stringField, stringField, extraArg)", + "error": [ + "Error: [mv_concat] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval 1 + +-+- numberField", + "query": "from a_index | eval var = mv_count(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 +-+- numberField", + "query": "from a_index | eval mv_count(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval ++++ numberField", - "error": [], + "query": "from a_index | eval var = mv_count(*)", + "error": [ + "Using wildcards (*) in mv_count is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval a=++++ numberField", + "query": "from a_index | eval var = mv_dedupe(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval a=++++ round(numberField)", + "query": "from a_index | eval mv_dedupe(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval 1 + ++++ numberField", - "error": [], + "query": "from a_index | eval var = mv_dedupe(*)", + "error": [ + "Using wildcards (*) in mv_dedupe is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval 1 ++++ numberField", + "query": "from a_index | eval var = mv_first(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval not not not not booleanField", + "query": "from a_index | eval mv_first(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval *+ numberField", + "query": "from a_index | eval var = mv_first(*)", "error": [ - "SyntaxError: extraneous input '*' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" + "Using wildcards (*) in mv_first is not allowed" ], "warning": [] }, { - "query": "from a_index | eval /+ numberField", - "error": [ - "SyntaxError: extraneous input '/' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" - ], + "query": "from a_index | eval var = mv_last(stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval %+ numberField", - "error": [ - "SyntaxError: extraneous input '%' expecting {QUOTED_STRING, INTEGER_LITERAL, DECIMAL_LITERAL, 'false', '(', 'not', 'null', '?', 'true', '+', '-', OPENING_BRACKET, UNQUOTED_IDENTIFIER, QUOTED_IDENTIFIER}" - ], + "query": "from a_index | eval mv_last(stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = avg(numberField)", + "query": "from a_index | eval var = mv_last(*)", "error": [ - "EVAL does not support function avg" + "Using wildcards (*) in mv_last is not allowed" ], "warning": [] }, { - "query": "from a_index | eval var = avg(numberField) > 0", - "error": [ - "EVAL does not support function avg" - ], + "query": "from a_index | eval var = mv_max(stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval avg(numberField)", - "error": [ - "EVAL does not support function avg" - ], + "query": "from a_index | eval mv_max(stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval avg(numberField) > 0", + "query": "from a_index | eval var = mv_max(*)", "error": [ - "EVAL does not support function avg" + "Using wildcards (*) in mv_max is not allowed" ], "warning": [] }, { - "query": "from a_index | eval var = max(numberField)", - "error": [ - "EVAL does not support function max" - ], + "query": "from a_index | eval var = mv_median(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = max(numberField) > 0", - "error": [ - "EVAL does not support function max" - ], + "query": "from a_index | eval mv_median(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval max(numberField)", - "error": [ - "EVAL does not support function max" - ], + "query": "from a_index | eval var = mv_median(to_integer(stringField))", + "error": [], "warning": [] }, { - "query": "from a_index | eval max(numberField) > 0", + "query": "from a_index | eval mv_median(stringField)", "error": [ - "EVAL does not support function max" + "Argument of [mv_median] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = min(numberField)", + "query": "from a_index | eval mv_median(numberField, extraArg)", "error": [ - "EVAL does not support function min" + "Error: [mv_median] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval var = min(numberField) > 0", + "query": "from a_index | eval var = mv_median(*)", "error": [ - "EVAL does not support function min" + "Using wildcards (*) in mv_median is not allowed" ], "warning": [] }, { - "query": "from a_index | eval min(numberField)", - "error": [ - "EVAL does not support function min" - ], + "query": "from a_index | eval var = mv_min(stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval min(numberField) > 0", - "error": [ - "EVAL does not support function min" - ], + "query": "from a_index | eval mv_min(stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = sum(numberField)", + "query": "from a_index | eval var = mv_min(*)", "error": [ - "EVAL does not support function sum" + "Using wildcards (*) in mv_min is not allowed" ], "warning": [] }, { - "query": "from a_index | eval var = sum(numberField) > 0", - "error": [ - "EVAL does not support function sum" - ], + "query": "from a_index | eval var = mv_slice(stringField, numberField, numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval sum(numberField)", - "error": [ - "EVAL does not support function sum" - ], + "query": "from a_index | eval mv_slice(stringField, numberField, numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval sum(numberField) > 0", - "error": [ - "EVAL does not support function sum" - ], + "query": "from a_index | eval var = mv_sort(stringField, \"asc\")", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = median(numberField)", - "error": [ - "EVAL does not support function median" - ], + "query": "from a_index | eval mv_sort(stringField, \"asc\")", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = median(numberField) > 0", - "error": [ - "EVAL does not support function median" - ], + "query": "from a_index | eval var = mv_sum(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval median(numberField)", - "error": [ - "EVAL does not support function median" - ], + "query": "from a_index | eval mv_sum(numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval median(numberField) > 0", - "error": [ - "EVAL does not support function median" - ], + "query": "from a_index | eval var = mv_sum(to_integer(stringField))", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = median_absolute_deviation(numberField)", + "query": "from a_index | eval mv_sum(stringField)", "error": [ - "EVAL does not support function median_absolute_deviation" + "Argument of [mv_sum] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = median_absolute_deviation(numberField) > 0", + "query": "from a_index | eval mv_sum(numberField, extraArg)", "error": [ - "EVAL does not support function median_absolute_deviation" + "Error: [mv_sum] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval median_absolute_deviation(numberField)", + "query": "from a_index | eval var = mv_sum(*)", "error": [ - "EVAL does not support function median_absolute_deviation" + "Using wildcards (*) in mv_sum is not allowed" ], "warning": [] }, { - "query": "from a_index | eval median_absolute_deviation(numberField) > 0", - "error": [ - "EVAL does not support function median_absolute_deviation" - ], + "query": "from a_index | eval var = mv_zip(stringField, stringField, stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = percentile(numberField, 5)", - "error": [ - "EVAL does not support function percentile" - ], + "query": "from a_index | eval mv_zip(stringField, stringField, stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = percentile(numberField, 5) > 0", - "error": [ - "EVAL does not support function percentile" - ], + "query": "from a_index | eval var = mv_zip(to_string(stringField), to_string(stringField), to_string(stringField))", + "error": [], "warning": [] }, { - "query": "from a_index | eval percentile(numberField, 5)", + "query": "from a_index | eval mv_zip(numberField, numberField, numberField)", "error": [ - "EVAL does not support function percentile" + "Argument of [mv_zip] must be [string], found value [numberField] type [number]", + "Argument of [mv_zip] must be [string], found value [numberField] type [number]", + "Argument of [mv_zip] must be [string], found value [numberField] type [number]" ], "warning": [] }, { - "query": "from a_index | eval percentile(numberField, 5) > 0", + "query": "from a_index | eval mv_zip(stringField, stringField, stringField, extraArg)", "error": [ - "EVAL does not support function percentile" + "Error: [mv_zip] function expects exactly 3 arguments, got 4." ], "warning": [] }, { - "query": "from a_index | eval var = count(stringField)", - "error": [ - "EVAL does not support function count" - ], + "query": "from a_index | eval var = now()", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = count(stringField) > 0", - "error": [ - "EVAL does not support function count" - ], + "query": "from a_index | eval now()", + "error": [], "warning": [] }, { - "query": "from a_index | eval count(stringField)", - "error": [ - "EVAL does not support function count" - ], + "query": "from a_index | eval var = now()", + "error": [], "warning": [] }, { - "query": "from a_index | eval count(stringField) > 0", - "error": [ - "EVAL does not support function count" - ], + "query": "from a_index | eval now()", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = count_distinct(stringField, numberField)", + "query": "from a_index | eval now(extraArg)", "error": [ - "EVAL does not support function count_distinct" + "Error: [now] function expects exactly 0 arguments, got 1." ], "warning": [] }, { - "query": "from a_index | eval var = count_distinct(stringField, numberField) > 0", - "error": [ - "EVAL does not support function count_distinct" - ], + "query": "from a_index | eval var = pi()", + "error": [], "warning": [] }, { - "query": "from a_index | eval count_distinct(stringField, numberField)", - "error": [ - "EVAL does not support function count_distinct" - ], + "query": "from a_index | eval pi()", + "error": [], "warning": [] }, { - "query": "from a_index | eval count_distinct(stringField, numberField) > 0", - "error": [ - "EVAL does not support function count_distinct" - ], + "query": "from a_index | eval var = pi()", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = st_centroid(cartesianPointField)", - "error": [ - "EVAL does not support function st_centroid" - ], + "query": "from a_index | eval pi()", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = st_centroid(cartesianPointField) > 0", + "query": "from a_index | eval pi(extraArg)", "error": [ - "EVAL does not support function st_centroid" + "Error: [pi] function expects exactly 0 arguments, got 1." ], "warning": [] }, { - "query": "from a_index | eval st_centroid(cartesianPointField)", - "error": [ - "EVAL does not support function st_centroid" - ], + "query": "from a_index | eval var = pow(numberField, numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval st_centroid(cartesianPointField) > 0", - "error": [ - "EVAL does not support function st_centroid" - ], + "query": "from a_index | eval pow(numberField, numberField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = st_centroid(geoPointField)", - "error": [ - "EVAL does not support function st_centroid" - ], + "query": "from a_index | eval var = pow(to_integer(stringField), to_integer(stringField))", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = st_centroid(geoPointField) > 0", + "query": "from a_index | eval pow(stringField, stringField)", "error": [ - "EVAL does not support function st_centroid" + "Argument of [pow] must be [number], found value [stringField] type [string]", + "Argument of [pow] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval st_centroid(geoPointField)", + "query": "from a_index | eval pow(numberField, numberField, extraArg)", "error": [ - "EVAL does not support function st_centroid" + "Error: [pow] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval st_centroid(geoPointField) > 0", - "error": [ - "EVAL does not support function st_centroid" - ], + "query": "from a_index | eval var = replace(stringField, stringField, stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = values(stringField)", - "error": [ - "EVAL does not support function values" - ], + "query": "from a_index | eval replace(stringField, stringField, stringField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = values(stringField) > 0", - "error": [ - "EVAL does not support function values" - ], + "query": "from a_index | eval var = replace(to_string(stringField), to_string(stringField), to_string(stringField))", + "error": [], "warning": [] }, { - "query": "from a_index | eval values(stringField)", + "query": "from a_index | eval replace(numberField, numberField, numberField)", "error": [ - "EVAL does not support function values" + "Argument of [replace] must be [string], found value [numberField] type [number]", + "Argument of [replace] must be [string], found value [numberField] type [number]", + "Argument of [replace] must be [string], found value [numberField] type [number]" ], "warning": [] }, { - "query": "from a_index | eval values(stringField) > 0", + "query": "from a_index | eval replace(stringField, stringField, stringField, extraArg)", "error": [ - "EVAL does not support function values" + "Error: [replace] function expects exactly 3 arguments, got 4." ], "warning": [] }, { - "query": "from a_index | eval var = abs(numberField)", + "query": "from a_index | eval var = right(stringField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval abs(numberField)", + "query": "from a_index | eval right(stringField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = abs(to_integer(stringField))", + "query": "from a_index | eval var = right(to_string(stringField), to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval abs(stringField)", - "error": [ - "Argument of [abs] must be [number], found value [stringField] type [string]" - ], - "warning": [] - }, - { - "query": "from a_index | eval abs(numberField, extraArg)", + "query": "from a_index | eval right(numberField, stringField)", "error": [ - "Error: [abs] function expects exactly one argument, got 2." + "Argument of [right] must be [string], found value [numberField] type [number]", + "Argument of [right] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = abs(*)", + "query": "from a_index | eval right(stringField, numberField, extraArg)", "error": [ - "Using wildcards (*) in abs is not allowed" + "Error: [right] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = acos(numberField)", + "query": "from a_index | eval var = round(numberField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval acos(numberField)", + "query": "from a_index | eval round(numberField, numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = acos(to_integer(stringField))", + "query": "from a_index | eval var = round(to_integer(stringField), to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval acos(stringField)", - "error": [ - "Argument of [acos] must be [number], found value [stringField] type [string]" - ], - "warning": [] - }, - { - "query": "from a_index | eval acos(numberField, extraArg)", + "query": "from a_index | eval round(stringField, stringField)", "error": [ - "Error: [acos] function expects exactly one argument, got 2." + "Argument of [round] must be [number], found value [stringField] type [string]", + "Argument of [round] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = acos(*)", + "query": "from a_index | eval round(numberField, numberField, extraArg)", "error": [ - "Using wildcards (*) in acos is not allowed" + "Error: [round] function expects no more than 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = asin(numberField)", + "query": "from a_index | eval var = rtrim(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval asin(numberField)", + "query": "from a_index | eval rtrim(stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = asin(to_integer(stringField))", + "query": "from a_index | eval var = rtrim(to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval asin(stringField)", + "query": "from a_index | eval rtrim(numberField)", "error": [ - "Argument of [asin] must be [number], found value [stringField] type [string]" + "Argument of [rtrim] must be [string], found value [numberField] type [number]" ], "warning": [] }, { - "query": "from a_index | eval asin(numberField, extraArg)", + "query": "from a_index | eval rtrim(stringField, extraArg)", "error": [ - "Error: [asin] function expects exactly one argument, got 2." + "Error: [rtrim] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval var = asin(*)", + "query": "from a_index | eval var = rtrim(*)", "error": [ - "Using wildcards (*) in asin is not allowed" + "Using wildcards (*) in rtrim is not allowed" ], "warning": [] }, { - "query": "from a_index | eval var = atan(numberField)", + "query": "from a_index | eval var = signum(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval atan(numberField)", + "query": "from a_index | eval signum(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = atan(to_integer(stringField))", + "query": "from a_index | eval var = signum(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval atan(stringField)", + "query": "from a_index | eval signum(stringField)", "error": [ - "Argument of [atan] must be [number], found value [stringField] type [string]" + "Argument of [signum] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval atan(numberField, extraArg)", + "query": "from a_index | eval signum(numberField, extraArg)", "error": [ - "Error: [atan] function expects exactly one argument, got 2." + "Error: [signum] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval var = atan(*)", + "query": "from a_index | eval var = signum(*)", "error": [ - "Using wildcards (*) in atan is not allowed" + "Using wildcards (*) in signum is not allowed" ], "warning": [] }, { - "query": "from a_index | eval var = atan2(numberField, numberField)", + "query": "from a_index | eval var = sin(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval atan2(numberField, numberField)", + "query": "from a_index | eval sin(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = atan2(to_integer(stringField), to_integer(stringField))", + "query": "from a_index | eval var = sin(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval atan2(stringField, stringField)", + "query": "from a_index | eval sin(stringField)", "error": [ - "Argument of [atan2] must be [number], found value [stringField] type [string]", - "Argument of [atan2] must be [number], found value [stringField] type [string]" + "Argument of [sin] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval atan2(numberField, numberField, extraArg)", + "query": "from a_index | eval sin(numberField, extraArg)", "error": [ - "Error: [atan2] function expects exactly 2 arguments, got 3." + "Error: [sin] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval var = auto_bucket(dateField, numberField, \"a\", \"a\")", - "error": [], + "query": "from a_index | eval var = sin(*)", + "error": [ + "Using wildcards (*) in sin is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval auto_bucket(dateField, numberField, \"a\", \"a\")", + "query": "from a_index | eval var = sinh(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval auto_bucket(dateField, numberField, stringField, stringField)", - "error": [ - "Argument of [auto_bucket] must be a constant, received [stringField]", - "Argument of [auto_bucket] must be a constant, received [stringField]" - ], - "warning": [] - }, - { - "query": "from a_index | eval var = auto_bucket(dateField, numberField, 5, 5)", + "query": "from a_index | eval sinh(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval auto_bucket(dateField, numberField, 5, 5)", + "query": "from a_index | eval var = sinh(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval auto_bucket(dateField, numberField, numberField, numberField)", + "query": "from a_index | eval sinh(stringField)", "error": [ - "Argument of [auto_bucket] must be a constant, received [numberField]", - "Argument of [auto_bucket] must be a constant, received [numberField]" + "Argument of [sinh] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = case(booleanField, stringField)", - "error": [], + "query": "from a_index | eval sinh(numberField, extraArg)", + "error": [ + "Error: [sinh] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval case(booleanField, stringField)", - "error": [], + "query": "from a_index | eval var = sinh(*)", + "error": [ + "Using wildcards (*) in sinh is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval var = ceil(numberField)", + "query": "from a_index | eval var = split(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval ceil(numberField)", + "query": "from a_index | eval split(stringField, stringField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = ceil(to_integer(stringField))", + "query": "from a_index | eval var = split(to_string(stringField), to_string(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval ceil(stringField)", - "error": [ - "Argument of [ceil] must be [number], found value [stringField] type [string]" - ], - "warning": [] - }, - { - "query": "from a_index | eval ceil(numberField, extraArg)", + "query": "from a_index | eval split(numberField, numberField)", "error": [ - "Error: [ceil] function expects exactly one argument, got 2." + "Argument of [split] must be [string], found value [numberField] type [number]", + "Argument of [split] must be [string], found value [numberField] type [number]" ], "warning": [] }, { - "query": "from a_index | eval var = ceil(*)", + "query": "from a_index | eval split(stringField, stringField, extraArg)", "error": [ - "Using wildcards (*) in ceil is not allowed" + "Error: [split] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = cidr_match(ipField, stringField)", + "query": "from a_index | eval var = sqrt(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval cidr_match(ipField, stringField)", + "query": "from a_index | eval sqrt(numberField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = cidr_match(to_ip(stringField), to_string(stringField))", + "query": "from a_index | eval var = sqrt(to_integer(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval cidr_match(stringField, numberField)", + "query": "from a_index | eval sqrt(stringField)", "error": [ - "Argument of [cidr_match] must be [ip], found value [stringField] type [string]", - "Argument of [cidr_match] must be [string], found value [numberField] type [number]" + "Argument of [sqrt] must be [number], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = coalesce(stringField)", - "error": [], + "query": "from a_index | eval sqrt(numberField, extraArg)", + "error": [ + "Error: [sqrt] function expects exactly one argument, got 2." + ], "warning": [] }, { - "query": "from a_index | eval coalesce(stringField)", - "error": [], + "query": "from a_index | eval var = sqrt(*)", + "error": [ + "Using wildcards (*) in sqrt is not allowed" + ], "warning": [] }, { - "query": "from a_index | eval var = concat(stringField, stringField)", + "query": "from a_index | eval var = st_contains(geoPointField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval concat(stringField, stringField)", + "query": "from a_index | eval st_contains(geoPointField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = concat(to_string(stringField), to_string(stringField))", + "query": "from a_index | eval var = st_contains(to_geopoint(stringField), to_geopoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval concat(numberField, numberField)", + "query": "from a_index | eval st_contains(stringField, stringField)", "error": [ - "Argument of [concat] must be [string], found value [numberField] type [number]" + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = cos(numberField)", - "error": [], + "query": "from a_index | eval st_contains(geoPointField, geoPointField, extraArg)", + "error": [ + "Error: [st_contains] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval cos(numberField)", + "query": "from a_index | eval var = st_contains(geoPointField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = cos(to_integer(stringField))", + "query": "from a_index | eval st_contains(geoPointField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval cos(stringField)", - "error": [ - "Argument of [cos] must be [number], found value [stringField] type [string]" - ], + "query": "from a_index | eval var = st_contains(to_geopoint(stringField), geoShapeField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval cos(numberField, extraArg)", + "query": "from a_index | eval st_contains(stringField, stringField)", "error": [ - "Error: [cos] function expects exactly one argument, got 2." + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = cos(*)", + "query": "from a_index | eval st_contains(geoPointField, geoShapeField, extraArg)", "error": [ - "Using wildcards (*) in cos is not allowed" + "Error: [st_contains] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = cosh(numberField)", + "query": "from a_index | eval var = st_contains(geoShapeField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval cosh(numberField)", + "query": "from a_index | eval st_contains(geoShapeField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = cosh(to_integer(stringField))", + "query": "from a_index | eval var = st_contains(geoShapeField, to_geopoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval cosh(stringField)", - "error": [ - "Argument of [cosh] must be [number], found value [stringField] type [string]" - ], - "warning": [] - }, - { - "query": "from a_index | eval cosh(numberField, extraArg)", + "query": "from a_index | eval st_contains(stringField, stringField)", "error": [ - "Error: [cosh] function expects exactly one argument, got 2." + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = cosh(*)", + "query": "from a_index | eval st_contains(geoShapeField, geoPointField, extraArg)", "error": [ - "Using wildcards (*) in cosh is not allowed" + "Error: [st_contains] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = date_extract(\"ALIGNED_DAY_OF_WEEK_IN_MONTH\", dateField)", + "query": "from a_index | eval var = st_contains(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval date_extract(\"ALIGNED_DAY_OF_WEEK_IN_MONTH\", dateField)", + "query": "from a_index | eval st_contains(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = date_extract(\"ALIGNED_DAY_OF_WEEK_IN_MONTH\", to_datetime(stringField))", + "query": "from a_index | eval var = st_contains(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval date_extract(stringField, stringField)", + "query": "from a_index | eval st_contains(stringField, stringField)", "error": [ - "Argument of [date_extract] must be [chrono_literal], found value [stringField] type [string]", - "Argument of [date_extract] must be [date], found value [stringField] type [string]" + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval date_extract(\"ALIGNED_DAY_OF_WEEK_IN_MONTH\", dateField, extraArg)", + "query": "from a_index | eval st_contains(geoShapeField, geoShapeField, extraArg)", "error": [ - "Error: [date_extract] function expects exactly 2 arguments, got 3." + "Error: [st_contains] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = date_format(dateField, stringField)", + "query": "from a_index | eval var = st_contains(cartesianPointField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval date_format(dateField, stringField)", + "query": "from a_index | eval st_contains(cartesianPointField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = date_format(to_datetime(stringField), to_string(stringField))", + "query": "from a_index | eval var = st_contains(to_cartesianpoint(stringField), to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval date_format(stringField, numberField)", + "query": "from a_index | eval st_contains(stringField, stringField)", "error": [ - "Argument of [date_format] must be [date], found value [stringField] type [string]", - "Argument of [date_format] must be [string], found value [numberField] type [number]" + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval date_format(dateField, stringField, extraArg)", + "query": "from a_index | eval st_contains(cartesianPointField, cartesianPointField, extraArg)", "error": [ - "Error: [date_format] function expects no more than 2 arguments, got 3." + "Error: [st_contains] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = date_parse(stringField, stringField)", + "query": "from a_index | eval var = st_contains(cartesianPointField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval date_parse(stringField, stringField)", + "query": "from a_index | eval st_contains(cartesianPointField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = date_parse(to_string(stringField), to_string(stringField))", + "query": "from a_index | eval var = st_contains(to_cartesianpoint(stringField), cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval date_parse(numberField, numberField)", + "query": "from a_index | eval st_contains(stringField, stringField)", "error": [ - "Argument of [date_parse] must be [string], found value [numberField] type [number]", - "Argument of [date_parse] must be [string], found value [numberField] type [number]" + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval date_parse(stringField, stringField, extraArg)", + "query": "from a_index | eval st_contains(cartesianPointField, cartesianShapeField, extraArg)", "error": [ - "Error: [date_parse] function expects exactly 2 arguments, got 3." + "Error: [st_contains] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = date_trunc(1 year, dateField)", + "query": "from a_index | eval var = st_contains(cartesianShapeField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval date_trunc(1 year, dateField)", + "query": "from a_index | eval st_contains(cartesianShapeField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = date_trunc(1 year, to_datetime(stringField))", + "query": "from a_index | eval var = st_contains(cartesianShapeField, to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval date_trunc(stringField, stringField)", + "query": "from a_index | eval st_contains(stringField, stringField)", "error": [ - "Argument of [date_trunc] must be [time_literal], found value [stringField] type [string]", - "Argument of [date_trunc] must be [date], found value [stringField] type [string]" + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval date_trunc(1 year, dateField, extraArg)", + "query": "from a_index | eval st_contains(cartesianShapeField, cartesianPointField, extraArg)", "error": [ - "Error: [date_trunc] function expects exactly 2 arguments, got 3." + "Error: [st_contains] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = e()", + "query": "from a_index | eval var = st_contains(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval e()", + "query": "from a_index | eval st_contains(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = e()", + "query": "from a_index | eval var = st_contains(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval e()", - "error": [], + "query": "from a_index | eval st_contains(stringField, stringField)", + "error": [ + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_contains] must be [geo_point], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval e(extraArg)", + "query": "from a_index | eval st_contains(cartesianShapeField, cartesianShapeField, extraArg)", "error": [ - "Error: [e] function expects exactly 0 arguments, got 1." + "Error: [st_contains] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = ends_with(stringField, stringField)", + "query": "from a_index | eval var = st_disjoint(geoPointField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval ends_with(stringField, stringField)", + "query": "from a_index | eval st_disjoint(geoPointField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = ends_with(to_string(stringField), to_string(stringField))", + "query": "from a_index | eval var = st_disjoint(to_geopoint(stringField), to_geopoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval ends_with(numberField, numberField)", + "query": "from a_index | eval st_disjoint(stringField, stringField)", "error": [ - "Argument of [ends_with] must be [string], found value [numberField] type [number]", - "Argument of [ends_with] must be [string], found value [numberField] type [number]" + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval ends_with(stringField, stringField, extraArg)", + "query": "from a_index | eval st_disjoint(geoPointField, geoPointField, extraArg)", "error": [ - "Error: [ends_with] function expects exactly 2 arguments, got 3." + "Error: [st_disjoint] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = floor(numberField)", + "query": "from a_index | eval var = st_disjoint(geoPointField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval floor(numberField)", + "query": "from a_index | eval st_disjoint(geoPointField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = floor(to_integer(stringField))", + "query": "from a_index | eval var = st_disjoint(to_geopoint(stringField), geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval floor(stringField)", + "query": "from a_index | eval st_disjoint(stringField, stringField)", "error": [ - "Argument of [floor] must be [number], found value [stringField] type [string]" + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval floor(numberField, extraArg)", + "query": "from a_index | eval st_disjoint(geoPointField, geoShapeField, extraArg)", "error": [ - "Error: [floor] function expects exactly one argument, got 2." + "Error: [st_disjoint] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = floor(*)", - "error": [ - "Using wildcards (*) in floor is not allowed" - ], + "query": "from a_index | eval var = st_disjoint(geoShapeField, geoPointField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = greatest(stringField)", + "query": "from a_index | eval st_disjoint(geoShapeField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval greatest(stringField)", + "query": "from a_index | eval var = st_disjoint(geoShapeField, to_geopoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval var = least(stringField)", - "error": [], + "query": "from a_index | eval st_disjoint(stringField, stringField)", + "error": [ + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval least(stringField)", - "error": [], + "query": "from a_index | eval st_disjoint(geoShapeField, geoPointField, extraArg)", + "error": [ + "Error: [st_disjoint] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval var = left(stringField, numberField)", + "query": "from a_index | eval var = st_disjoint(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval left(stringField, numberField)", + "query": "from a_index | eval st_disjoint(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = left(to_string(stringField), to_integer(stringField))", + "query": "from a_index | eval var = st_disjoint(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval left(numberField, stringField)", + "query": "from a_index | eval st_disjoint(stringField, stringField)", "error": [ - "Argument of [left] must be [string], found value [numberField] type [number]", - "Argument of [left] must be [number], found value [stringField] type [string]" + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval left(stringField, numberField, extraArg)", + "query": "from a_index | eval st_disjoint(geoShapeField, geoShapeField, extraArg)", "error": [ - "Error: [left] function expects exactly 2 arguments, got 3." + "Error: [st_disjoint] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = length(stringField)", + "query": "from a_index | eval var = st_disjoint(cartesianPointField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval length(stringField)", + "query": "from a_index | eval st_disjoint(cartesianPointField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = length(to_string(stringField))", + "query": "from a_index | eval var = st_disjoint(to_cartesianpoint(stringField), to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval length(numberField)", - "error": [ - "Argument of [length] must be [string], found value [numberField] type [number]" - ], - "warning": [] - }, - { - "query": "from a_index | eval length(stringField, extraArg)", + "query": "from a_index | eval st_disjoint(stringField, stringField)", "error": [ - "Error: [length] function expects exactly one argument, got 2." + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = length(*)", + "query": "from a_index | eval st_disjoint(cartesianPointField, cartesianPointField, extraArg)", "error": [ - "Using wildcards (*) in length is not allowed" + "Error: [st_disjoint] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = log(numberField, numberField)", + "query": "from a_index | eval var = st_disjoint(cartesianPointField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval log(numberField, numberField)", + "query": "from a_index | eval st_disjoint(cartesianPointField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = log(to_integer(stringField), to_integer(stringField))", + "query": "from a_index | eval var = st_disjoint(to_cartesianpoint(stringField), cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval log(stringField, stringField)", + "query": "from a_index | eval st_disjoint(stringField, stringField)", "error": [ - "Argument of [log] must be [number], found value [stringField] type [string]", - "Argument of [log] must be [number], found value [stringField] type [string]" + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval log(numberField, numberField, extraArg)", + "query": "from a_index | eval st_disjoint(cartesianPointField, cartesianShapeField, extraArg)", "error": [ - "Error: [log] function expects no more than 2 arguments, got 3." + "Error: [st_disjoint] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = log10(numberField)", + "query": "from a_index | eval var = st_disjoint(cartesianShapeField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval log10(numberField)", + "query": "from a_index | eval st_disjoint(cartesianShapeField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = log10(to_integer(stringField))", + "query": "from a_index | eval var = st_disjoint(cartesianShapeField, to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval log10(stringField)", - "error": [ - "Argument of [log10] must be [number], found value [stringField] type [string]" - ], - "warning": [] - }, - { - "query": "from a_index | eval log10(numberField, extraArg)", + "query": "from a_index | eval st_disjoint(stringField, stringField)", "error": [ - "Error: [log10] function expects exactly one argument, got 2." + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = log10(*)", + "query": "from a_index | eval st_disjoint(cartesianShapeField, cartesianPointField, extraArg)", "error": [ - "Using wildcards (*) in log10 is not allowed" + "Error: [st_disjoint] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = ltrim(stringField)", + "query": "from a_index | eval var = st_disjoint(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval ltrim(stringField)", + "query": "from a_index | eval st_disjoint(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = ltrim(to_string(stringField))", + "query": "from a_index | eval var = st_disjoint(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval ltrim(numberField)", - "error": [ - "Argument of [ltrim] must be [string], found value [numberField] type [number]" - ], - "warning": [] - }, - { - "query": "from a_index | eval ltrim(stringField, extraArg)", + "query": "from a_index | eval st_disjoint(stringField, stringField)", "error": [ - "Error: [ltrim] function expects exactly one argument, got 2." + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_disjoint] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = ltrim(*)", + "query": "from a_index | eval st_disjoint(cartesianShapeField, cartesianShapeField, extraArg)", "error": [ - "Using wildcards (*) in ltrim is not allowed" + "Error: [st_disjoint] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = mv_avg(numberField)", + "query": "from a_index | eval var = st_intersects(geoPointField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_avg(numberField)", + "query": "from a_index | eval st_intersects(geoPointField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_avg(to_integer(stringField))", + "query": "from a_index | eval var = st_intersects(to_geopoint(stringField), to_geopoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_avg(stringField)", - "error": [ - "Argument of [mv_avg] must be [number], found value [stringField] type [string]" - ], - "warning": [] - }, - { - "query": "from a_index | eval mv_avg(numberField, extraArg)", + "query": "from a_index | eval st_intersects(stringField, stringField)", "error": [ - "Error: [mv_avg] function expects exactly one argument, got 2." + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = mv_avg(*)", + "query": "from a_index | eval st_intersects(geoPointField, geoPointField, extraArg)", "error": [ - "Using wildcards (*) in mv_avg is not allowed" + "Error: [st_intersects] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = mv_concat(stringField, stringField)", + "query": "from a_index | eval var = st_intersects(geoPointField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_concat(stringField, stringField)", + "query": "from a_index | eval st_intersects(geoPointField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_concat(to_string(stringField), to_string(stringField))", + "query": "from a_index | eval var = st_intersects(to_geopoint(stringField), geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_concat(numberField, numberField)", + "query": "from a_index | eval st_intersects(stringField, stringField)", "error": [ - "Argument of [mv_concat] must be [string], found value [numberField] type [number]", - "Argument of [mv_concat] must be [string], found value [numberField] type [number]" + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval mv_concat(stringField, stringField, extraArg)", + "query": "from a_index | eval st_intersects(geoPointField, geoShapeField, extraArg)", "error": [ - "Error: [mv_concat] function expects exactly 2 arguments, got 3." + "Error: [st_intersects] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = mv_count(stringField)", + "query": "from a_index | eval var = st_intersects(geoShapeField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_count(stringField)", + "query": "from a_index | eval st_intersects(geoShapeField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_count(*)", - "error": [ - "Using wildcards (*) in mv_count is not allowed" - ], - "warning": [] - }, - { - "query": "from a_index | eval var = mv_dedupe(stringField)", + "query": "from a_index | eval var = st_intersects(geoShapeField, to_geopoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_dedupe(stringField)", - "error": [], + "query": "from a_index | eval st_intersects(stringField, stringField)", + "error": [ + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval var = mv_dedupe(*)", + "query": "from a_index | eval st_intersects(geoShapeField, geoPointField, extraArg)", "error": [ - "Using wildcards (*) in mv_dedupe is not allowed" + "Error: [st_intersects] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = mv_first(stringField)", + "query": "from a_index | eval var = st_intersects(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_first(stringField)", + "query": "from a_index | eval st_intersects(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_first(*)", + "query": "from a_index | eval var = st_intersects(geoShapeField, geoShapeField)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval st_intersects(stringField, stringField)", "error": [ - "Using wildcards (*) in mv_first is not allowed" + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = mv_last(stringField)", - "error": [], + "query": "from a_index | eval st_intersects(geoShapeField, geoShapeField, extraArg)", + "error": [ + "Error: [st_intersects] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval mv_last(stringField)", + "query": "from a_index | eval var = st_intersects(cartesianPointField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_last(*)", - "error": [ - "Using wildcards (*) in mv_last is not allowed" - ], + "query": "from a_index | eval st_intersects(cartesianPointField, cartesianPointField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_max(stringField)", + "query": "from a_index | eval var = st_intersects(to_cartesianpoint(stringField), to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_max(stringField)", - "error": [], + "query": "from a_index | eval st_intersects(stringField, stringField)", + "error": [ + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval var = mv_max(*)", + "query": "from a_index | eval st_intersects(cartesianPointField, cartesianPointField, extraArg)", "error": [ - "Using wildcards (*) in mv_max is not allowed" + "Error: [st_intersects] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = mv_median(numberField)", + "query": "from a_index | eval var = st_intersects(cartesianPointField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_median(numberField)", + "query": "from a_index | eval st_intersects(cartesianPointField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_median(to_integer(stringField))", + "query": "from a_index | eval var = st_intersects(to_cartesianpoint(stringField), cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_median(stringField)", + "query": "from a_index | eval st_intersects(stringField, stringField)", "error": [ - "Argument of [mv_median] must be [number], found value [stringField] type [string]" + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval mv_median(numberField, extraArg)", + "query": "from a_index | eval st_intersects(cartesianPointField, cartesianShapeField, extraArg)", "error": [ - "Error: [mv_median] function expects exactly one argument, got 2." + "Error: [st_intersects] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = mv_median(*)", - "error": [ - "Using wildcards (*) in mv_median is not allowed" - ], + "query": "from a_index | eval var = st_intersects(cartesianShapeField, cartesianPointField)", + "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_min(stringField)", + "query": "from a_index | eval st_intersects(cartesianShapeField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_min(stringField)", + "query": "from a_index | eval var = st_intersects(cartesianShapeField, to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_min(*)", + "query": "from a_index | eval st_intersects(stringField, stringField)", "error": [ - "Using wildcards (*) in mv_min is not allowed" + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = mv_sort(stringField, \"asc\")", - "error": [], + "query": "from a_index | eval st_intersects(cartesianShapeField, cartesianPointField, extraArg)", + "error": [ + "Error: [st_intersects] function expects exactly 2 arguments, got 3." + ], "warning": [] }, { - "query": "from a_index | eval mv_sort(stringField, \"asc\")", + "query": "from a_index | eval var = st_intersects(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_sum(numberField)", + "query": "from a_index | eval st_intersects(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval mv_sum(numberField)", + "query": "from a_index | eval var = st_intersects(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = mv_sum(to_integer(stringField))", - "error": [], + "query": "from a_index | eval st_intersects(stringField, stringField)", + "error": [ + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_intersects] must be [geo_point], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval mv_sum(stringField)", + "query": "from a_index | eval st_intersects(cartesianShapeField, cartesianShapeField, extraArg)", "error": [ - "Argument of [mv_sum] must be [number], found value [stringField] type [string]" + "Error: [st_intersects] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval mv_sum(numberField, extraArg)", + "query": "from a_index | eval var = st_within(geoPointField, geoPointField)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval st_within(geoPointField, geoPointField)", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval var = st_within(to_geopoint(stringField), to_geopoint(stringField))", + "error": [], + "warning": [] + }, + { + "query": "from a_index | eval st_within(stringField, stringField)", "error": [ - "Error: [mv_sum] function expects exactly one argument, got 2." + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = mv_sum(*)", + "query": "from a_index | eval st_within(geoPointField, geoPointField, extraArg)", "error": [ - "Using wildcards (*) in mv_sum is not allowed" + "Error: [st_within] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = now()", + "query": "from a_index | eval var = st_within(geoPointField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval now()", + "query": "from a_index | eval st_within(geoPointField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = now()", + "query": "from a_index | eval var = st_within(to_geopoint(stringField), geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval now()", - "error": [], + "query": "from a_index | eval st_within(stringField, stringField)", + "error": [ + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval now(extraArg)", + "query": "from a_index | eval st_within(geoPointField, geoShapeField, extraArg)", "error": [ - "Error: [now] function expects exactly 0 arguments, got 1." + "Error: [st_within] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = pi()", + "query": "from a_index | eval var = st_within(geoShapeField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval pi()", + "query": "from a_index | eval st_within(geoShapeField, geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = pi()", + "query": "from a_index | eval var = st_within(geoShapeField, to_geopoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval pi()", - "error": [], + "query": "from a_index | eval st_within(stringField, stringField)", + "error": [ + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]" + ], "warning": [] }, { - "query": "from a_index | eval pi(extraArg)", + "query": "from a_index | eval st_within(geoShapeField, geoPointField, extraArg)", "error": [ - "Error: [pi] function expects exactly 0 arguments, got 1." + "Error: [st_within] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = pow(numberField, numberField)", + "query": "from a_index | eval var = st_within(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval pow(numberField, numberField)", + "query": "from a_index | eval st_within(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = pow(to_integer(stringField), to_integer(stringField))", + "query": "from a_index | eval var = st_within(geoShapeField, geoShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval pow(stringField, stringField)", + "query": "from a_index | eval st_within(stringField, stringField)", "error": [ - "Argument of [pow] must be [number], found value [stringField] type [string]", - "Argument of [pow] must be [number], found value [stringField] type [string]" + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval pow(numberField, numberField, extraArg)", + "query": "from a_index | eval st_within(geoShapeField, geoShapeField, extraArg)", "error": [ - "Error: [pow] function expects exactly 2 arguments, got 3." + "Error: [st_within] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = replace(stringField, stringField, stringField)", + "query": "from a_index | eval var = st_within(cartesianPointField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval replace(stringField, stringField, stringField)", + "query": "from a_index | eval st_within(cartesianPointField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = replace(to_string(stringField), to_string(stringField), to_string(stringField))", + "query": "from a_index | eval var = st_within(to_cartesianpoint(stringField), to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval replace(numberField, numberField, numberField)", + "query": "from a_index | eval st_within(stringField, stringField)", "error": [ - "Argument of [replace] must be [string], found value [numberField] type [number]", - "Argument of [replace] must be [string], found value [numberField] type [number]", - "Argument of [replace] must be [string], found value [numberField] type [number]" + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval replace(stringField, stringField, stringField, extraArg)", + "query": "from a_index | eval st_within(cartesianPointField, cartesianPointField, extraArg)", "error": [ - "Error: [replace] function expects exactly 3 arguments, got 4." + "Error: [st_within] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = right(stringField, numberField)", + "query": "from a_index | eval var = st_within(cartesianPointField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval right(stringField, numberField)", + "query": "from a_index | eval st_within(cartesianPointField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = right(to_string(stringField), to_integer(stringField))", + "query": "from a_index | eval var = st_within(to_cartesianpoint(stringField), cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval right(numberField, stringField)", + "query": "from a_index | eval st_within(stringField, stringField)", "error": [ - "Argument of [right] must be [string], found value [numberField] type [number]", - "Argument of [right] must be [number], found value [stringField] type [string]" + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval right(stringField, numberField, extraArg)", + "query": "from a_index | eval st_within(cartesianPointField, cartesianShapeField, extraArg)", "error": [ - "Error: [right] function expects exactly 2 arguments, got 3." + "Error: [st_within] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = round(numberField, numberField)", + "query": "from a_index | eval var = st_within(cartesianShapeField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval round(numberField, numberField)", + "query": "from a_index | eval st_within(cartesianShapeField, cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = round(to_integer(stringField), to_integer(stringField))", + "query": "from a_index | eval var = st_within(cartesianShapeField, to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval round(stringField, stringField)", + "query": "from a_index | eval st_within(stringField, stringField)", "error": [ - "Argument of [round] must be [number], found value [stringField] type [string]", - "Argument of [round] must be [number], found value [stringField] type [string]" + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval round(numberField, numberField, extraArg)", + "query": "from a_index | eval st_within(cartesianShapeField, cartesianPointField, extraArg)", "error": [ - "Error: [round] function expects no more than 2 arguments, got 3." + "Error: [st_within] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = rtrim(stringField)", + "query": "from a_index | eval var = st_within(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval rtrim(stringField)", + "query": "from a_index | eval st_within(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = rtrim(to_string(stringField))", + "query": "from a_index | eval var = st_within(cartesianShapeField, cartesianShapeField)", "error": [], "warning": [] }, { - "query": "from a_index | eval rtrim(numberField)", - "error": [ - "Argument of [rtrim] must be [string], found value [numberField] type [number]" - ], - "warning": [] - }, - { - "query": "from a_index | eval rtrim(stringField, extraArg)", + "query": "from a_index | eval st_within(stringField, stringField)", "error": [ - "Error: [rtrim] function expects exactly one argument, got 2." + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]", + "Argument of [st_within] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval var = rtrim(*)", + "query": "from a_index | eval st_within(cartesianShapeField, cartesianShapeField, extraArg)", "error": [ - "Using wildcards (*) in rtrim is not allowed" + "Error: [st_within] function expects exactly 2 arguments, got 3." ], "warning": [] }, { - "query": "from a_index | eval var = sin(numberField)", + "query": "from a_index | eval var = st_x(geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval sin(numberField)", + "query": "from a_index | eval st_x(geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = sin(to_integer(stringField))", + "query": "from a_index | eval var = st_x(to_geopoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval sin(stringField)", + "query": "from a_index | eval st_x(stringField)", "error": [ - "Argument of [sin] must be [number], found value [stringField] type [string]" + "Argument of [st_x] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval sin(numberField, extraArg)", + "query": "from a_index | eval st_x(geoPointField, extraArg)", "error": [ - "Error: [sin] function expects exactly one argument, got 2." + "Error: [st_x] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval var = sin(*)", + "query": "from a_index | eval var = st_x(*)", "error": [ - "Using wildcards (*) in sin is not allowed" + "Using wildcards (*) in st_x is not allowed" ], "warning": [] }, { - "query": "from a_index | eval var = sinh(numberField)", + "query": "from a_index | eval var = st_x(cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval sinh(numberField)", + "query": "from a_index | eval st_x(cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = sinh(to_integer(stringField))", + "query": "from a_index | eval var = st_x(to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval sinh(stringField)", + "query": "from a_index | eval st_x(stringField)", "error": [ - "Argument of [sinh] must be [number], found value [stringField] type [string]" + "Argument of [st_x] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval sinh(numberField, extraArg)", + "query": "from a_index | eval st_x(cartesianPointField, extraArg)", "error": [ - "Error: [sinh] function expects exactly one argument, got 2." + "Error: [st_x] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval var = sinh(*)", + "query": "from a_index | eval var = st_x(*)", "error": [ - "Using wildcards (*) in sinh is not allowed" + "Using wildcards (*) in st_x is not allowed" ], "warning": [] }, { - "query": "from a_index | eval var = split(stringField, stringField)", + "query": "from a_index | eval var = st_y(geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval split(stringField, stringField)", + "query": "from a_index | eval st_y(geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = split(to_string(stringField), to_string(stringField))", + "query": "from a_index | eval var = st_y(to_geopoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval split(numberField, numberField)", + "query": "from a_index | eval st_y(stringField)", "error": [ - "Argument of [split] must be [string], found value [numberField] type [number]", - "Argument of [split] must be [string], found value [numberField] type [number]" + "Argument of [st_y] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval split(stringField, stringField, extraArg)", + "query": "from a_index | eval st_y(geoPointField, extraArg)", "error": [ - "Error: [split] function expects exactly 2 arguments, got 3." + "Error: [st_y] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval var = sqrt(numberField)", + "query": "from a_index | eval var = st_y(*)", + "error": [ + "Using wildcards (*) in st_y is not allowed" + ], + "warning": [] + }, + { + "query": "from a_index | eval var = st_y(cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval sqrt(numberField)", + "query": "from a_index | eval st_y(cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | eval var = sqrt(to_integer(stringField))", + "query": "from a_index | eval var = st_y(to_cartesianpoint(stringField))", "error": [], "warning": [] }, { - "query": "from a_index | eval sqrt(stringField)", + "query": "from a_index | eval st_y(stringField)", "error": [ - "Argument of [sqrt] must be [number], found value [stringField] type [string]" + "Argument of [st_y] must be [geo_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | eval sqrt(numberField, extraArg)", + "query": "from a_index | eval st_y(cartesianPointField, extraArg)", "error": [ - "Error: [sqrt] function expects exactly one argument, got 2." + "Error: [st_y] function expects exactly one argument, got 2." ], "warning": [] }, { - "query": "from a_index | eval var = sqrt(*)", + "query": "from a_index | eval var = st_y(*)", "error": [ - "Using wildcards (*) in sqrt is not allowed" + "Using wildcards (*) in st_y is not allowed" ], "warning": [] }, @@ -10611,6 +12957,44 @@ ], "warning": [] }, + { + "query": "from index | eval bucket(dateField, abs(numberField), \"\", \"\")", + "error": [ + "Argument of [bucket] must be a constant, received [abs(numberField)]" + ], + "warning": [] + }, + { + "query": "from index | eval bucket(dateField, abs(length(numberField)), \"\", \"\")", + "error": [ + "Argument of [bucket] must be a constant, received [abs(length(numberField))]" + ], + "warning": [] + }, + { + "query": "from index | eval bucket(dateField, pi(), \"\", \"\")", + "error": [], + "warning": [] + }, + { + "query": "from index | eval bucket(dateField, 1 + 30 / 10, \"\", \"\")", + "error": [], + "warning": [] + }, + { + "query": "from index | eval bucket(dateField, 1 + 30 / 10, concat(\"\", \"\"), \"\")", + "error": [], + "warning": [] + }, + { + "query": "from index | eval bucket(dateField, numberField, stringField, stringField)", + "error": [ + "Argument of [bucket] must be a constant, received [numberField]", + "Argument of [bucket] must be a constant, received [stringField]", + "Argument of [bucket] must be a constant, received [stringField]" + ], + "warning": [] + }, { "query": "from a_index | stats ", "error": [ @@ -12157,78 +14541,78 @@ "warning": [] }, { - "query": "from a_index | stats var = st_centroid(cartesianPointField)", + "query": "from a_index | stats var = st_centroid_agg(cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | stats st_centroid(cartesianPointField)", + "query": "from a_index | stats st_centroid_agg(cartesianPointField)", "error": [], "warning": [] }, { - "query": "from a_index | stats var = st_centroid(avg(numberField))", + "query": "from a_index | stats var = st_centroid_agg(avg(numberField))", "error": [ "Aggregate function's parameters must be an attribute, literal or a non-aggregation function; found [avg(numberField)] of type [number]" ], "warning": [] }, { - "query": "from a_index | stats st_centroid(avg(numberField))", + "query": "from a_index | stats st_centroid_agg(avg(numberField))", "error": [ "Aggregate function's parameters must be an attribute, literal or a non-aggregation function; found [avg(numberField)] of type [number]" ], "warning": [] }, { - "query": "from a_index | stats st_centroid(stringField)", + "query": "from a_index | stats st_centroid_agg(stringField)", "error": [ - "Argument of [st_centroid] must be [cartesian_point], found value [stringField] type [string]" + "Argument of [st_centroid_agg] must be [cartesian_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | stats var = st_centroid(*)", + "query": "from a_index | stats var = st_centroid_agg(*)", "error": [ - "Using wildcards (*) in st_centroid is not allowed" + "Using wildcards (*) in st_centroid_agg is not allowed" ], "warning": [] }, { - "query": "from a_index | stats var = st_centroid(geoPointField)", + "query": "from a_index | stats var = st_centroid_agg(geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | stats st_centroid(geoPointField)", + "query": "from a_index | stats st_centroid_agg(geoPointField)", "error": [], "warning": [] }, { - "query": "from a_index | stats var = st_centroid(avg(numberField))", + "query": "from a_index | stats var = st_centroid_agg(avg(numberField))", "error": [ "Aggregate function's parameters must be an attribute, literal or a non-aggregation function; found [avg(numberField)] of type [number]" ], "warning": [] }, { - "query": "from a_index | stats st_centroid(avg(numberField))", + "query": "from a_index | stats st_centroid_agg(avg(numberField))", "error": [ "Aggregate function's parameters must be an attribute, literal or a non-aggregation function; found [avg(numberField)] of type [number]" ], "warning": [] }, { - "query": "from a_index | stats st_centroid(stringField)", + "query": "from a_index | stats st_centroid_agg(stringField)", "error": [ - "Argument of [st_centroid] must be [cartesian_point], found value [stringField] type [string]" + "Argument of [st_centroid_agg] must be [cartesian_point], found value [stringField] type [string]" ], "warning": [] }, { - "query": "from a_index | stats var = st_centroid(*)", + "query": "from a_index | stats var = st_centroid_agg(*)", "error": [ - "Using wildcards (*) in st_centroid is not allowed" + "Using wildcards (*) in st_centroid_agg is not allowed" ], "warning": [] }, diff --git a/packages/kbn-esql-validation-autocomplete/src/validation/validation.test.ts b/packages/kbn-esql-validation-autocomplete/src/validation/validation.test.ts index 0e48e60b9cc3d..42748a62be92f 100644 --- a/packages/kbn-esql-validation-autocomplete/src/validation/validation.test.ts +++ b/packages/kbn-esql-validation-autocomplete/src/validation/validation.test.ts @@ -19,7 +19,17 @@ import { camelCase } from 'lodash'; import { getAstAndSyntaxErrors } from '@kbn/esql-ast'; import { nonNullable } from '../shared/helpers'; -const fieldTypes = ['number', 'date', 'boolean', 'ip', 'string', 'cartesian_point', 'geo_point']; +const fieldTypes = [ + 'number', + 'date', + 'boolean', + 'ip', + 'string', + 'cartesian_point', + 'cartesian_shape', + 'geo_point', + 'geo_shape', +]; const fields = [ ...fieldTypes.map((type) => ({ name: `${camelCase(type)}Field`, type })), { name: 'any#Char$Field', type: 'number' }, @@ -163,8 +173,9 @@ function getFieldMapping( const literalValues = { string: `"a"`, number: '5', + date: 'now()', }; - return params.map(({ name: _name, type, literalOnly, literalOptions, ...rest }) => { + return params.map(({ name: _name, type, constantOnly, literalOptions, ...rest }) => { const typeString: string = type; if (fieldTypes.includes(typeString)) { if (useLiterals && literalOptions) { @@ -176,7 +187,7 @@ function getFieldMapping( } const fieldName = - literalOnly && typeString in literalValues + constantOnly && typeString in literalValues ? literalValues[typeString as keyof typeof literalValues]! : getFieldName(typeString, { useNestedFunction, @@ -217,10 +228,15 @@ function generateIncorrectlyTypedParameters( number: '5', }; const wrongFieldMapping = currentParams.map( - ({ name: _name, literalOnly, literalOptions, type, ...rest }, i) => { + ({ name: _name, constantOnly, literalOptions, type, ...rest }, i) => { // this thing is complex enough, let's not make it harder for constants - if (literalOnly) { - return { name: literalValues[type as keyof typeof literalValues], type, ...rest }; + if (constantOnly) { + return { + name: literalValues[type as keyof typeof literalValues], + type, + wrong: false, + ...rest, + }; } const canBeFieldButNotString = Boolean( fieldTypes.filter((t) => t !== 'string').includes(type) && @@ -237,7 +253,7 @@ function generateIncorrectlyTypedParameters( : canBeFieldButNotNumber ? values.numberField : values.booleanField; - return { name: nameValue, type, ...rest }; + return { name: nameValue, type, wrong: true, ...rest }; } ); @@ -247,8 +263,28 @@ function generateIncorrectlyTypedParameters( [values.booleanField]: 'boolean', }; - const expectedErrors = signatures[0].params - .filter(({ literalOnly }) => !literalOnly) + // Try to predict which signature will be used to generate the errors + // in the validation engine. The validator currently uses the signature + // which generates the fewest errors. + // + // Approximate this by finding the signature that best matches the INCORRECT field mapping + // + // This is not future-proof... + const misMatchesBySignature = signatures.map(({ params: fnParams }) => { + const typeMatches = fnParams.map(({ type }, i) => { + if (wrongFieldMapping[i].wrong) { + const typeFromIncorrectMapping = generatedFieldTypes[wrongFieldMapping[i].name]; + return type === typeFromIncorrectMapping; + } + return type === wrongFieldMapping[i].type; + }); + return typeMatches.filter((t) => !t).length; + })!; + const signatureToUse = + signatures[misMatchesBySignature.indexOf(Math.min(...misMatchesBySignature))]!; + + const expectedErrors = signatureToUse.params + .filter(({ constantOnly }) => !constantOnly) .map(({ type }, i) => { const fieldName = wrongFieldMapping[i].name; if ( @@ -538,7 +574,11 @@ describe('validation logic', () => { .replace(/stringField/g, '"a"') .replace(/dateField/g, 'now()') .replace(/booleanField/g, 'true') - .replace(/ipField/g, 'to_ip("127.0.0.1")'); + .replace(/ipField/g, 'to_ip("127.0.0.1")') + .replace(/geoPointField/g, 'to_geopoint("POINT (30 10)")') + .replace(/geoShapeField/g, 'to_geoshape("POINT (30 10)")') + .replace(/cartesianPointField/g, 'to_cartesianpoint("POINT (30 10)")') + .replace(/cartesianShapeField/g, 'to_cartesianshape("POINT (30 10)")'); } for (const { name, alias, signatures, ...defRest } of evalFunctionsDefinitions) { @@ -572,11 +612,11 @@ describe('validation logic', () => { } // Skip functions that have only arguments of type "any", as it is not possible to pass "the wrong type". - // auto_bucket and to_version functions are a bit harder to test exactly a combination of argument and predict the + // bucket and to_version functions are a bit harder to test exactly a combination of argument and predict the // the right error message if ( params.every(({ type }) => type !== 'any') && - !['auto_bucket', 'to_version', 'mv_sort'].includes(name) + !['bucket', 'to_version', 'mv_sort'].includes(name) ) { // now test nested functions const fieldMappingWithNestedFunctions = getFieldMapping(params, { @@ -1186,16 +1226,12 @@ describe('validation logic', () => { }); for (const { name, signatures, ...rest } of numericOrStringFunctions) { const supportedSignatures = signatures.filter(({ returnType }) => + // TODO — not sure why the tests have this limitation... seems like any type + // that can be part of a boolean expression should be allowed in a where clause ['number', 'string'].includes(returnType) ); for (const { params, returnType, ...restSign } of supportedSignatures) { - const correctMapping = params - .filter(({ optional }) => !optional) - .map(({ type }) => - ['number', 'string'].includes(Array.isArray(type) ? type.join(', ') : type) - ? { name: `${type}Field`, type } - : { name: `numberField`, type } - ); + const correctMapping = getFieldMapping(params); testErrorsAndWarnings( `from a_index | where ${returnType !== 'number' ? 'length(' : ''}${ // hijacking a bit this function to produce a function call @@ -1412,15 +1448,15 @@ describe('validation logic', () => { }`, [] ); - if (params.some(({ literalOnly }) => literalOnly)) { + if (params.some(({ constantOnly }) => constantOnly)) { const fieldReplacedType = params - .filter(({ literalOnly }) => literalOnly) + .filter(({ constantOnly }) => constantOnly) .map(({ type }) => type); // create the mapping without the literal flag // this will make the signature wrong on purpose where in place on constants // the arg will be a column of the same type const fieldMappingWithoutLiterals = getFieldMapping( - params.map(({ literalOnly, ...rest }) => rest) + params.map(({ constantOnly, ...rest }) => rest) ); testErrorsAndWarnings( `from a_index | eval ${ @@ -1455,11 +1491,11 @@ describe('validation logic', () => { } // Skip functions that have only arguments of type "any", as it is not possible to pass "the wrong type". - // auto_bucket and to_version functions are a bit harder to test exactly a combination of argument and predict the + // bucket and to_version functions are a bit harder to test exactly a combination of argument and predict the // the right error message if ( params.every(({ type }) => type !== 'any') && - !['auto_bucket', 'to_version', 'mv_sort'].includes(name) + !['bucket', 'to_version', 'mv_sort'].includes(name) ) { // now test nested functions const fieldMappingWithNestedFunctions = getFieldMapping(params, { @@ -1753,6 +1789,30 @@ describe('validation logic', () => { } } }); + + describe('constant-only parameters', () => { + testErrorsAndWarnings('from index | eval bucket(dateField, abs(numberField), "", "")', [ + 'Argument of [bucket] must be a constant, received [abs(numberField)]', + ]); + testErrorsAndWarnings( + 'from index | eval bucket(dateField, abs(length(numberField)), "", "")', + ['Argument of [bucket] must be a constant, received [abs(length(numberField))]'] + ); + testErrorsAndWarnings('from index | eval bucket(dateField, pi(), "", "")', []); + testErrorsAndWarnings('from index | eval bucket(dateField, 1 + 30 / 10, "", "")', []); + testErrorsAndWarnings( + 'from index | eval bucket(dateField, 1 + 30 / 10, concat("", ""), "")', + [] + ); + testErrorsAndWarnings( + 'from index | eval bucket(dateField, numberField, stringField, stringField)', + [ + 'Argument of [bucket] must be a constant, received [numberField]', + 'Argument of [bucket] must be a constant, received [stringField]', + 'Argument of [bucket] must be a constant, received [stringField]', + ] + ); + }); }); describe('stats', () => { @@ -1963,15 +2023,15 @@ describe('validation logic', () => { ); } - if (params.some(({ literalOnly }) => literalOnly)) { + if (params.some(({ constantOnly }) => constantOnly)) { const fieldReplacedType = params - .filter(({ literalOnly }) => literalOnly) + .filter(({ constantOnly }) => constantOnly) .map(({ type }) => type); // create the mapping without the literal flag // this will make the signature wrong on purpose where in place on constants // the arg will be a column of the same type const fieldMappingWithoutLiterals = getFieldMapping( - params.map(({ literalOnly, ...rest }) => rest) + params.map(({ constantOnly, ...rest }) => rest) ); testErrorsAndWarnings( `from a_index | stats ${ @@ -2093,11 +2153,11 @@ describe('validation logic', () => { } // Skip functions that have only arguments of type "any", as it is not possible to pass "the wrong type". - // auto_bucket and to_version functions are a bit harder to test exactly a combination of argument and predict the + // bucket and to_version functions are a bit harder to test exactly a combination of argument and predict the // the right error message if ( params.every(({ type }) => type !== 'any') && - !['auto_bucket', 'to_version', 'mv_sort'].includes(name) + !['bucket', 'to_version', 'mv_sort'].includes(name) ) { // now test nested functions const fieldMappingWithNestedAggsFunctions = getFieldMapping(params, { @@ -2105,7 +2165,7 @@ describe('validation logic', () => { useLiterals: false, }); const nestedAggsExpectedErrors = params - .filter(({ literalOnly }) => !literalOnly) + .filter(({ constantOnly }) => !constantOnly) .map( (_) => `Aggregate function's parameters must be an attribute, literal or a non-aggregation function; found [avg(numberField)] of type [number]` diff --git a/packages/kbn-esql-validation-autocomplete/src/validation/validation.ts b/packages/kbn-esql-validation-autocomplete/src/validation/validation.ts index 3d508dc93389f..bfa5d6fc9cb64 100644 --- a/packages/kbn-esql-validation-autocomplete/src/validation/validation.ts +++ b/packages/kbn-esql-validation-autocomplete/src/validation/validation.ts @@ -204,7 +204,7 @@ function validateFunctionColumnArg( if (actualArg.name) { const { hit: columnCheck, nameHit } = columnExists(actualArg, references); if (!columnCheck) { - if (argDef.literalOnly) { + if (argDef.constantOnly) { messages.push( getMessageFromId({ messageId: 'expectedConstant', @@ -227,7 +227,7 @@ function validateFunctionColumnArg( ); } } else { - if (argDef.literalOnly) { + if (argDef.constantOnly) { messages.push( getMessageFromId({ messageId: 'expectedConstant', @@ -297,6 +297,7 @@ function validateFunction( parentCommand: string, parentOption: string | undefined, references: ReferenceMaps, + forceConstantOnly: boolean = false, isNested?: boolean ): ESQLMessage[] { const messages: ESQLMessage[] = []; @@ -395,21 +396,58 @@ function validateFunction( } } // now perform the same check on all functions args - for (const arg of astFunction.args) { + for (let i = 0; i < astFunction.args.length; i++) { + const arg = astFunction.args[i]; + + const allMatchingArgDefinitionsAreConstantOnly = matchingSignatures.every((signature) => { + return signature.params[i]?.constantOnly; + }); const wrappedArray = Array.isArray(arg) ? arg : [arg]; for (const subArg of wrappedArray) { if (isFunctionItem(subArg)) { - messages.push( - ...validateFunction( - subArg, - parentCommand, - parentOption, - references, - // use the nesting flag for now just for stats - // TODO: revisit this part later on to make it more generic - parentCommand === 'stats' ? isNested || !isAssignment(astFunction) : false - ) + const messagesFromArg = validateFunction( + subArg, + parentCommand, + parentOption, + references, + /** + * The constantOnly constraint needs to be enforced for arguments that + * are functions as well, regardless of whether the definition for the + * sub function's arguments includes the constantOnly flag. + * + * Example: + * bucket(@timestamp, abs(bytes), "", "") + * + * In the above example, the abs function is not defined with the + * constantOnly flag, but the second parameter in bucket _is_ defined + * with the constantOnly flag. + * + * Because of this, the abs function's arguments inherit the constraint + * and each should be validated as if each were constantOnly. + */ + allMatchingArgDefinitionsAreConstantOnly || forceConstantOnly, + // use the nesting flag for now just for stats + // TODO: revisit this part later on to make it more generic + parentCommand === 'stats' ? isNested || !isAssignment(astFunction) : false ); + + if (messagesFromArg.some(({ code }) => code === 'expectedConstant')) { + const consolidatedMessage = getMessageFromId({ + messageId: 'expectedConstant', + values: { + fn: astFunction.name, + given: subArg.text, + }, + locations: subArg.location, + }); + + messages.push( + consolidatedMessage, + ...messagesFromArg.filter(({ code }) => code !== 'expectedConstant') + ); + } else { + messages.push(...messagesFromArg); + } } } } @@ -445,7 +483,11 @@ function validateFunction( return validateFn( astFunction, arg, - { ...argDef, type: extractedType }, + { + ...argDef, + constantOnly: forceConstantOnly || argDef.constantOnly, + type: extractedType, + }, references, parentCommand ); @@ -478,7 +520,13 @@ function validateFunction( validateNestedFunctionArg, validateFunctionColumnArg, ].flatMap((validateFn) => { - return validateFn(astFunction, actualArg, argDef, references, parentCommand); + return validateFn( + astFunction, + actualArg, + { ...argDef, constantOnly: forceConstantOnly || argDef.constantOnly }, + references, + parentCommand + ); }); failingSignature.push(...argValidationMessages); } diff --git a/packages/kbn-guided-onboarding/src/components/landing_page/guide/guide_card.tsx b/packages/kbn-guided-onboarding/src/components/landing_page/guide/guide_card.tsx index a9ea5fbab5b6e..3809f212c6fa6 100644 --- a/packages/kbn-guided-onboarding/src/components/landing_page/guide/guide_card.tsx +++ b/packages/kbn-guided-onboarding/src/components/landing_page/guide/guide_card.tsx @@ -6,34 +6,18 @@ * Side Public License, v 1. */ -import React, { Fragment, useCallback, useState } from 'react'; +import React, { useCallback, useState } from 'react'; import { EuiCard, EuiFlexGroup, EuiIcon, EuiTextColor, useEuiTheme } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { css } from '@emotion/react'; import { DeploymentDetailsModal, DeploymentDetailsProvider } from '@kbn/cloud/deployment_details'; -import type { ToMountPointParams } from '@kbn/react-kibana-mount'; -import { MountPoint } from '@kbn/core-mount-utils-browser'; -import ReactDOM from 'react-dom'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { GuideState } from '../../../types'; import { GuideCardConstants } from './guide_cards.constants'; import { GuideCardsProps } from './guide_cards'; -const toMountPoint = (node: React.ReactNode, params: ToMountPointParams): MountPoint => { - const mount = (element: HTMLElement) => { - ReactDOM.render({node}, element); - return () => ReactDOM.unmountComponentAtNode(element); - }; - - // only used for tests and snapshots serialization - if (process.env.NODE_ENV !== 'production') { - mount.__reactMount__ = node; - } - - return mount; -}; - const getProgressLabel = (guideState: GuideState | undefined): string | undefined => { if (!guideState) { return undefined; diff --git a/packages/kbn-guided-onboarding/tsconfig.json b/packages/kbn-guided-onboarding/tsconfig.json index 050ae7d99e95c..0ef62f4bc89f9 100644 --- a/packages/kbn-guided-onboarding/tsconfig.json +++ b/packages/kbn-guided-onboarding/tsconfig.json @@ -24,7 +24,6 @@ "@kbn/cloud-plugin", "@kbn/core-lifecycle-browser", "@kbn/analytics", - "@kbn/core-mount-utils-browser" ], "exclude": [ "target/**/*", diff --git a/packages/kbn-ipynb/README.md b/packages/kbn-ipynb/README.md new file mode 100644 index 0000000000000..593d099969f61 --- /dev/null +++ b/packages/kbn-ipynb/README.md @@ -0,0 +1,3 @@ +# @kbn/ipynb + +This package has a component to render iPython Notebooks. diff --git a/packages/kbn-ipynb/components/index.tsx b/packages/kbn-ipynb/components/index.tsx new file mode 100644 index 0000000000000..1dfb626800230 --- /dev/null +++ b/packages/kbn-ipynb/components/index.tsx @@ -0,0 +1,57 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiFlexGroup, EuiFlexItem, useEuiTheme } from '@elastic/eui'; + +import { NotebookDefinition } from '../types'; + +import { NotebookCell } from './notebook_cell'; +import { NotebookCellOutput } from './notebook_cell_output'; + +export interface NotebookRendererProps { + notebook: NotebookDefinition; +} + +export const NotebookRenderer = ({ notebook }: NotebookRendererProps) => { + const { euiTheme } = useEuiTheme(); + const language = notebook.metadata?.language_info?.name ?? 'python'; + return ( + + {notebook.cells.map((cell, i) => { + const cellId = cell.id ?? `nb.cell.${i}`; + if (cell.outputs && cell.outputs.length > 0) { + return ( + + + + + + {cell.outputs.map((output, outputIndex) => ( + + + + ))} + + + ); + } + return ( + + + + ); + })} + + ); +}; diff --git a/packages/kbn-ipynb/components/notebook_cell.tsx b/packages/kbn-ipynb/components/notebook_cell.tsx new file mode 100644 index 0000000000000..6f789c76852bf --- /dev/null +++ b/packages/kbn-ipynb/components/notebook_cell.tsx @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiMarkdownFormat, EuiCodeBlock, EuiTitle } from '@elastic/eui'; + +import { NotebookCellType } from '../types'; +import { combineSource } from '../utils'; + +export const NotebookCell = ({ cell, language }: { cell: NotebookCellType; language: string }) => { + if (!cell.cell_type) return null; + const content = cell.source + ? combineSource(cell.source) + : cell.input + ? combineSource(cell.input) + : null; + + if (!content) return null; + + switch (cell.cell_type) { + case 'markdown': + return {content}; + case 'code': + return ( + + {content} + + ); + case 'heading': + return ( + +

{content}

+
+ ); + } + return null; +}; diff --git a/packages/kbn-ipynb/components/notebook_cell_output.tsx b/packages/kbn-ipynb/components/notebook_cell_output.tsx new file mode 100644 index 0000000000000..e14e59fb9eb1f --- /dev/null +++ b/packages/kbn-ipynb/components/notebook_cell_output.tsx @@ -0,0 +1,69 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +import { EuiCodeBlock } from '@elastic/eui'; + +import { NotebookOutputType } from '../types'; +import { isDefined, isDefinedAndHasValue, combineSource } from '../utils'; + +export const NotebookCellOutput = ({ output }: { output: NotebookOutputType }) => { + if (isDefined(output.text) && output.text.length > 0) { + return {combineSource(output.text)}; + } + if (isDefinedAndHasValue(output.png)) { + return ; + } + if (isDefinedAndHasValue(output.jpeg)) { + return ; + } + if (isDefinedAndHasValue(output.gif)) { + return ; + } + if (!isDefined(output.data)) return null; + if (isDefined(output.data['text/plain'])) { + return {combineSource(output.data['text/plain'])}; + } + if (isDefinedAndHasValue(output.data['image/png'])) { + return ; + } + if (isDefinedAndHasValue(output.data['image/jpeg'])) { + return ; + } + if (isDefinedAndHasValue(output.data['image/gif'])) { + return ; + } + if (isDefined(output.data['text/html'])) { + // We just present HTML instead of rendering it for safety + return {combineSource(output.data['text/html'])}; + } + if (isDefined(output.data['application/javascript'])) { + // We just present JS instead of rendering it for safety + return ( + + {combineSource(output.data['application/javascript'])} + + ); + } + if (isDefined(output.data['text/latex'])) { + return {combineSource(output.data['text/latex'])}; + } + + return null; +}; + +const OutputImage = ({ value, type }: { value: string; type: 'png' | 'jpeg' | 'gif' }) => ( + {`output +); +const OutputPng = ({ value }: { value: string }) => ; +const OutputJpeg = ({ value }: { value: string }) => ; +const OutputGif = ({ value }: { value: string }) => ; diff --git a/packages/kbn-ipynb/index.tsx b/packages/kbn-ipynb/index.tsx new file mode 100644 index 0000000000000..acf333957bc37 --- /dev/null +++ b/packages/kbn-ipynb/index.tsx @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export * from './types'; +export * from './components'; diff --git a/packages/kbn-ipynb/jest.config.js b/packages/kbn-ipynb/jest.config.js new file mode 100644 index 0000000000000..cb7c75c805231 --- /dev/null +++ b/packages/kbn-ipynb/jest.config.js @@ -0,0 +1,13 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +module.exports = { + preset: '@kbn/test/jest_node', + rootDir: '../..', + roots: ['/packages/kbn-ipynb'], +}; diff --git a/packages/kbn-ipynb/kibana.jsonc b/packages/kbn-ipynb/kibana.jsonc new file mode 100644 index 0000000000000..adc8c05b75a74 --- /dev/null +++ b/packages/kbn-ipynb/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/ipynb", + "owner": "@elastic/enterprise-search-frontend" +} diff --git a/packages/kbn-ipynb/package.json b/packages/kbn-ipynb/package.json new file mode 100644 index 0000000000000..90df3df71a00e --- /dev/null +++ b/packages/kbn-ipynb/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/ipynb", + "private": true, + "version": "1.0.0", + "license": "SSPL-1.0 OR Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/kbn-ipynb/tsconfig.json b/packages/kbn-ipynb/tsconfig.json new file mode 100644 index 0000000000000..87f865132f4b4 --- /dev/null +++ b/packages/kbn-ipynb/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "../../tsconfig.base.json", + "compilerOptions": { + "outDir": "target/types", + "types": [ + "jest", + "node", + "react" + ] + }, + "include": [ + "**/*.ts", + "**/*.tsx", + ], + "exclude": [ + "target/**/*" + ], + "kbn_references": [] +} diff --git a/packages/kbn-ipynb/types.ts b/packages/kbn-ipynb/types.ts new file mode 100644 index 0000000000000..16bf32039621a --- /dev/null +++ b/packages/kbn-ipynb/types.ts @@ -0,0 +1,67 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface NotebookDefinition { + cells: NotebookCellType[]; + metadata?: NotebookMetadataType; + nbformat?: number; + nbformat_minor?: number; +} + +export interface NotebookMetadataType { + kernelspec?: { + display_name?: string; + language?: string; + name?: string; + }; + language_info?: { + mimetype?: string; + name?: string; + version?: string; + }; +} + +export interface NotebookCellType { + auto_number?: number; + cell_type?: string; + execution_count?: number | null; + id?: string; + input?: string[]; + metadata?: { + id?: string; + }; + outputs?: NotebookOutputType[]; + prompt_number?: number; + source?: string[]; +} + +export interface NotebookOutputType { + name?: string; + ename?: string; + evalue?: string; + traceback?: string[]; + data?: NotebookOutputData; + output_type?: string; + png?: string; + jpeg?: string; + gif?: string; + svg?: string; + text?: string[]; + execution_count?: number; +} + +export interface NotebookOutputData { + 'text/plain'?: string[]; + 'text/html'?: string[]; + 'text/latex'?: string[]; + 'image/png'?: string; + 'image/jpeg'?: string; + 'image/gif'?: string; + 'image/svg+xml'?: string; + 'application/javascript'?: string[]; +} diff --git a/packages/kbn-ipynb/utils.test.ts b/packages/kbn-ipynb/utils.test.ts new file mode 100644 index 0000000000000..ecbb1dc2c1e55 --- /dev/null +++ b/packages/kbn-ipynb/utils.test.ts @@ -0,0 +1,33 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { isDefined, combineSource } from './utils'; + +describe('isDefined', () => { + it('returns true if value is defined', () => { + expect(isDefined({ foo: 'bar' })).toEqual(true); + }); + it('returns false if value is null', () => { + expect(isDefined(null)).toEqual(false); + }); + it('returns false if value is undefined', () => { + expect(isDefined(undefined)).toEqual(false); + }); +}); + +describe('combineSource', () => { + it('returns value when given a string', () => { + expect(combineSource('foobar')).toEqual('foobar'); + }); + it('returns combined string from array', () => { + expect(combineSource(['foo', 'bar', 'baz'])).toEqual('foobarbaz'); + }); + it('returns combined string from array with separator', () => { + expect(combineSource(['foo', 'bar', 'baz'], '\n')).toEqual('foo\nbar\nbaz'); + }); +}); diff --git a/packages/kbn-ipynb/utils.ts b/packages/kbn-ipynb/utils.ts new file mode 100644 index 0000000000000..01f3faeabd2af --- /dev/null +++ b/packages/kbn-ipynb/utils.ts @@ -0,0 +1,20 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export function isDefined(value: T | undefined | null): value is T { + return value !== undefined && value !== null; +} + +export function isDefinedAndHasValue(value: string | undefined): value is string { + return isDefined(value) && value.length > 0; +} + +export const combineSource = (value: string | string[], separator: string = ''): string => { + if (Array.isArray(value)) return value.join(separator); + return value; +}; diff --git a/packages/kbn-language-documentation-popover/src/components/documentation_popover.tsx b/packages/kbn-language-documentation-popover/src/components/documentation_popover.tsx index c3e3b2f1633c7..a0ab5b9e5d661 100644 --- a/packages/kbn-language-documentation-popover/src/components/documentation_popover.tsx +++ b/packages/kbn-language-documentation-popover/src/components/documentation_popover.tsx @@ -62,7 +62,7 @@ function DocumentationPopover({ })} > diff --git a/packages/kbn-monaco/index.ts b/packages/kbn-monaco/index.ts index 9139ec40f706d..3ba4a5afb3aea 100644 --- a/packages/kbn-monaco/index.ts +++ b/packages/kbn-monaco/index.ts @@ -37,4 +37,8 @@ export { CONSOLE_OUTPUT_LANG_ID, CONSOLE_THEME_ID, CONSOLE_OUTPUT_THEME_ID, + getParsedRequestsProvider, + ConsoleParsedRequestsProvider, } from './src/console'; + +export type { ParsedRequest } from './src/console'; diff --git a/packages/kbn-monaco/src/console/console_errors_provider.ts b/packages/kbn-monaco/src/console/console_errors_provider.ts new file mode 100644 index 0000000000000..c92161f309969 --- /dev/null +++ b/packages/kbn-monaco/src/console/console_errors_provider.ts @@ -0,0 +1,63 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ConsoleWorkerProxyService } from './console_worker_proxy'; +import { CONSOLE_LANG_ID } from './constants'; +import { monaco } from '../monaco_imports'; + +/* + * This setup function runs when the Console language is registered into the Monaco editor. + * It adds a listener that is attached to the editor input when the Monaco editor is used + * with the Console language. + * The Console parser that runs in a web worker analyzes the editor input when it changes and + * if any errors are found, they are added as "error markers" to the Monaco editor. + */ +export const setupConsoleErrorsProvider = (workerProxyService: ConsoleWorkerProxyService) => { + const updateErrorMarkers = async (model: monaco.editor.IModel): Promise => { + if (model.isDisposed()) { + return; + } + const parserResult = await workerProxyService.getParserResult(model.uri); + + if (!parserResult) { + return; + } + const { errors } = parserResult; + monaco.editor.setModelMarkers( + model, + CONSOLE_LANG_ID, + errors.map(({ offset, text }) => { + const { column, lineNumber } = model.getPositionAt(offset); + return { + startLineNumber: lineNumber, + startColumn: column, + endLineNumber: lineNumber, + endColumn: column, + message: text, + severity: monaco.MarkerSeverity.Error, + }; + }) + ); + }; + const onModelAdd = (model: monaco.editor.IModel) => { + if (model.getLanguageId() !== CONSOLE_LANG_ID) { + return; + } + + const { dispose } = model.onDidChangeContent(async () => { + await updateErrorMarkers(model); + }); + + model.onWillDispose(() => { + dispose(); + }); + + updateErrorMarkers(model); + }; + monaco.editor.onDidCreateModel(onModelAdd); +}; diff --git a/packages/kbn-monaco/src/console/console_parsed_requests_provider.ts b/packages/kbn-monaco/src/console/console_parsed_requests_provider.ts new file mode 100644 index 0000000000000..da0689b3ab863 --- /dev/null +++ b/packages/kbn-monaco/src/console/console_parsed_requests_provider.ts @@ -0,0 +1,31 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ConsoleWorkerProxyService } from './console_worker_proxy'; +import { ParsedRequest } from './types'; +import { monaco } from '../monaco_imports'; + +/* + * This class is a helper interface that is used in the Console plugin. + * The provider access the Console parser that runs in a web worker and analyzes the editor input + * when it changes. + * The parsed result contains the requests and errors which are used in the Console plugin. + */ +export class ConsoleParsedRequestsProvider { + constructor( + private workerProxyService: ConsoleWorkerProxyService, + private model: monaco.editor.ITextModel | null + ) {} + public async getRequests(): Promise { + if (!this.model) { + return []; + } + const parserResult = await this.workerProxyService.getParserResult(this.model.uri); + return parserResult?.requests ?? []; + } +} diff --git a/packages/kbn-monaco/src/console/console_worker_proxy.ts b/packages/kbn-monaco/src/console/console_worker_proxy.ts new file mode 100644 index 0000000000000..3438f2f98f6f2 --- /dev/null +++ b/packages/kbn-monaco/src/console/console_worker_proxy.ts @@ -0,0 +1,37 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { monaco } from '../monaco_imports'; +import { CONSOLE_LANG_ID } from './constants'; +import { ConsoleParserResult, ConsoleWorkerDefinition } from './types'; + +/* + * This class contains logic to create a web worker where the code for the Console parser can + * execute without blocking the main thread. The parser only runs when the Monaco editor + * is used with the Console language. The parser can only be accessed via this proxy service class. + */ +export class ConsoleWorkerProxyService { + private worker: monaco.editor.MonacoWebWorker | undefined; + + public async getParserResult(modelUri: monaco.Uri): Promise { + if (!this.worker) { + throw new Error('Worker Proxy Service has not been setup!'); + } + await this.worker.withSyncedResources([modelUri]); + const parser = await this.worker.getProxy(); + return parser.getParserResult(modelUri.toString()); + } + + public setup() { + this.worker = monaco.editor.createWebWorker({ label: CONSOLE_LANG_ID, moduleId: '' }); + } + + public stop() { + if (this.worker) this.worker.dispose(); + } +} diff --git a/packages/kbn-monaco/src/console/index.ts b/packages/kbn-monaco/src/console/index.ts index 991d9afce240b..00f6cb68de64a 100644 --- a/packages/kbn-monaco/src/console/index.ts +++ b/packages/kbn-monaco/src/console/index.ts @@ -40,3 +40,7 @@ export const ConsoleOutputLang: LangModuleType = { lexerRules: consoleOutputLexerRules, languageConfiguration: consoleOutputLanguageConfiguration, }; + +export type { ParsedRequest } from './types'; +export { getParsedRequestsProvider } from './language'; +export { ConsoleParsedRequestsProvider } from './console_parsed_requests_provider'; diff --git a/packages/kbn-monaco/src/console/language.ts b/packages/kbn-monaco/src/console/language.ts index 64a9dee1996b7..ba597ea2f7078 100644 --- a/packages/kbn-monaco/src/console/language.ts +++ b/packages/kbn-monaco/src/console/language.ts @@ -6,14 +6,19 @@ * Side Public License, v 1. */ -import { ConsoleWorker } from './worker'; -import { WorkerProxyService } from '../ace_migration/worker_proxy'; +import { setupConsoleErrorsProvider } from './console_errors_provider'; +import { ConsoleWorkerProxyService } from './console_worker_proxy'; import { monaco } from '../monaco_imports'; import { CONSOLE_LANG_ID } from './constants'; -import { setupWorker } from '../ace_migration/setup_worker'; +import { ConsoleParsedRequestsProvider } from './console_parsed_requests_provider'; + +const workerProxyService = new ConsoleWorkerProxyService(); + +export const getParsedRequestsProvider = (model: monaco.editor.ITextModel | null) => { + return new ConsoleParsedRequestsProvider(workerProxyService, model); +}; -const OWNER = 'CONSOLE_GRAMMAR_CHECKER'; -const wps = new WorkerProxyService(); monaco.languages.onLanguage(CONSOLE_LANG_ID, async () => { - setupWorker(CONSOLE_LANG_ID, OWNER, wps); + workerProxyService.setup(); + setupConsoleErrorsProvider(workerProxyService); }); diff --git a/packages/kbn-monaco/src/console/parser.js b/packages/kbn-monaco/src/console/parser.js index 20884180b4260..5de69ffce0acc 100644 --- a/packages/kbn-monaco/src/console/parser.js +++ b/packages/kbn-monaco/src/console/parser.js @@ -12,7 +12,6 @@ export const createParser = () => { let at, // The index of the current character ch, // The current character - annos, // annotations escapee = { '"': '"', '\\': '\\', @@ -24,8 +23,44 @@ export const createParser = () => { t: '\t', }, text, - annotate = function (type, text) { - annos.push({ type: type, text: text, at: at }); + errors, + addError = function (text) { + errors.push({ text: text, offset: at }); + }, + requests, + requestStartOffset, + requestEndOffset, + getLastRequest = function() { + return requests.length > 0 ? requests.pop() : {}; + }, + addRequestStart = function() { + requestStartOffset = at - 1; + requests.push({ startOffset: requestStartOffset }); + }, + addRequestMethod = function(method) { + const lastRequest = getLastRequest(); + lastRequest.method = method; + requests.push(lastRequest); + requestEndOffset = at - 1; + }, + addRequestUrl = function(url) { + const lastRequest = getLastRequest(); + lastRequest.url = url; + requests.push(lastRequest); + requestEndOffset = at - 1; + }, + addRequestData = function(data) { + const lastRequest = getLastRequest(); + const dataArray = lastRequest.data || []; + dataArray.push(data); + lastRequest.data = dataArray; + requests.push(lastRequest); + requestEndOffset = at - 1; + }, + addRequestEnd = function() { + const lastRequest = getLastRequest(); + lastRequest.endOffset = requestEndOffset; + requests.push(lastRequest); }, error = function (m) { throw { @@ -373,14 +408,18 @@ export const createParser = () => { }, request = function () { white(); - method(); + addRequestStart(); + const parsedMethod = method(); + addRequestMethod(parsedMethod); strictWhite(); - url(); + const parsedUrl = url(); + addRequestUrl(parsedUrl ); strictWhite(); // advance to one new line newLine(); strictWhite(); if (ch == '{') { - object(); + const parsedObject = object(); + addRequestData(parsedObject); } // multi doc request strictWhite(); // advance to one new line @@ -388,11 +427,13 @@ export const createParser = () => { strictWhite(); while (ch == '{') { // another object - object(); + const parsedObject = object(); + addRequestData(parsedObject); strictWhite(); newLine(); strictWhite(); } + addRequestEnd(); }, comment = function () { while (ch == '#') { @@ -417,7 +458,7 @@ export const createParser = () => { request(); white(); } catch (e) { - annotate('error', e.message); + addError(e.message); // snap const substring = text.substr(at); const nextMatch = substring.search(/^POST|HEAD|GET|PUT|DELETE|PATCH/m); @@ -432,15 +473,16 @@ export const createParser = () => { text = source; at = 0; - annos = []; + errors = []; + requests = []; next(); multi_request(); white(); if (ch) { - annotate('error', 'Syntax error'); + addError('Syntax error'); } - result = { annotations: annos }; + result = { errors, requests }; return typeof reviver === 'function' ? (function walk(holder, key) { diff --git a/packages/kbn-monaco/src/console/parser.test.ts b/packages/kbn-monaco/src/console/parser.test.ts new file mode 100644 index 0000000000000..417fdd12e2c18 --- /dev/null +++ b/packages/kbn-monaco/src/console/parser.test.ts @@ -0,0 +1,59 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { createParser } from './parser'; +import { ConsoleParserResult } from './types'; + +const parser = createParser(); +describe('console parser', () => { + it('returns errors if input is not correct', () => { + const input = 'Incorrect input'; + const parserResult = parser(input) as ConsoleParserResult; + // the parser logs 2 errors: for the unexpected method and a general syntax error + expect(parserResult.errors.length).toBe(2); + // the parser logs a beginning of the request that it's trying to parse + expect(parserResult.requests.length).toBe(1); + }); + + it('returns parsedRequests if the input is correct', () => { + const input = 'GET _search'; + const { requests, errors } = parser(input) as ConsoleParserResult; + expect(requests.length).toBe(1); + expect(errors.length).toBe(0); + const { method, url, startOffset, endOffset } = requests[0]; + expect(method).toBe('GET'); + expect(url).toBe('_search'); + // the start offset of the request is the beginning of the string + expect(startOffset).toBe(0); + // the end offset of the request is the end of the string + expect(endOffset).toBe(11); + }); + + it('parses several requests', () => { + const input = 'GET _search\nPOST _test_index'; + const { requests } = parser(input) as ConsoleParserResult; + expect(requests.length).toBe(2); + }); + + it('parses a request with a request body', () => { + const input = + 'GET _search\n' + '{\n' + ' "query": {\n' + ' "match_all": {}\n' + ' }\n' + '}'; + const { requests } = parser(input) as ConsoleParserResult; + expect(requests.length).toBe(1); + const { method, url, data } = requests[0]; + expect(method).toBe('GET'); + expect(url).toBe('_search'); + expect(data).toEqual([ + { + query: { + match_all: {}, + }, + }, + ]); + }); +}); diff --git a/packages/kbn-monaco/src/console/types.ts b/packages/kbn-monaco/src/console/types.ts new file mode 100644 index 0000000000000..000bff3526d0c --- /dev/null +++ b/packages/kbn-monaco/src/console/types.ts @@ -0,0 +1,29 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +export interface ErrorAnnotation { + offset: number; + text: string; +} + +export interface ParsedRequest { + startOffset: number; + endOffset: number; + method: string; + url: string; + data?: Array>; +} +export interface ConsoleParserResult { + errors: ErrorAnnotation[]; + requests: ParsedRequest[]; +} + +export interface ConsoleWorkerDefinition { + getParserResult: (modelUri: string) => ConsoleParserResult | undefined; +} +export type ConsoleParser = (source: string) => ConsoleParserResult | undefined; diff --git a/packages/kbn-monaco/src/console/worker/console_worker.ts b/packages/kbn-monaco/src/console/worker/console_worker.ts index 0e62994ad86f0..85e846e7b826f 100644 --- a/packages/kbn-monaco/src/console/worker/console_worker.ts +++ b/packages/kbn-monaco/src/console/worker/console_worker.ts @@ -8,20 +8,23 @@ /* eslint-disable-next-line @kbn/eslint/module_migration */ import * as monaco from 'monaco-editor/esm/vs/editor/editor.api'; -import { Parser, ParseResult } from '../../ace_migration/types'; +import { ConsoleParserResult, ConsoleWorkerDefinition, ConsoleParser } from '../types'; import { createParser } from '../parser'; -export class ConsoleWorker { +export class ConsoleWorker implements ConsoleWorkerDefinition { + private parser: ConsoleParser | undefined; + private parserResult: ConsoleParserResult | undefined; + constructor(private ctx: monaco.worker.IWorkerContext) {} - private parser: Parser | undefined; - async parse(modelUri: string): Promise { + getParserResult(modelUri: string): ConsoleParserResult | undefined { if (!this.parser) { this.parser = createParser(); } const model = this.ctx.getMirrorModels().find((m) => m.uri.toString() === modelUri); if (model) { - return this.parser(model.getValue()); + this.parserResult = this.parser(model.getValue()); } + return this.parserResult; } } diff --git a/packages/kbn-optimizer/limits.yml b/packages/kbn-optimizer/limits.yml index d8cd1983662ff..f672f98288b2f 100644 --- a/packages/kbn-optimizer/limits.yml +++ b/packages/kbn-optimizer/limits.yml @@ -127,6 +127,7 @@ pageLoadAssetSize: screenshotMode: 17856 screenshotting: 22870 searchConnectors: 30000 + searchNotebooks: 18942 searchPlayground: 19325 searchprofiler: 67080 security: 81771 diff --git a/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts b/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts index 0b870bc5a11fe..dd2b3af12cc4b 100644 --- a/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts +++ b/packages/kbn-rule-data-utils/src/rule_types/o11y_rules.ts @@ -10,6 +10,7 @@ export const OBSERVABILITY_THRESHOLD_RULE_TYPE_ID = 'observability.rules.custom_ export const SLO_BURN_RATE_RULE_TYPE_ID = 'slo.rules.burnRate'; export const METRIC_INVENTORY_THRESHOLD_ALERT_TYPE_ID = 'metrics.alert.inventory.threshold'; +export const METRIC_THRESHOLD_ALERT_TYPE_ID = 'metrics.alert.threshold'; export const LOG_THRESHOLD_ALERT_TYPE_ID = 'logs.alert.document.count'; export enum ApmRuleType { diff --git a/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/documents_panel.test.tsx.snap b/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/documents_panel.test.tsx.snap index e29361b08a9c1..40f115c567f81 100644 --- a/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/documents_panel.test.tsx.snap +++ b/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/documents_panel.test.tsx.snap @@ -9,15 +9,96 @@ exports[`DocumentsPanel renders 1`] = ` Array [ Object { "field": "added", - "name": "Upserted", + "name": + index + , + } + } + /> + } + delay="regular" + display="inlineBlock" + position="top" + > + + Upserted + + + , }, Object { "field": "removed", - "name": "Deleted", + "name": + delete + , + } + } + /> + } + delay="regular" + display="inlineBlock" + position="top" + > + + Deleted + + + , }, Object { "field": "volume", - "name": "Volume", + "name": + index + , + } + } + /> + } + delay="regular" + display="inlineBlock" + position="top" + > + + Volume + + + , "render": [Function], }, ] diff --git a/packages/kbn-search-connectors/components/sync_jobs/documents_panel.tsx b/packages/kbn-search-connectors/components/sync_jobs/documents_panel.tsx index 0bfe917d3aa01..9eaed179c0dbe 100644 --- a/packages/kbn-search-connectors/components/sync_jobs/documents_panel.tsx +++ b/packages/kbn-search-connectors/components/sync_jobs/documents_panel.tsx @@ -8,10 +8,11 @@ import React from 'react'; -import { EuiBasicTable, EuiBasicTableColumn } from '@elastic/eui'; +import { EuiBasicTable, EuiBasicTableColumn, EuiIcon, EuiToolTip, EuiCode } from '@elastic/eui'; import { ByteSizeValue } from '@kbn/config-schema'; import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; import { FlyoutPanel } from './flyout_panel'; interface SyncJobDocumentsPanelProps { @@ -24,21 +25,66 @@ export const SyncJobDocumentsPanel: React.FC = (sync const columns: Array> = [ { field: 'added', - name: i18n.translate('searchConnectors.index.syncJobs.documents.added', { - defaultMessage: 'Upserted', - }), + name: ( + index }} + /> + } + > + <> + {i18n.translate('searchConnectors.index.syncJobs.documents.added', { + defaultMessage: 'Upserted', + })} + + + + ), }, { field: 'removed', - name: i18n.translate('searchConnectors.index.syncJobs.documents.removed', { - defaultMessage: 'Deleted', - }), + name: ( + delete }} + /> + } + > + <> + {i18n.translate('searchConnectors.index.syncJobs.documents.removed', { + defaultMessage: 'Deleted', + })} + + + + ), }, { field: 'volume', - name: i18n.translate('searchConnectors.index.syncJobs.documents.volume', { - defaultMessage: 'Volume', - }), + name: ( + index }} + /> + } + > + <> + {i18n.translate('searchConnectors.index.syncJobs.documents.volume', { + defaultMessage: 'Volume', + })} + + + + ), render: (volume: number) => volume < 1 ? i18n.translate('searchConnectors.index.syncJobs.documents.volume.lessThanOneMBLabel', { diff --git a/packages/kbn-search-connectors/components/sync_jobs/sync_job_cancel_modal.test.tsx b/packages/kbn-search-connectors/components/sync_jobs/sync_job_cancel_modal.test.tsx new file mode 100644 index 0000000000000..12b78f2afa95c --- /dev/null +++ b/packages/kbn-search-connectors/components/sync_jobs/sync_job_cancel_modal.test.tsx @@ -0,0 +1,50 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { render, screen, fireEvent } from '@testing-library/react'; +import React from 'react'; +import { CancelSyncJobModal } from './sync_job_cancel_modal'; +import '@testing-library/jest-dom/extend-expect'; +import { I18nProvider } from '@kbn/i18n-react'; + +describe('CancelSyncJobModal', () => { + const mockSyncJobId = '123'; + const mockOnConfirmCb = jest.fn(); + const mockOnCancel = jest.fn(); + + beforeEach(() => { + render( + + + + ); + }); + + test('renders the sync job ID', () => { + const syncJobIdElement = screen.getByTestId('confirmModalBodyText'); + expect(syncJobIdElement).toHaveTextContent(`Sync job ID: ${mockSyncJobId}`); + }); + + test('calls onConfirmCb when confirm button is clicked', () => { + const confirmButton = screen.getByText('Confirm'); + fireEvent.click(confirmButton); + expect(mockOnConfirmCb).toHaveBeenCalledWith(mockSyncJobId); + }); + + test('calls onCancel when cancel button is clicked', () => { + const cancelButton = screen.getByTestId('confirmModalCancelButton'); + fireEvent.click(cancelButton); + expect(mockOnCancel).toHaveBeenCalled(); + }); +}); diff --git a/packages/kbn-search-connectors/components/sync_jobs/sync_job_cancel_modal.tsx b/packages/kbn-search-connectors/components/sync_jobs/sync_job_cancel_modal.tsx new file mode 100644 index 0000000000000..96f36987b3e0a --- /dev/null +++ b/packages/kbn-search-connectors/components/sync_jobs/sync_job_cancel_modal.tsx @@ -0,0 +1,58 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { EuiConfirmModal, EuiText, EuiCode, EuiSpacer, EuiConfirmModalProps } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React from 'react'; + +export type CancelSyncModalProps = Omit & { + onConfirmCb: (syncJobId: string) => void; + syncJobId: string; + errorMessages?: string[]; +}; + +export const CancelSyncJobModal: React.FC = ({ + syncJobId, + onCancel, + onConfirmCb, + isLoading, +}) => { + return ( + onConfirmCb(syncJobId)} + cancelButtonText={i18n.translate('searchConnectors.syncJobs.cancelSyncModal.cancelButton', { + defaultMessage: 'Cancel', + })} + confirmButtonText={i18n.translate('searchConnectors.syncJobs.cancelSyncModal.confirmButton', { + defaultMessage: 'Confirm', + })} + buttonColor="danger" + confirmButtonDisabled={isLoading} + isLoading={isLoading} + > + + + + +   + {syncJobId} + + + ); +}; diff --git a/packages/kbn-search-connectors/components/sync_jobs/sync_job_flyout.tsx b/packages/kbn-search-connectors/components/sync_jobs/sync_job_flyout.tsx index 30101b55ec81f..30272caceb4c8 100644 --- a/packages/kbn-search-connectors/components/sync_jobs/sync_job_flyout.tsx +++ b/packages/kbn-search-connectors/components/sync_jobs/sync_job_flyout.tsx @@ -68,8 +68,14 @@ export const SyncJobFlyout: React.FC = ({ onClose, syncJob } defaultMessage: 'ID', }), }, + { + field: 'index_name', + name: i18n.translate('searchConnectors.syncJobs.flyout.sync.index', { + defaultMessage: 'Index name', + }), + }, ]} - items={[{ id: syncJob.id }]} + items={[{ id: syncJob.id, index_name: syncJob.connector.index_name }]} /> diff --git a/packages/kbn-search-connectors/components/sync_jobs/sync_jobs_table.tsx b/packages/kbn-search-connectors/components/sync_jobs/sync_jobs_table.tsx index 7426d7dad3dec..ffe2c26d636ed 100644 --- a/packages/kbn-search-connectors/components/sync_jobs/sync_jobs_table.tsx +++ b/packages/kbn-search-connectors/components/sync_jobs/sync_jobs_table.tsx @@ -13,16 +13,22 @@ import { EuiBadge, EuiBasicTable, EuiBasicTableColumn, + EuiButtonIcon, + EuiCode, + EuiIcon, + EuiToolTip, Pagination, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; -import { ConnectorSyncJob, SyncJobType, SyncStatus } from '../..'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { ConnectorSyncJob, isSyncCancellable, SyncJobType, SyncStatus } from '../..'; import { syncJobTypeToText, syncStatusToColor, syncStatusToText } from '../..'; import { durationToText, getSyncJobDuration } from '../../utils/duration_to_text'; import { FormattedDateTime } from '../../utils/formatted_date_time'; import { SyncJobFlyout } from './sync_job_flyout'; +import { CancelSyncJobModal, CancelSyncModalProps } from './sync_job_cancel_modal'; interface SyncJobHistoryTableProps { isLoading?: boolean; @@ -30,6 +36,10 @@ interface SyncJobHistoryTableProps { pagination: Pagination; syncJobs: ConnectorSyncJob[]; type: 'content' | 'access_control'; + cancelConfirmModalProps?: Pick & { + syncJobIdToCancel?: ConnectorSyncJob['id']; + setSyncJobIdToCancel: (syncJobId: ConnectorSyncJob['id'] | undefined) => void; + }; } export const SyncJobsTable: React.FC = ({ @@ -38,23 +48,62 @@ export const SyncJobsTable: React.FC = ({ pagination, syncJobs, type, + cancelConfirmModalProps = { + onConfirmCb: () => {}, + isLoading: false, + setSyncJobIdToCancel: () => {}, + syncJobIdToCancel: undefined, + }, }) => { const [selectedSyncJob, setSelectedSyncJob] = useState(undefined); const columns: Array> = [ { field: 'completed_at', - name: i18n.translate('searchConnectors.syncJobs.lastSync.columnTitle', { - defaultMessage: 'Last sync', - }), + name: ( + completed_at }} + /> + } + > + <> + {i18n.translate('searchConnectors.syncJobs.lastSync.columnTitle', { + defaultMessage: 'Last sync', + })} + + + + ), render: (lastSync: string) => lastSync ? : '--', sortable: true, truncateText: false, }, { - name: i18n.translate('searchConnectors.syncJobs.syncDuration.columnTitle', { - defaultMessage: 'Sync duration', - }), + name: ( + completed_at, + started_at: started_at, + }} + /> + } + > + <> + {i18n.translate('searchConnectors.syncJobs.syncDuration.columnTitle', { + defaultMessage: 'Sync duration', + })} + + + + ), render: (syncJob: ConnectorSyncJob) => durationToText(getSyncJobDuration(syncJob)), truncateText: false, }, @@ -62,17 +111,57 @@ export const SyncJobsTable: React.FC = ({ ? [ { field: 'indexed_document_count', - name: i18n.translate('searchConnectors.searchIndices.addedDocs.columnTitle', { - defaultMessage: 'Docs upserted', - }), + name: ( + index }} + /> + } + > + <> + {i18n.translate('searchConnectors.searchIndices.addedDocs.columnTitle', { + defaultMessage: 'Docs upserted', + })} + + + + ), sortable: true, truncateText: true, }, { field: 'deleted_document_count', - name: i18n.translate('searchConnectors.searchIndices.deletedDocs.columnTitle', { - defaultMessage: 'Docs deleted', - }), + name: ( + delete }} + /> + } + > + <> + {i18n.translate('searchConnectors.searchIndices.deletedDocs.columnTitle', { + defaultMessage: 'Docs deleted', + })} + + + + ), sortable: true, truncateText: true, }, @@ -127,6 +216,33 @@ export const SyncJobsTable: React.FC = ({ onClick: (job) => setSelectedSyncJob(job), type: 'icon', }, + ...(cancelConfirmModalProps + ? [ + { + render: (job: ConnectorSyncJob) => { + return isSyncCancellable(job.status) ? ( + cancelConfirmModalProps.setSyncJobIdToCancel(job.id)} + aria-label={i18n.translate( + 'searchConnectors.index.syncJobs.actions.cancelSyncJob.caption', + { + defaultMessage: 'Cancel this sync job', + } + )} + > + {i18n.translate('searchConnectors.index.syncJobs.actions.deleteJob.caption', { + defaultMessage: 'Delete', + })} + + ) : ( + <> + ); + }, + }, + ] + : []), ], }, ]; @@ -136,6 +252,13 @@ export const SyncJobsTable: React.FC = ({ {Boolean(selectedSyncJob) && ( setSelectedSyncJob(undefined)} syncJob={selectedSyncJob} /> )} + {Boolean(cancelConfirmModalProps) && cancelConfirmModalProps?.syncJobIdToCancel && ( + cancelConfirmModalProps.setSyncJobIdToCancel(undefined)} + /> + )} { + const mockClient = { + transport: { + request: jest.fn(), + }, + }; + + it('should cancel a sync', async () => { + mockClient.transport.request.mockImplementation(() => ({ + success: true, + })); + + await expect(cancelSync(mockClient as unknown as ElasticsearchClient, '1234')).resolves.toEqual( + { success: true } + ); + expect(mockClient.transport.request).toHaveBeenCalledWith({ + method: 'PUT', + path: '/_connector/_sync_job/1234/_cancel', + }); + }); +}); diff --git a/packages/kbn-search-connectors/lib/cancel_sync.ts b/packages/kbn-search-connectors/lib/cancel_sync.ts new file mode 100644 index 0000000000000..b3f31bb8a41b4 --- /dev/null +++ b/packages/kbn-search-connectors/lib/cancel_sync.ts @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ElasticsearchClient } from '@kbn/core-elasticsearch-server'; +import { ConnectorAPICancelSyncResponse } from '../types'; + +export const cancelSync = async (client: ElasticsearchClient, syncJobId: string) => { + const result = await client.transport.request({ + method: 'PUT', + path: `/_connector/_sync_job/${syncJobId}/_cancel`, + }); + return result; +}; diff --git a/packages/kbn-search-connectors/lib/collect_connector_stats.ts b/packages/kbn-search-connectors/lib/collect_connector_stats.ts index c2ad0fe17f3dd..80edd3b0ca3a9 100644 --- a/packages/kbn-search-connectors/lib/collect_connector_stats.ts +++ b/packages/kbn-search-connectors/lib/collect_connector_stats.ts @@ -362,6 +362,8 @@ function syncJobsStatsByState(syncJobs: ConnectorSyncJob[]): SyncJobStatsByState let idle = 0; let running = 0; let duration = 0; + const errors = new Map(); + let topErrors: string[] = []; for (const syncJob of syncJobs) { completed += syncJob.status === SyncStatus.COMPLETED ? 1 : 0; @@ -386,6 +388,18 @@ function syncJobsStatsByState(syncJobs: ConnectorSyncJob[]): SyncJobStatsByState duration += Math.floor((completedAt.getTime() - startedAt.getTime()) / 1000); } } + if (syncJob.status === SyncStatus.ERROR && syncJob.error) { + errors.set(syncJob.error, (errors.get(syncJob.error) ?? 0) + 1); + } + } + + if (errors.size <= 5) { + topErrors = [...errors.keys()]; + } else { + topErrors = [...errors.entries()] + .sort((a, b) => b[1] - a[1]) + .map((a) => a[0]) + .slice(0, 5); } return { @@ -399,5 +413,6 @@ function syncJobsStatsByState(syncJobs: ConnectorSyncJob[]): SyncJobStatsByState idle, running, totalDurationSeconds: duration, + topErrors, } as SyncJobStatsByState; } diff --git a/packages/kbn-search-connectors/lib/collect_connector_stats_test_data.ts b/packages/kbn-search-connectors/lib/collect_connector_stats_test_data.ts index 73614cfb66787..d510fe5ad5e66 100644 --- a/packages/kbn-search-connectors/lib/collect_connector_stats_test_data.ts +++ b/packages/kbn-search-connectors/lib/collect_connector_stats_test_data.ts @@ -183,6 +183,7 @@ export const spoIncrementalSyncJob: ConnectorSyncJob = { job_type: SyncJobType.INCREMENTAL, status: SyncStatus.ERROR, trigger_method: TriggerMethod.ON_DEMAND, + error: 'spo_incremental_error', connector: { id: spoConnector.id, configuration: { @@ -315,6 +316,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 220, + topErrors: ['spo_incremental_error'], }, accessControl: { total: 1, @@ -327,6 +329,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 20, + topErrors: [], }, full: { total: 1, @@ -339,6 +342,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 100, + topErrors: [], }, incremental: { total: 1, @@ -351,6 +355,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 100, + topErrors: ['spo_incremental_error'], }, }, last7Days: { @@ -365,6 +370,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 120, + topErrors: ['spo_incremental_error'], }, accessControl: { total: 1, @@ -377,6 +383,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 20, + topErrors: [], }, incremental: { total: 1, @@ -389,6 +396,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 100, + topErrors: ['spo_incremental_error'], }, }, }, @@ -406,6 +414,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 220, + topErrors: ['spo_incremental_error'], }, accessControl: { total: 1, @@ -418,6 +427,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 20, + topErrors: [], }, full: { total: 1, @@ -430,6 +440,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 100, + topErrors: [], }, incremental: { total: 1, @@ -442,6 +453,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 100, + topErrors: ['spo_incremental_error'], }, }, last7Days: { @@ -456,6 +468,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 120, + topErrors: ['spo_incremental_error'], }, accessControl: { total: 1, @@ -468,6 +481,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 20, + topErrors: [], }, incremental: { total: 1, @@ -480,6 +494,7 @@ export const expectedSpoConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 100, + topErrors: ['spo_incremental_error'], }, }, }, @@ -543,6 +558,7 @@ export const expectedMysqlConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 200, + topErrors: [], }, full: { total: 1, @@ -555,6 +571,7 @@ export const expectedMysqlConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 200, + topErrors: [], }, }, }, @@ -579,6 +596,7 @@ export const expectedDeletedConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 200, + topErrors: [], }, full: { total: 1, @@ -591,6 +609,7 @@ export const expectedDeletedConnectorStats: ConnectorStats = { idle: 0, running: 0, totalDurationSeconds: 200, + topErrors: [], }, }, }, diff --git a/packages/kbn-search-connectors/lib/index.ts b/packages/kbn-search-connectors/lib/index.ts index 80bd6c554c54c..ed2f10a7f9ea3 100644 --- a/packages/kbn-search-connectors/lib/index.ts +++ b/packages/kbn-search-connectors/lib/index.ts @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +export * from './cancel_sync'; export * from './cancel_syncs'; export * from './collect_connector_stats'; export * from './create_connector'; diff --git a/packages/kbn-search-connectors/tsconfig.json b/packages/kbn-search-connectors/tsconfig.json index 732b92333947f..eb7decb3d1e00 100644 --- a/packages/kbn-search-connectors/tsconfig.json +++ b/packages/kbn-search-connectors/tsconfig.json @@ -5,7 +5,9 @@ "types": [ "jest", "node", - "react" + "react", + "@testing-library/jest-dom", + "@testing-library/react", ] }, "include": [ diff --git a/packages/kbn-search-connectors/types/connector_stats.ts b/packages/kbn-search-connectors/types/connector_stats.ts index 7c72a4b669b6e..93401fd590801 100644 --- a/packages/kbn-search-connectors/types/connector_stats.ts +++ b/packages/kbn-search-connectors/types/connector_stats.ts @@ -121,4 +121,5 @@ export interface SyncJobStatsByState { idle: number; running: number; totalDurationSeconds: number; + topErrors: string[]; } diff --git a/packages/kbn-search-connectors/types/connectors_api.ts b/packages/kbn-search-connectors/types/connectors_api.ts index 265aee65cc68c..8869847e34da5 100644 --- a/packages/kbn-search-connectors/types/connectors_api.ts +++ b/packages/kbn-search-connectors/types/connectors_api.ts @@ -22,3 +22,7 @@ export interface ConnectorsAPISyncJobResponse { export interface ConnectorSecretCreateResponse { id: string; } + +export interface ConnectorAPICancelSyncResponse { + success: boolean; +} diff --git a/packages/kbn-search-connectors/utils/identify_exceptions.ts b/packages/kbn-search-connectors/utils/identify_exceptions.ts index 0bc395710d8f5..ae825df6bced0 100644 --- a/packages/kbn-search-connectors/utils/identify_exceptions.ts +++ b/packages/kbn-search-connectors/utils/identify_exceptions.ts @@ -11,6 +11,10 @@ export interface ElasticsearchResponseError { body?: { error?: { type: string; + caused_by?: { + type?: string; + reason?: string; + }; }; }; statusCode?: number; @@ -48,3 +52,12 @@ export const isMissingAliasException = (error: ElasticsearchResponseError) => error.meta?.statusCode === 404 && typeof error.meta?.body?.error === 'string' && MISSING_ALIAS_ERROR.test(error.meta?.body?.error); + +export const isStatusTransitionException = (error: ElasticsearchResponseError) => { + return ( + error.meta?.statusCode === 400 && + error.meta?.body?.error?.type === 'status_exception' && + error.meta?.body.error?.caused_by?.type === + 'connector_sync_job_invalid_status_transition_exception' + ); +}; diff --git a/packages/kbn-search-connectors/utils/sync_status_to_text.test.ts b/packages/kbn-search-connectors/utils/sync_status_to_text.test.ts index 6c448ea241dd2..752c21e2672ec 100644 --- a/packages/kbn-search-connectors/utils/sync_status_to_text.test.ts +++ b/packages/kbn-search-connectors/utils/sync_status_to_text.test.ts @@ -6,9 +6,8 @@ * Side Public License, v 1. */ -import { SyncStatus } from '..'; - import { syncStatusToColor, syncStatusToText } from './sync_status_to_text'; +import { isSyncCancellable, SyncStatus } from '..'; describe('syncStatusToText', () => { it('should return correct value for completed', () => { @@ -57,3 +56,33 @@ describe('syncStatusToColor', () => { expect(syncStatusToColor(SyncStatus.SUSPENDED)).toEqual('warning'); }); }); + +describe('isSyncCancellable', () => { + it('should return true for in progress status', () => { + expect(isSyncCancellable(SyncStatus.IN_PROGRESS)).toBe(true); + }); + + it('should return true for pending status', () => { + expect(isSyncCancellable(SyncStatus.PENDING)).toBe(true); + }); + + it('should return true for suspended status', () => { + expect(isSyncCancellable(SyncStatus.SUSPENDED)).toBe(true); + }); + + it('should return false for canceling status', () => { + expect(isSyncCancellable(SyncStatus.CANCELING)).toBe(false); + }); + + it('should return false for completed status', () => { + expect(isSyncCancellable(SyncStatus.COMPLETED)).toBe(false); + }); + + it('should return false for error status', () => { + expect(isSyncCancellable(SyncStatus.ERROR)).toBe(false); + }); + + it('should return false for canceled status', () => { + expect(isSyncCancellable(SyncStatus.CANCELED)).toBe(false); + }); +}); diff --git a/packages/kbn-search-connectors/utils/sync_status_to_text.ts b/packages/kbn-search-connectors/utils/sync_status_to_text.ts index b00e873bd52e0..11491a02be43f 100644 --- a/packages/kbn-search-connectors/utils/sync_status_to_text.ts +++ b/packages/kbn-search-connectors/utils/sync_status_to_text.ts @@ -62,6 +62,14 @@ export function syncStatusToColor(status: SyncStatus): string { } } +export const isSyncCancellable = (syncStatus: SyncStatus): boolean => { + return ( + syncStatus === SyncStatus.IN_PROGRESS || + syncStatus === SyncStatus.PENDING || + syncStatus === SyncStatus.SUSPENDED + ); +}; + export const syncJobTypeToText = (syncType: SyncJobType): string => { switch (syncType) { case SyncJobType.FULL: diff --git a/packages/kbn-securitysolution-autocomplete/src/field_value_lists/index.test.tsx b/packages/kbn-securitysolution-autocomplete/src/field_value_lists/index.test.tsx index 733e111fb4dd5..daff429912047 100644 --- a/packages/kbn-securitysolution-autocomplete/src/field_value_lists/index.test.tsx +++ b/packages/kbn-securitysolution-autocomplete/src/field_value_lists/index.test.tsx @@ -26,7 +26,11 @@ import { // const mockKibanaHttpService = coreMock.createStart().http; // import { coreMock } from '../../../../../../../src/core/public/mocks'; const mockKibanaHttpService = jest.fn(); - +const mockShowValueListModal = jest.fn(); +const MockedShowValueListModal = (props: unknown) => { + mockShowValueListModal(props); + return <>; +}; const mockStart = jest.fn(); const mockKeywordList: ListSchema = { ...getListResponseMock(), @@ -63,6 +67,7 @@ describe('AutocompleteFieldListsComponent', () => { placeholder="Placeholder text" selectedField={getField('ip')} selectedValue="some-list-id" + showValueListModal={MockedShowValueListModal} /> ); @@ -84,6 +89,7 @@ describe('AutocompleteFieldListsComponent', () => { placeholder="Placeholder text" selectedField={getField('@tags')} selectedValue="" + showValueListModal={MockedShowValueListModal} /> ); @@ -111,6 +117,7 @@ describe('AutocompleteFieldListsComponent', () => { placeholder="Placeholder text" selectedField={getField('ip')} selectedValue="" + showValueListModal={MockedShowValueListModal} /> ); expect( @@ -131,6 +138,7 @@ describe('AutocompleteFieldListsComponent', () => { placeholder="Placeholder text" selectedField={getField('@tags')} selectedValue="" + showValueListModal={MockedShowValueListModal} /> ); @@ -154,6 +162,7 @@ describe('AutocompleteFieldListsComponent', () => { placeholder="Placeholder text" selectedField={getField('ip')} selectedValue="" + showValueListModal={MockedShowValueListModal} /> ); @@ -177,6 +186,7 @@ describe('AutocompleteFieldListsComponent', () => { placeholder="Placeholder text" selectedField={getField('ip')} selectedValue="some-list-id" + showValueListModal={MockedShowValueListModal} /> ); @@ -200,6 +210,7 @@ describe('AutocompleteFieldListsComponent', () => { placeholder="Placeholder text" selectedField={getField('ip')} selectedValue="" + showValueListModal={MockedShowValueListModal} /> ); @@ -230,4 +241,29 @@ describe('AutocompleteFieldListsComponent', () => { }); }); }); + + test('it render the value list modal', async () => { + mockShowValueListModal.mockReset(); + mount( + + ); + + expect(mockShowValueListModal).toHaveBeenCalledWith( + expect.objectContaining({ + children: 'Show value list', + listId: 'some-list-id', + shouldShowContentIfModalNotAvailable: false, + }) + ); + }); }); diff --git a/packages/kbn-securitysolution-autocomplete/src/field_value_lists/index.tsx b/packages/kbn-securitysolution-autocomplete/src/field_value_lists/index.tsx index e7c79042e455d..75c7001c462d5 100644 --- a/packages/kbn-securitysolution-autocomplete/src/field_value_lists/index.tsx +++ b/packages/kbn-securitysolution-autocomplete/src/field_value_lists/index.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { useCallback, useEffect, useMemo, useState } from 'react'; +import React, { ElementType, useCallback, useEffect, useMemo, useState } from 'react'; import { EuiComboBox, EuiComboBoxOptionOption, EuiFormRow, EuiLink, EuiText } from '@elastic/eui'; import type { ListSchema } from '@kbn/securitysolution-io-ts-list-types'; import { useFindListsBySize } from '@kbn/securitysolution-list-hooks'; @@ -36,6 +36,7 @@ interface AutocompleteFieldListsProps { selectedValue: string | undefined; allowLargeValueLists?: boolean; 'aria-label'?: string; + showValueListModal: ElementType; } export interface AutocompleteListsData { @@ -55,6 +56,7 @@ export const AutocompleteFieldListsComponent: React.FC { const [error, setError] = useState(undefined); const [listData, setListData] = useState({ @@ -118,29 +120,36 @@ export const AutocompleteFieldListsComponent: React.FC isLoading || loading, [isLoading, loading]); + const ShowValueListModal = showValueListModal; const helpText = useMemo(() => { return ( - !allowLargeValueLists && ( - - {i18n.LISTS_TOOLTIP_INFO}{' '} - - {i18n.SEE_DOCUMENTATION} - - - ) + <> + {selectedValue && ( + + {i18n.SHOW_VALUE_LIST_MODAL} + + )} + {!allowLargeValueLists && ( + + {i18n.LISTS_TOOLTIP_INFO}{' '} + + {i18n.SEE_DOCUMENTATION} + + + )} + ); - }, [allowLargeValueLists]); - + }, [allowLargeValueLists, selectedValue, ShowValueListModal]); return ( { }, ]} dataTestSubj="exceptionItemConditions" + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('exceptionItemConditionsOs')).toHaveTextContent('OSIS Linux'); @@ -243,6 +245,7 @@ describe('ExceptionItemCardConditions', () => { type: 'nested', }, ]} + showValueListModal={MockedShowValueListModal} dataTestSubj="exceptionItemConditions" /> ); @@ -331,6 +334,7 @@ describe('ExceptionItemCardConditions', () => { type: 'list', }, ]} + showValueListModal={MockedShowValueListModal} dataTestSubj="exceptionItemConditions" /> ); diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/__snapshots__/entry_content.test.tsx.snap b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/__snapshots__/entry_content.test.tsx.snap index f2b8ce9c2ec22..bd4792360e0c9 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/__snapshots__/entry_content.test.tsx.snap +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/__snapshots__/entry_content.test.tsx.snap @@ -48,11 +48,7 @@ Object { - - list_id - + list_id @@ -105,11 +101,7 @@ Object { - - list_id - + list_id diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.helper.test.tsx b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.helper.test.tsx index d30cf9fa2f1d2..0c111c5f2410f 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.helper.test.tsx +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.helper.test.tsx @@ -14,6 +14,10 @@ import { includedListTypeEntry, includedMatchTypeEntry, } from '../../../mocks/entry.mock'; +import { + MockedShowValueListModal, + mockShowValueListModal, +} from '../../../mocks/value_list_modal.mock'; describe('entry_content.helper', () => { describe('getEntryOperator', () => { @@ -62,36 +66,79 @@ describe('entry_content.helper', () => { describe('getValueExpression', () => { it('should render multiple values in badges when operator type is match_any and values is Array', () => { const wrapper = render( - getValueExpression(ListOperatorTypeEnum.MATCH_ANY, 'included', ['value 1', 'value 2']) + getValueExpression( + ListOperatorTypeEnum.MATCH_ANY, + 'included', + ['value 1', 'value 2'], + MockedShowValueListModal + ) ); expect(wrapper.getByTestId('matchAnyBadge0')).toHaveTextContent('value 1'); expect(wrapper.getByTestId('matchAnyBadge1')).toHaveTextContent('value 2'); }); it('should return one value when operator type is match_any and values is not Array', () => { const wrapper = render( - getValueExpression(ListOperatorTypeEnum.MATCH_ANY, 'included', 'value 1') + getValueExpression( + ListOperatorTypeEnum.MATCH_ANY, + 'included', + 'value 1', + MockedShowValueListModal + ) ); expect(wrapper.getByTestId('entryValueExpression')).toHaveTextContent('value 1'); }); it('should return one value when operator type is a single value', () => { const wrapper = render( - getValueExpression(ListOperatorTypeEnum.EXISTS, 'included', 'value 1') + getValueExpression( + ListOperatorTypeEnum.EXISTS, + 'included', + 'value 1', + MockedShowValueListModal + ) ); expect(wrapper.getByTestId('entryValueExpression')).toHaveTextContent('value 1'); }); it('should return value with warning icon when the value contains a leading or trailing space', () => { const wrapper = render( - getValueExpression(ListOperatorTypeEnum.EXISTS, 'included', ' value 1') + getValueExpression( + ListOperatorTypeEnum.EXISTS, + 'included', + ' value 1', + MockedShowValueListModal + ) ); expect(wrapper.getByTestId('entryValueExpression')).toHaveTextContent(' value 1'); expect(wrapper.getByTestId('valueWithSpaceWarningTooltip')).toBeInTheDocument(); }); it('should return value without warning icon when the value does not contain a leading or trailing space', () => { const wrapper = render( - getValueExpression(ListOperatorTypeEnum.EXISTS, 'included', 'value 1') + getValueExpression( + ListOperatorTypeEnum.EXISTS, + 'included', + 'value 1', + MockedShowValueListModal + ) ); expect(wrapper.getByTestId('entryValueExpression')).toHaveTextContent(' value 1'); expect(wrapper.queryByTestId('valueWithSpaceWarningTooltip')).not.toBeInTheDocument(); }); + it('should render value list modal when operator type is list', () => { + mockShowValueListModal.mockReset(); + render( + getValueExpression( + ListOperatorTypeEnum.LIST, + 'included', + 'value 1', + MockedShowValueListModal + ) + ); + expect(mockShowValueListModal).toHaveBeenCalledWith( + expect.objectContaining({ + children: 'value 1', + listId: 'value 1', + shouldShowContentIfModalNotAvailable: true, + }) + ); + }); }); }); diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.helper.tsx b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.helper.tsx index 260b361582ae3..cd894db1d2aaa 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.helper.tsx +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.helper.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React from 'react'; +import React, { ElementType } from 'react'; import { css } from '@emotion/css'; import { EuiExpression, EuiBadge } from '@elastic/eui'; import type { ListOperatorTypeEnum } from '@kbn/securitysolution-io-ts-list-types'; @@ -21,13 +21,21 @@ const entryValueWrapStyle = css` const EntryValueWrap = ({ children }: { children: React.ReactNode }) => ( {children} ); -const getEntryValue = (type: string, value?: string | string[]) => { + +const getEntryValue = (type: string, value: string | string[], showValueListModal: ElementType) => { + const ShowValueListModal = showValueListModal; if (type === 'match_any' && Array.isArray(value)) { return value.map((currentValue, index) => ( {currentValue} )); + } else if (type === 'list' && value) { + return ( + + {value} + + ); } return {value} ?? ''; }; @@ -48,12 +56,13 @@ export const getValue = (entry: Entry) => { export const getValueExpression = ( type: ListOperatorTypeEnum, operator: string, - value: string | string[] + value: string | string[], + showValueListModal: ElementType ) => ( <> diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.test.tsx b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.test.tsx index 7e02e19d61844..fd11f74979047 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.test.tsx +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/entry_content.test.tsx @@ -10,18 +10,29 @@ import { render } from '@testing-library/react'; import { includedListTypeEntry } from '../../../mocks/entry.mock'; import * as i18n from '../../translations'; import { EntryContent } from '.'; +import { MockedShowValueListModal } from '../../../mocks/value_list_modal.mock'; describe('EntryContent', () => { it('should render a single value without AND when index is 0', () => { const wrapper = render( - + ); expect(wrapper.getByTestId('EntryContentSingleEntry')).toBeInTheDocument(); expect(wrapper.getByTestId('entryValueExpression')).toHaveTextContent('list_id'); }); it('should render a single value with AND when index is 1', () => { const wrapper = render( - + ); expect(wrapper.getByTestId('EntryContentSingleEntry')).toBeInTheDocument(); expect(wrapper.getByTestId('entryValueExpression')).toHaveTextContent('list_id'); @@ -34,6 +45,7 @@ describe('EntryContent', () => { index={0} isNestedEntry dataTestSubj="EntryContent" + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('EntryContentNestedEntry')).toBeInTheDocument(); diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/index.tsx b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/index.tsx index 8a5fe0b998fa4..95cbb9e59797c 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/index.tsx +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/entry_content/index.tsx @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import React, { FC, memo } from 'react'; +import React, { ElementType, FC, memo } from 'react'; import { EuiExpression, EuiToken, EuiFlexGroup } from '@elastic/eui'; import { ListOperatorTypeEnum } from '@kbn/securitysolution-io-ts-list-types'; import { @@ -23,10 +23,11 @@ interface EntryContentProps { index: number; isNestedEntry?: boolean; dataTestSubj?: string; + showValueListModal: ElementType; } export const EntryContent: FC = memo( - ({ entry, index, isNestedEntry = false, dataTestSubj }) => { + ({ entry, index, isNestedEntry = false, dataTestSubj, showValueListModal }) => { const { field, type } = entry; const value = getValue(entry); const operator = 'operator' in entry ? entry.operator : ''; @@ -48,7 +49,12 @@ export const EntryContent: FC = memo(
- {getValueExpression(type as ListOperatorTypeEnum, operator, value)} + {getValueExpression( + type as ListOperatorTypeEnum, + operator, + value, + showValueListModal + )}
) : ( @@ -60,7 +66,12 @@ export const EntryContent: FC = memo( data-test-subj={`${dataTestSubj || ''}SingleEntry`} /> - {getValueExpression(type as ListOperatorTypeEnum, operator, value)} + {getValueExpression( + type as ListOperatorTypeEnum, + operator, + value, + showValueListModal + )} )} diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/index.tsx b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/index.tsx index 28d9b1d9b09d1..52a2249c3b2c6 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/index.tsx +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/index.tsx @@ -15,7 +15,7 @@ import { OsCondition } from './os_conditions'; import type { CriteriaConditionsProps, Entry } from './types'; export const ExceptionItemCardConditions = memo( - ({ os, entries, dataTestSubj }) => { + ({ os, entries, dataTestSubj, showValueListModal }) => { return ( ( entry={entry} index={index} dataTestSubj={dataTestSubj} + showValueListModal={showValueListModal} /> {nestedEntries?.length ? nestedEntries.map((nestedEntry: Entry, nestedIndex: number) => ( @@ -43,6 +44,7 @@ export const ExceptionItemCardConditions = memo( index={nestedIndex} isNestedEntry={true} dataTestSubj={dataTestSubj} + showValueListModal={showValueListModal} /> )) : null} diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/types.ts b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/types.ts index 09067e84cafc7..d965dfddd4b46 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/types.ts +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/conditions/types.ts @@ -15,6 +15,7 @@ import type { EntryNested, ExceptionListItemSchema, } from '@kbn/securitysolution-io-ts-list-types'; +import { ElementType } from 'react'; export type Entry = | EntryExists @@ -29,4 +30,5 @@ export interface CriteriaConditionsProps { entries: Entries; dataTestSubj: string; os?: ExceptionListItemSchema['os_types']; + showValueListModal: ElementType; } diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.test.tsx b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.test.tsx index 649748f593034..a6b3763cb5541 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.test.tsx +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.test.tsx @@ -12,6 +12,7 @@ import { fireEvent, render } from '@testing-library/react'; import { ExceptionItemCard } from '.'; import { getExceptionListItemSchemaMock } from '../mocks/exception_list_item_schema.mock'; import { getCommentsArrayMock, mockGetFormattedComments } from '../mocks/comments.mock'; +import { MockedShowValueListModal } from '../mocks/value_list_modal.mock'; import { ExceptionListTypeEnum } from '@kbn/securitysolution-io-ts-list-types'; import { rules } from '../mocks/rule_references.mock'; @@ -30,6 +31,7 @@ describe('ExceptionItemCard', () => { securityLinkAnchorComponent={() => null} formattedDateComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); @@ -53,6 +55,7 @@ describe('ExceptionItemCard', () => { securityLinkAnchorComponent={() => null} formattedDateComponent={() => null} getFormattedComments={mockGetFormattedComments} + showValueListModal={MockedShowValueListModal} /> ); @@ -77,6 +80,7 @@ describe('ExceptionItemCard', () => { securityLinkAnchorComponent={() => null} formattedDateComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.queryByTestId('itemActionButton')).not.toBeInTheDocument(); @@ -97,6 +101,7 @@ describe('ExceptionItemCard', () => { securityLinkAnchorComponent={() => null} formattedDateComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); @@ -120,6 +125,7 @@ describe('ExceptionItemCard', () => { securityLinkAnchorComponent={() => null} formattedDateComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); fireEvent.click(wrapper.getByTestId('exceptionItemCardHeaderButtonIcon')); @@ -146,6 +152,7 @@ describe('ExceptionItemCard', () => { securityLinkAnchorComponent={() => null} formattedDateComponent={() => null} getFormattedComments={mockGetFormattedComments} + showValueListModal={MockedShowValueListModal} /> ); diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.tsx b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.tsx index a9aa5c7dedd87..c44ae14c34b09 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.tsx +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_item_card/exception_item_card.tsx @@ -37,6 +37,7 @@ export interface ExceptionItemProps { getFormattedComments: (comments: CommentsArray) => EuiCommentProps[]; // This property needs to be removed to avoid the Prop Drilling, once we move all the common components from x-pack/security-solution/common onDeleteException: (arg: ExceptionListItemIdentifiers) => void; onEditException: (item: ExceptionListItemSchema) => void; + showValueListModal: ElementType; } const ExceptionItemCardComponent: FC = ({ @@ -52,6 +53,7 @@ const ExceptionItemCardComponent: FC = ({ getFormattedComments, onDeleteException, onEditException, + showValueListModal, }) => { const { actions, formattedComments } = useExceptionItemCard({ listType, @@ -93,6 +95,7 @@ const ExceptionItemCardComponent: FC = ({ os={exceptionItem.os_types} entries={exceptionItem.entries} dataTestSubj="exceptionItemCardConditions" + showValueListModal={showValueListModal} /> {formattedComments.length > 0 && ( diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_items/exception_items.test.tsx b/packages/kbn-securitysolution-exception-list-components/src/exception_items/exception_items.test.tsx index da5df52996952..c4d937339d647 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_items/exception_items.test.tsx +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_items/exception_items.test.tsx @@ -19,6 +19,7 @@ import { ruleReferences } from '../mocks/rule_references.mock'; import { Pagination } from '@elastic/eui'; import { mockGetFormattedComments } from '../mocks/comments.mock'; import { securityLinkAnchorComponentMock } from '../mocks/security_link_component.mock'; +import { MockedShowValueListModal } from '../mocks/value_list_modal.mock'; const onCreateExceptionListItem = jest.fn(); const onDeleteException = jest.fn(); @@ -47,6 +48,7 @@ describe('ExceptionsViewerItems', () => { formattedDateComponent={() => null} exceptionsUtilityComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('emptyViewerState')).toBeInTheDocument(); @@ -71,6 +73,7 @@ describe('ExceptionsViewerItems', () => { formattedDateComponent={() => null} exceptionsUtilityComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('emptySearchViewerState')).toBeInTheDocument(); @@ -96,6 +99,7 @@ describe('ExceptionsViewerItems', () => { formattedDateComponent={() => null} exceptionsUtilityComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('exceptionsContainer')).toBeInTheDocument(); @@ -124,6 +128,7 @@ describe('ExceptionsViewerItems', () => { formattedDateComponent={() => null} exceptionsUtilityComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('exceptionsContainer')).toBeTruthy(); @@ -151,6 +156,7 @@ describe('ExceptionsViewerItems', () => { formattedDateComponent={() => null} exceptionsUtilityComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('exceptionsContainer')).toBeInTheDocument(); @@ -187,6 +193,7 @@ describe('ExceptionsViewerItems', () => { formattedDateComponent={() => null} exceptionsUtilityComponent={exceptionsUtilityComponent} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('exceptionsContainer')).toBeInTheDocument(); @@ -224,6 +231,7 @@ describe('ExceptionsViewerItems', () => { formattedDateComponent={formattedDateComponent} exceptionsUtilityComponent={() => null} getFormattedComments={() => []} + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('exceptionsContainer')).toBeInTheDocument(); @@ -255,6 +263,7 @@ describe('ExceptionsViewerItems', () => { formattedDateComponent={() => null} exceptionsUtilityComponent={() => null} getFormattedComments={mockGetFormattedComments} + showValueListModal={MockedShowValueListModal} /> ); expect(wrapper.getByTestId('exceptionsContainer')).toBeInTheDocument(); diff --git a/packages/kbn-securitysolution-exception-list-components/src/exception_items/index.tsx b/packages/kbn-securitysolution-exception-list-components/src/exception_items/index.tsx index d9085b08f536d..5ea742a8f62b8 100644 --- a/packages/kbn-securitysolution-exception-list-components/src/exception_items/index.tsx +++ b/packages/kbn-securitysolution-exception-list-components/src/exception_items/index.tsx @@ -56,6 +56,7 @@ interface ExceptionItemsProps { onDeleteException: (arg: ExceptionListItemIdentifiers) => void; onEditExceptionItem: (item: ExceptionListItemSchema) => void; onPaginationChange: (arg: GetExceptionItemProps) => void; + showValueListModal: ElementType; } const ExceptionItemsComponent: FC = ({ @@ -80,6 +81,7 @@ const ExceptionItemsComponent: FC = ({ onDeleteException, onEditExceptionItem, onCreateExceptionListItem, + showValueListModal, }) => { const ExceptionsUtility = exceptionsUtilityComponent; if (!exceptions.length || viewerStatus) @@ -93,6 +95,7 @@ const ExceptionItemsComponent: FC = ({ onEmptyButtonStateClick={onCreateExceptionListItem} /> ); + const ShowValueListModal = showValueListModal; return ( <> @@ -128,6 +131,7 @@ const ExceptionItemsComponent: FC = ({ securityLinkAnchorComponent={securityLinkAnchorComponent} formattedDateComponent={formattedDateComponent} getFormattedComments={getFormattedComments} + showValueListModal={ShowValueListModal} /> ))} diff --git a/packages/kbn-securitysolution-exception-list-components/src/mocks/value_list_modal.mock.tsx b/packages/kbn-securitysolution-exception-list-components/src/mocks/value_list_modal.mock.tsx new file mode 100644 index 0000000000000..4dd02b6a1ca08 --- /dev/null +++ b/packages/kbn-securitysolution-exception-list-components/src/mocks/value_list_modal.mock.tsx @@ -0,0 +1,15 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; + +export const mockShowValueListModal = jest.fn(); +export const MockedShowValueListModal = (props: { children: React.ReactNode }) => { + mockShowValueListModal(props); + return <>{props.children}; +}; diff --git a/packages/kbn-securitysolution-io-ts-list-types/src/common/index.ts b/packages/kbn-securitysolution-io-ts-list-types/src/common/index.ts index 9c7e1a4ad31b5..ccd938ba33877 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/src/common/index.ts +++ b/packages/kbn-securitysolution-io-ts-list-types/src/common/index.ts @@ -63,3 +63,4 @@ export * from './underscore_version'; export * from './update_comment'; export * from './updated_at'; export * from './updated_by'; +export * from './refresh'; diff --git a/packages/kbn-securitysolution-io-ts-list-types/src/common/refresh/index.ts b/packages/kbn-securitysolution-io-ts-list-types/src/common/refresh/index.ts new file mode 100644 index 0000000000000..13602cbcfd1f6 --- /dev/null +++ b/packages/kbn-securitysolution-io-ts-list-types/src/common/refresh/index.ts @@ -0,0 +1,18 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import * as t from 'io-ts'; + +export const refresh = t.union([t.literal('true'), t.literal('false')]); +export const refreshWithWaitFor = t.union([ + t.literal('true'), + t.literal('false'), + t.literal('wait_for'), +]); +export type Refresh = t.TypeOf; +export type RefreshWithWaitFor = t.TypeOf; diff --git a/packages/kbn-securitysolution-io-ts-list-types/src/request/create_list_item_schema/index.ts b/packages/kbn-securitysolution-io-ts-list-types/src/request/create_list_item_schema/index.ts index c99e7b059f479..afff3b5c789e9 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/src/request/create_list_item_schema/index.ts +++ b/packages/kbn-securitysolution-io-ts-list-types/src/request/create_list_item_schema/index.ts @@ -13,6 +13,7 @@ import { list_id } from '../../common/list_id'; import { value } from '../../common/value'; import { id } from '../../common/id'; import { meta } from '../../common/meta'; +import { refreshWithWaitFor } from '../../common/refresh'; export const createListItemSchema = t.intersection([ t.exact( @@ -21,7 +22,7 @@ export const createListItemSchema = t.intersection([ value, }) ), - t.exact(t.partial({ id, meta })), + t.exact(t.partial({ id, meta, refresh: refreshWithWaitFor })), ]); export type CreateListItemSchema = t.OutputOf; diff --git a/packages/kbn-securitysolution-io-ts-list-types/src/request/delete_list_item_schema/index.ts b/packages/kbn-securitysolution-io-ts-list-types/src/request/delete_list_item_schema/index.ts index 903a6abb1535a..ab24bf3f862d5 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/src/request/delete_list_item_schema/index.ts +++ b/packages/kbn-securitysolution-io-ts-list-types/src/request/delete_list_item_schema/index.ts @@ -12,6 +12,7 @@ import { RequiredKeepUndefined } from '../../common/required_keep_undefined'; import { id } from '../../common/id'; import { list_id } from '../../common/list_id'; import { valueOrUndefined } from '../../common/value'; +import { refresh } from '../../common/refresh'; export const deleteListItemSchema = t.intersection([ t.exact( @@ -19,7 +20,7 @@ export const deleteListItemSchema = t.intersection([ value: valueOrUndefined, }) ), - t.exact(t.partial({ id, list_id })), + t.exact(t.partial({ id, list_id, refresh })), ]); export type DeleteListItemSchema = t.OutputOf; diff --git a/packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.mock.ts b/packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.mock.ts index 622400e307811..4dbc5bd1472d3 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.mock.ts +++ b/packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.mock.ts @@ -15,4 +15,5 @@ export const getImportListItemQuerySchemaMock = (): ImportListItemQuerySchema => list_id: LIST_ID, serializer: undefined, type: TYPE, + refresh: 'false', }); diff --git a/packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.ts b/packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.ts index 9d7b782c502b4..71d6f933daf39 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.ts +++ b/packages/kbn-securitysolution-io-ts-list-types/src/request/import_list_item_query_schema/index.ts @@ -13,9 +13,10 @@ import { deserializer } from '../../common/deserializer'; import { list_id } from '../../common/list_id'; import { type } from '../../common/type'; import { serializer } from '../../common/serializer'; +import { refreshWithWaitFor } from '../../common/refresh'; export const importListItemQuerySchema = t.exact( - t.partial({ deserializer, list_id, serializer, type }) + t.partial({ deserializer, list_id, serializer, type, refresh: refreshWithWaitFor }) ); export type ImportListItemQuerySchema = RequiredKeepUndefined< diff --git a/packages/kbn-securitysolution-io-ts-list-types/src/request/patch_list_item_schema/index.ts b/packages/kbn-securitysolution-io-ts-list-types/src/request/patch_list_item_schema/index.ts index 7de6d75c74eb2..402d265e1b70a 100644 --- a/packages/kbn-securitysolution-io-ts-list-types/src/request/patch_list_item_schema/index.ts +++ b/packages/kbn-securitysolution-io-ts-list-types/src/request/patch_list_item_schema/index.ts @@ -13,6 +13,7 @@ import { _version } from '../../common/underscore_version'; import { id } from '../../common/id'; import { meta } from '../../common/meta'; import { value } from '../../common/value'; +import { refresh } from '../../common/refresh'; export const patchListItemSchema = t.intersection([ t.exact( @@ -20,7 +21,7 @@ export const patchListItemSchema = t.intersection([ id, }) ), - t.exact(t.partial({ _version, meta, value })), + t.exact(t.partial({ _version, meta, value, refresh })), ]); export type PatchListItemSchema = t.OutputOf; diff --git a/packages/kbn-securitysolution-list-api/index.ts b/packages/kbn-securitysolution-list-api/index.ts index 7b4a33641befa..3a28bfa1a6ff3 100644 --- a/packages/kbn-securitysolution-list-api/index.ts +++ b/packages/kbn-securitysolution-list-api/index.ts @@ -9,3 +9,5 @@ export * from './src/api'; export * from './src/fp_utils'; export * from './src/list_api'; +export * from './src/list_item_api'; +export * from './src/types'; diff --git a/packages/kbn-securitysolution-list-api/src/list_api/index.test.ts b/packages/kbn-securitysolution-list-api/src/list_api/index.test.ts index 56e0e51dea0d9..c3869eebd454a 100644 --- a/packages/kbn-securitysolution-list-api/src/list_api/index.test.ts +++ b/packages/kbn-securitysolution-list-api/src/list_api/index.test.ts @@ -12,7 +12,7 @@ import { ExportListParams, FindListsParams, ImportListParams, -} from './types'; +} from '../types'; import { HttpFetchOptions } from '@kbn/core-http-browser'; import { httpServiceMock } from '@kbn/core-http-browser-mocks'; diff --git a/packages/kbn-securitysolution-list-api/src/list_api/index.ts b/packages/kbn-securitysolution-list-api/src/list_api/index.ts index 59303b9e8abaf..1354ddd6f35e4 100644 --- a/packages/kbn-securitysolution-list-api/src/list_api/index.ts +++ b/packages/kbn-securitysolution-list-api/src/list_api/index.ts @@ -20,8 +20,10 @@ import { ImportListItemSchemaEncoded, ListItemIndexExistSchema, ListSchema, + ReadListSchema, acknowledgeSchema, deleteListSchema, + readListSchema, exportListItemQuerySchema, findListSchema, foundListSchema, @@ -47,7 +49,8 @@ import { ExportListParams, FindListsParams, ImportListParams, -} from './types'; + GetListByIdParams, +} from '../types'; export type { ApiParams, @@ -55,7 +58,7 @@ export type { ExportListParams, FindListsParams, ImportListParams, -} from './types'; +} from '../types'; const version = '2023-10-31'; @@ -158,6 +161,7 @@ const importList = async ({ list_id, type, signal, + refresh, }: ApiParams & ImportListItemSchemaEncoded & ImportListItemQuerySchemaEncoded): Promise => { @@ -168,7 +172,7 @@ const importList = async ({ body: formData, headers: { 'Content-Type': undefined }, method: 'POST', - query: { list_id, type }, + query: { list_id, type, refresh }, signal, version, }); @@ -180,11 +184,13 @@ const importListWithValidation = async ({ listId, type, signal, + refresh, }: ImportListParams): Promise => pipe( { list_id: listId, type, + refresh, }, (query) => fromEither(validateEither(importListItemQuerySchema, query)), chain((query) => @@ -303,3 +309,35 @@ const createListIndexWithValidation = async ({ )(); export { createListIndexWithValidation as createListIndex }; + +const getListById = async ({ + http, + signal, + id, +}: ApiParams & ReadListSchema): Promise => { + return http.fetch(`${LIST_URL}`, { + method: 'GET', + query: { + id, + }, + signal, + version, + }); +}; + +const getListByIdWithValidation = async ({ + http, + signal, + id, +}: GetListByIdParams): Promise => + pipe( + { + id, + }, + (payload) => fromEither(validateEither(readListSchema, payload)), + chain((payload) => tryCatch(() => getListById({ http, signal, ...payload }), toError)), + chain((response) => fromEither(validateEither(listSchema, response))), + flow(toPromise) + ); + +export { getListByIdWithValidation as getListById }; diff --git a/packages/kbn-securitysolution-list-api/src/list_item_api/index.test.ts b/packages/kbn-securitysolution-list-api/src/list_item_api/index.test.ts new file mode 100644 index 0000000000000..9923f7f290742 --- /dev/null +++ b/packages/kbn-securitysolution-list-api/src/list_item_api/index.test.ts @@ -0,0 +1,172 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { createListItem, deleteListItem, findListItems, patchListItem } from '.'; +import { httpServiceMock } from '@kbn/core-http-browser-mocks'; +import { + getFoundListSchemaMock, + getCreateListItemResponseMock, + getUpdatedListItemResponseMock, + getDeletedListItemResponseMock, +} from './mocks/response'; + +describe('Value list item API', () => { + let httpMock: ReturnType; + beforeEach(() => { + httpMock = httpServiceMock.createStartContract(); + }); + + describe('findListItems', () => { + beforeEach(() => { + httpMock.fetch.mockResolvedValue(getFoundListSchemaMock()); + }); + + it('GETs from the lists endpoint with query params', async () => { + const abortCtrl = new AbortController(); + await findListItems({ + http: httpMock, + pageIndex: 1, + pageSize: 10, + signal: abortCtrl.signal, + filter: '*:*', + listId: 'list_id', + sortField: 'updated_at', + sortOrder: 'asc', + }); + + expect(httpMock.fetch).toHaveBeenCalledWith( + '/api/lists/items/_find', + expect.objectContaining({ + method: 'GET', + query: { + cursor: undefined, + filter: '*:*', + list_id: 'list_id', + page: 1, + per_page: 10, + sort_field: 'updated_at', + sort_order: 'asc', + }, + }) + ); + }); + }); + + describe('createListItem', () => { + beforeEach(() => { + httpMock.fetch.mockResolvedValue(getCreateListItemResponseMock()); + }); + + it('POSTs to the lists endpoint with the list item', async () => { + const abortCtrl = new AbortController(); + await createListItem({ + http: httpMock, + signal: abortCtrl.signal, + value: '123', + listId: 'list_id', + }); + + expect(httpMock.fetch).toHaveBeenCalledWith( + '/api/lists/items', + expect.objectContaining({ + method: 'POST', + body: JSON.stringify({ + value: '123', + list_id: 'list_id', + }), + }) + ); + }); + + it('returns the created list item', async () => { + const abortCtrl = new AbortController(); + const result = await createListItem({ + http: httpMock, + signal: abortCtrl.signal, + value: '123', + listId: 'list_id', + }); + + expect(result).toEqual(getCreateListItemResponseMock()); + }); + }); + + describe('patchListItem', () => { + beforeEach(() => { + httpMock.fetch.mockResolvedValue(getUpdatedListItemResponseMock()); + }); + + it('PATCH to the lists endpoint with the list item', async () => { + const abortCtrl = new AbortController(); + await patchListItem({ + http: httpMock, + signal: abortCtrl.signal, + id: 'item_id', + value: '123', + }); + + expect(httpMock.fetch).toHaveBeenCalledWith( + '/api/lists/items', + expect.objectContaining({ + method: 'PATCH', + body: JSON.stringify({ + id: 'item_id', + value: '123', + }), + }) + ); + }); + + it('returns the updated list item', async () => { + const abortCtrl = new AbortController(); + const result = await patchListItem({ + http: httpMock, + signal: abortCtrl.signal, + id: 'item_id', + value: '123', + }); + + expect(result).toEqual(getUpdatedListItemResponseMock()); + }); + }); + + describe('deleteListItem', () => { + beforeEach(() => { + httpMock.fetch.mockResolvedValue(getCreateListItemResponseMock()); + }); + + it('DELETE to the lists endpoint with the list item', async () => { + const abortCtrl = new AbortController(); + await deleteListItem({ + http: httpMock, + signal: abortCtrl.signal, + id: 'item_id', + refresh: 'true', + }); + + expect(httpMock.fetch).toHaveBeenCalledWith( + '/api/lists/items', + expect.objectContaining({ + method: 'DELETE', + query: { id: 'item_id', refresh: 'true' }, + }) + ); + }); + + it('returns the deleted list item', async () => { + const abortCtrl = new AbortController(); + const result = await deleteListItem({ + http: httpMock, + signal: abortCtrl.signal, + id: 'item_id', + }); + + expect(result).toEqual(getDeletedListItemResponseMock()); + }); + }); +}); diff --git a/packages/kbn-securitysolution-list-api/src/list_item_api/index.ts b/packages/kbn-securitysolution-list-api/src/list_item_api/index.ts new file mode 100644 index 0000000000000..21fbfb08d51c0 --- /dev/null +++ b/packages/kbn-securitysolution-list-api/src/list_item_api/index.ts @@ -0,0 +1,226 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { + FindListItemSchema, + ListItemSchema, + deleteListItemSchema, + patchListItemSchema, + createListItemSchema, + findListItemSchema, + foundListItemSchema, + listItemSchema, + FoundListItemSchema, + DeleteListItemSchema, + PatchListItemSchema, + CreateListItemSchema, +} from '@kbn/securitysolution-io-ts-list-types'; +import { chain, fromEither, tryCatch } from 'fp-ts/lib/TaskEither'; +import { flow } from 'fp-ts/lib/function'; +import { pipe } from 'fp-ts/lib/pipeable'; +import { validateEither } from '@kbn/securitysolution-io-ts-utils'; + +import { LIST_ITEM_URL } from '@kbn/securitysolution-list-constants'; +import { + ApiParams, + FindListItemsParams, + DeleteListItemParams, + PatchListItemParams, + CreateListItemParams, +} from '../types'; +import { toError, toPromise } from '../fp_utils'; + +const version = '2023-10-31'; + +/** + * Fetch list items + */ +const findListItems = async ({ + http, + cursor, + page, + // eslint-disable-next-line @typescript-eslint/naming-convention + list_id, + // eslint-disable-next-line @typescript-eslint/naming-convention + per_page, + signal, + // eslint-disable-next-line @typescript-eslint/naming-convention + sort_field, + // eslint-disable-next-line @typescript-eslint/naming-convention + sort_order, + filter, +}: ApiParams & FindListItemSchema): Promise => { + return http.fetch(`${LIST_ITEM_URL}/_find`, { + method: 'GET', + query: { + cursor, + page, + per_page, + sort_field, + sort_order, + list_id, + filter, + }, + signal, + version, + }); +}; + +const findListItemsWithValidation = async ({ + cursor, + http, + pageIndex, + pageSize, + signal, + sortField, + sortOrder, + filter, + listId, +}: FindListItemsParams): Promise => + pipe( + { + cursor: cursor != null ? cursor.toString() : undefined, + page: pageIndex != null ? pageIndex.toString() : undefined, + per_page: pageSize != null ? pageSize.toString() : undefined, + sort_field: sortField != null ? sortField.toString() : undefined, + filter: filter != null ? filter.toString() : undefined, + sort_order: sortOrder, + list_id: listId, + }, + (payload) => fromEither(validateEither(findListItemSchema, payload)), + chain((payload) => tryCatch(() => findListItems({ http, signal, ...payload }), toError)), + chain((response) => fromEither(validateEither(foundListItemSchema, response))), + flow(toPromise) + ); + +export { findListItemsWithValidation as findListItems }; + +const deleteListItem = async ({ + http, + id, + signal, + refresh, +}: ApiParams & DeleteListItemSchema): Promise => + http.fetch(LIST_ITEM_URL, { + method: 'DELETE', + query: { id, refresh }, + signal, + version, + }); + +const deleteListItemWithValidation = async ({ + http, + id, + signal, + refresh, +}: DeleteListItemParams): Promise => + pipe( + { id, refresh }, + (payload) => fromEither(validateEither(deleteListItemSchema, payload)), + chain((payload) => + tryCatch( + () => + deleteListItem({ + http, + signal, + ...payload, + value: undefined, + list_id: undefined, + }), + toError + ) + ), + chain((response) => fromEither(validateEither(listItemSchema, response))), + flow(toPromise) + ); + +export { deleteListItemWithValidation as deleteListItem }; + +const patchListItem = async ({ + http, + id, + signal, + value, + _version, +}: ApiParams & PatchListItemSchema): Promise => + http.fetch(LIST_ITEM_URL, { + method: 'PATCH', + body: JSON.stringify({ id, value, _version }), + signal, + version, + }); + +const patchListItemWithValidation = async ({ + http, + id, + signal, + value, + refresh, + _version, +}: PatchListItemParams): Promise => + pipe( + { id, value, _version, refresh }, + (payload) => fromEither(validateEither(patchListItemSchema, payload)), + chain((payload) => + tryCatch( + () => + patchListItem({ + http, + signal, + ...payload, + }), + toError + ) + ), + chain((response) => fromEither(validateEither(listItemSchema, response))), + flow(toPromise) + ); + +export { patchListItemWithValidation as patchListItem }; + +const createListItem = async ({ + http, + signal, + value, + // eslint-disable-next-line @typescript-eslint/naming-convention + list_id, + refresh, +}: ApiParams & CreateListItemSchema): Promise => + http.fetch(LIST_ITEM_URL, { + method: 'POST', + body: JSON.stringify({ value, list_id, refresh }), + signal, + version, + }); + +const createListItemWithValidation = async ({ + http, + signal, + value, + refresh, + listId, +}: CreateListItemParams): Promise => + pipe( + { list_id: listId, value, refresh }, + (payload) => fromEither(validateEither(createListItemSchema, payload)), + chain((payload) => + tryCatch( + () => + createListItem({ + http, + signal, + ...payload, + }), + toError + ) + ), + chain((response) => fromEither(validateEither(listItemSchema, response))), + flow(toPromise) + ); + +export { createListItemWithValidation as createListItem }; diff --git a/packages/kbn-securitysolution-list-api/src/list_item_api/mocks/response/index.ts b/packages/kbn-securitysolution-list-api/src/list_item_api/mocks/response/index.ts new file mode 100644 index 0000000000000..3660f65fae573 --- /dev/null +++ b/packages/kbn-securitysolution-list-api/src/list_item_api/mocks/response/index.ts @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { FoundListItemSchema, ListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; + +import { getListItemResponseMock } from './list_item_schema.mock'; + +export const getFoundListSchemaMock = (): FoundListItemSchema => ({ + cursor: '123', + data: [getListItemResponseMock()], + page: 1, + per_page: 1, + total: 1, +}); + +export const getCreateListItemResponseMock = (): ListItemSchema => getListItemResponseMock(); +export const getUpdatedListItemResponseMock = (): ListItemSchema => getListItemResponseMock(); +export const getDeletedListItemResponseMock = (): ListItemSchema => getListItemResponseMock(); diff --git a/packages/kbn-securitysolution-list-api/src/list_item_api/mocks/response/list_item_schema.mock.ts b/packages/kbn-securitysolution-list-api/src/list_item_api/mocks/response/list_item_schema.mock.ts new file mode 100644 index 0000000000000..1faf5d52b4871 --- /dev/null +++ b/packages/kbn-securitysolution-list-api/src/list_item_api/mocks/response/list_item_schema.mock.ts @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { ListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; + +export const getListItemResponseMock = (): ListItemSchema => ({ + _version: '1', + '@timestamp': '2020-08-11T11:22:13.670Z', + created_at: '2020-08-11T11:22:13.670Z', + created_by: 'elastic', + deserializer: 'some deserializer', + id: 'bpdB3XMBx7pemMHopQ6M', + list_id: 'list_id', + meta: {}, + serializer: 'some serializer', + tie_breaker_id: '17d3befb-dc22-4b3c-a286-b5504c4fbeeb', + type: 'keyword', + updated_at: '2020-08-11T11:22:13.670Z', + updated_by: 'elastic', + value: 'some keyword', +}); diff --git a/packages/kbn-securitysolution-list-api/src/list_api/types.ts b/packages/kbn-securitysolution-list-api/src/types.ts similarity index 66% rename from packages/kbn-securitysolution-list-api/src/list_api/types.ts rename to packages/kbn-securitysolution-list-api/src/types.ts index 5f63c06234bcb..76682ad5082f3 100644 --- a/packages/kbn-securitysolution-list-api/src/list_api/types.ts +++ b/packages/kbn-securitysolution-list-api/src/types.ts @@ -10,6 +10,8 @@ import type { SortFieldOrUndefined, SortOrderOrUndefined, Type, + Refresh, + RefreshWithWaitFor, } from '@kbn/securitysolution-io-ts-list-types'; // TODO: Replace these with kbn packaged versions once we have those available to us @@ -33,10 +35,21 @@ export interface FindListsParams extends ApiParams { sortField?: SortFieldOrUndefined; } +export interface FindListItemsParams extends ApiParams { + cursor?: string | undefined; + pageSize: number | undefined; + pageIndex: number | undefined; + sortOrder?: SortOrderOrUndefined; + sortField?: SortFieldOrUndefined; + filter: string | undefined; + listId: string; +} + export interface ImportListParams extends ApiParams { file: File; listId: string | undefined; type: Type | undefined; + refresh?: RefreshWithWaitFor; } export interface DeleteListParams extends ApiParams { @@ -45,6 +58,28 @@ export interface DeleteListParams extends ApiParams { ignoreReferences?: boolean; } +export interface DeleteListItemParams extends ApiParams { + refresh?: Refresh; + id: string; +} + +export interface PatchListItemParams extends ApiParams { + refresh?: Refresh; + id: string; + value: string; + _version?: string; +} + +export interface CreateListItemParams extends ApiParams { + refresh?: RefreshWithWaitFor; + value: string; + listId: string; +} + export interface ExportListParams extends ApiParams { listId: string; } + +export interface GetListByIdParams extends ApiParams { + id: string; +} diff --git a/packages/kbn-securitysolution-list-hooks/index.ts b/packages/kbn-securitysolution-list-hooks/index.ts index 2422d2767349a..78af3f55e7f5a 100644 --- a/packages/kbn-securitysolution-list-hooks/index.ts +++ b/packages/kbn-securitysolution-list-hooks/index.ts @@ -19,3 +19,8 @@ export * from './src/use_persist_exception_item'; export * from './src/use_persist_exception_list'; export * from './src/use_read_list_index'; export * from './src/use_read_list_privileges'; +export * from './src/use_find_list_items'; +export * from './src/use_create_list_item'; +export * from './src/use_delete_list_item'; +export * from './src/use_patch_list_item'; +export * from './src/use_get_list_by_id'; diff --git a/packages/kbn-securitysolution-list-hooks/src/index.ts b/packages/kbn-securitysolution-list-hooks/src/index.ts index e458abd0448ad..fa0aca962c69e 100644 --- a/packages/kbn-securitysolution-list-hooks/src/index.ts +++ b/packages/kbn-securitysolution-list-hooks/src/index.ts @@ -18,3 +18,8 @@ export * from './use_persist_exception_item'; export * from './use_persist_exception_list'; export * from './use_read_list_index'; export * from './use_read_list_privileges'; +export * from './use_find_list_items'; +export * from './use_create_list_item'; +export * from './use_delete_list_item'; +export * from './use_patch_list_item'; +export * from './use_get_list_by_id'; diff --git a/packages/kbn-securitysolution-list-hooks/src/use_create_list_item/index.ts b/packages/kbn-securitysolution-list-hooks/src/use_create_list_item/index.ts new file mode 100644 index 0000000000000..1bd218de4f6c7 --- /dev/null +++ b/packages/kbn-securitysolution-list-hooks/src/use_create_list_item/index.ts @@ -0,0 +1,42 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { UseMutationOptions } from '@tanstack/react-query'; +import type { ListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; +import type { IHttpFetchError } from '@kbn/core-http-browser'; +import { useMutation } from '@tanstack/react-query'; +import { createListItem } from '@kbn/securitysolution-list-api'; +import type { CreateListItemParams } from '@kbn/securitysolution-list-api'; +import { withOptionalSignal } from '@kbn/securitysolution-hook-utils'; + +import { useInvalidateListItemQuery } from '../use_find_list_items'; + +const createListItemWithOptionalSignal = withOptionalSignal(createListItem); + +export const CREATE_LIST_ITEM_MUTATION_KEY = ['POST', 'LIST_ITEM_CREATE']; +type CreateListMutationParams = Omit; + +export const useCreateListItemMutation = ( + options?: UseMutationOptions, CreateListMutationParams> +) => { + const invalidateListItemQuery = useInvalidateListItemQuery(); + return useMutation, CreateListMutationParams>( + ({ listId, value, http }) => + createListItemWithOptionalSignal({ listId, value, http, refresh: 'true' }), + { + ...options, + mutationKey: CREATE_LIST_ITEM_MUTATION_KEY, + onSettled: (...args) => { + invalidateListItemQuery(); + if (options?.onSettled) { + options.onSettled(...args); + } + }, + } + ); +}; diff --git a/packages/kbn-securitysolution-list-hooks/src/use_delete_list_item/index.ts b/packages/kbn-securitysolution-list-hooks/src/use_delete_list_item/index.ts new file mode 100644 index 0000000000000..b1f9f3490480c --- /dev/null +++ b/packages/kbn-securitysolution-list-hooks/src/use_delete_list_item/index.ts @@ -0,0 +1,40 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { UseMutationOptions } from '@tanstack/react-query'; +import type { ListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; +import { useMutation } from '@tanstack/react-query'; +import { deleteListItem } from '@kbn/securitysolution-list-api'; +import type { IHttpFetchError } from '@kbn/core-http-browser'; +import type { DeleteListItemParams } from '@kbn/securitysolution-list-api'; +import { withOptionalSignal } from '@kbn/securitysolution-hook-utils'; +import { useInvalidateListItemQuery } from '../use_find_list_items'; + +const deleteListItemWithOptionalSignal = withOptionalSignal(deleteListItem); + +export const DELETE_LIST_ITEM_MUTATION_KEY = ['POST', ' DELETE_LIST_ITEM_MUTATION']; +type DeleteListMutationParams = Omit; + +export const useDeleteListItemMutation = ( + options?: UseMutationOptions, DeleteListMutationParams> +) => { + const invalidateListItemQuery = useInvalidateListItemQuery(); + return useMutation, DeleteListMutationParams>( + ({ id, http }) => deleteListItemWithOptionalSignal({ id, http, refresh: 'true' }), + { + ...options, + mutationKey: DELETE_LIST_ITEM_MUTATION_KEY, + onSettled: (...args) => { + invalidateListItemQuery(); + if (options?.onSettled) { + options.onSettled(...args); + } + }, + } + ); +}; diff --git a/packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts b/packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts new file mode 100644 index 0000000000000..031fe0f1311a2 --- /dev/null +++ b/packages/kbn-securitysolution-list-hooks/src/use_find_list_items/index.ts @@ -0,0 +1,74 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { useCallback } from 'react'; +import { useQuery, useQueryClient } from '@tanstack/react-query'; +import { findListItems, ApiParams } from '@kbn/securitysolution-list-api'; +import { withOptionalSignal } from '@kbn/securitysolution-hook-utils'; +import { useCursor } from '../use_cursor'; + +const findListItemsWithOptionalSignal = withOptionalSignal(findListItems); + +const FIND_LIST_ITEMS_QUERY_KEY = 'FIND_LIST_ITEMS'; + +export const useInvalidateListItemQuery = () => { + const queryClient = useQueryClient(); + + return useCallback(() => { + queryClient.invalidateQueries([FIND_LIST_ITEMS_QUERY_KEY], { + refetchType: 'active', + }); + }, [queryClient]); +}; + +export const useFindListItems = ({ + pageIndex, + pageSize, + sortField, + sortOrder, + listId, + filter, + http, +}: { + pageIndex: number; + pageSize: number; + sortField: string; + sortOrder: 'asc' | 'desc'; + listId: string; + filter: string; + http: ApiParams['http']; +}) => { + const [cursor, setCursor] = useCursor({ pageIndex, pageSize }); + return useQuery( + [FIND_LIST_ITEMS_QUERY_KEY, pageIndex, pageSize, sortField, sortOrder, listId, filter], + async ({ signal }) => { + const response = await findListItemsWithOptionalSignal({ + http, + signal, + pageIndex, + pageSize, + sortField, + sortOrder, + listId, + cursor, + filter, + }); + return response; + }, + { + keepPreviousData: true, + refetchOnWindowFocus: false, + retry: false, + onSuccess: (data) => { + if (data?.cursor) { + setCursor(data?.cursor); + } + }, + } + ); +}; diff --git a/packages/kbn-securitysolution-list-hooks/src/use_get_list_by_id/index.ts b/packages/kbn-securitysolution-list-hooks/src/use_get_list_by_id/index.ts new file mode 100644 index 0000000000000..4c2dae01b0a72 --- /dev/null +++ b/packages/kbn-securitysolution-list-hooks/src/use_get_list_by_id/index.ts @@ -0,0 +1,27 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { useQuery } from '@tanstack/react-query'; +import { getListById, ApiParams } from '@kbn/securitysolution-list-api'; +import { withOptionalSignal } from '@kbn/securitysolution-hook-utils'; + +const getListByIdWithOptionalSignal = withOptionalSignal(getListById); + +const GET_LIST_BY_ID_QUERY_KEY = 'GET_LIST_BY_ID'; +export const useGetListById = ({ http, id }: { http: ApiParams['http']; id: string }) => { + return useQuery( + [GET_LIST_BY_ID_QUERY_KEY, id], + async ({ signal }) => { + const respone = await getListByIdWithOptionalSignal({ http, signal, id }); + return respone; + }, + { + refetchOnWindowFocus: false, + } + ); +}; diff --git a/packages/kbn-securitysolution-list-hooks/src/use_patch_list_item/index.ts b/packages/kbn-securitysolution-list-hooks/src/use_patch_list_item/index.ts new file mode 100644 index 0000000000000..976b60a5f16c6 --- /dev/null +++ b/packages/kbn-securitysolution-list-hooks/src/use_patch_list_item/index.ts @@ -0,0 +1,41 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { UseMutationOptions } from '@tanstack/react-query'; +import type { ListItemSchema } from '@kbn/securitysolution-io-ts-list-types'; +import { useMutation } from '@tanstack/react-query'; +import type { PatchListItemParams } from '@kbn/securitysolution-list-api'; +import { patchListItem } from '@kbn/securitysolution-list-api'; +import type { IHttpFetchError } from '@kbn/core-http-browser'; +import { withOptionalSignal } from '@kbn/securitysolution-hook-utils'; +import { useInvalidateListItemQuery } from '../use_find_list_items'; + +const patchListItemWithOptionalSignal = withOptionalSignal(patchListItem); + +export const PATCH_LIST_ITEM_MUTATION_KEY = ['PATCH', 'LIST_ITEM_MUTATION']; +type PatchListMutationParams = Omit; + +export const usePatchListItemMutation = ( + options?: UseMutationOptions, PatchListMutationParams> +) => { + const invalidateListItemQuery = useInvalidateListItemQuery(); + return useMutation, PatchListMutationParams>( + ({ id, value, _version, http }: PatchListMutationParams) => + patchListItemWithOptionalSignal({ id, value, http, refresh: 'true', _version }), + { + ...options, + mutationKey: PATCH_LIST_ITEM_MUTATION_KEY, + onSettled: (...args) => { + invalidateListItemQuery(); + if (options?.onSettled) { + options.onSettled(...args); + } + }, + } + ); +}; diff --git a/packages/kbn-securitysolution-list-hooks/tsconfig.json b/packages/kbn-securitysolution-list-hooks/tsconfig.json index 0ef5544da1898..53e105e609750 100644 --- a/packages/kbn-securitysolution-list-hooks/tsconfig.json +++ b/packages/kbn-securitysolution-list-hooks/tsconfig.json @@ -8,7 +8,7 @@ ] }, "include": [ - "**/*.ts" + "**/*.ts", ], "kbn_references": [ "@kbn/securitysolution-hook-utils", diff --git a/packages/kbn-server-route-repository/src/decode_request_params.ts b/packages/kbn-server-route-repository/src/decode_request_params.ts index 00492d69b8ac5..e9b75ded73d01 100644 --- a/packages/kbn-server-route-repository/src/decode_request_params.ts +++ b/packages/kbn-server-route-repository/src/decode_request_params.ts @@ -8,9 +8,9 @@ import * as t from 'io-ts'; import { omitBy, isPlainObject, isEmpty } from 'lodash'; import { isLeft } from 'fp-ts/lib/Either'; -import { PathReporter } from 'io-ts/lib/PathReporter'; import Boom from '@hapi/boom'; import { strictKeysRt } from '@kbn/io-ts-utils'; +import { formatErrors } from '@kbn/securitysolution-io-ts-utils'; import { RouteParamsRT } from './typings'; interface KibanaRequestParams { @@ -36,7 +36,7 @@ export function decodeRequestParams( const result = strictKeysRt(paramsRt).decode(paramMap); if (isLeft(result)) { - throw Boom.badRequest(PathReporter.report(result)[0]); + throw Boom.badRequest(formatErrors(result.left).join('|')); } return result.right; diff --git a/packages/kbn-server-route-repository/tsconfig.json b/packages/kbn-server-route-repository/tsconfig.json index a0e9cc288d7b0..f5f84f5114b7d 100644 --- a/packages/kbn-server-route-repository/tsconfig.json +++ b/packages/kbn-server-route-repository/tsconfig.json @@ -17,7 +17,8 @@ "@kbn/core-http-request-handler-context-server", "@kbn/core-http-server", "@kbn/core-lifecycle-server", - "@kbn/logging" + "@kbn/logging", + "@kbn/securitysolution-io-ts-utils" ], "exclude": [ "target/**/*", diff --git a/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts b/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts index 9828415a0a95c..12e3bfc56d980 100644 --- a/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts +++ b/packages/kbn-test/src/kbn_client/kbn_client_saved_objects.ts @@ -107,6 +107,7 @@ const STANDARD_LIST_TYPES = [ // synthetics based objects 'synthetics-monitor', 'uptime-dynamic-settings', + 'synthetics-privates-locations', 'osquery-saved-query', 'osquery-pack', diff --git a/packages/kbn-text-based-editor/src/editor_footer.tsx b/packages/kbn-text-based-editor/src/editor_footer.tsx index ab3d051c6332a..27a92b504c705 100644 --- a/packages/kbn-text-based-editor/src/editor_footer.tsx +++ b/packages/kbn-text-based-editor/src/editor_footer.tsx @@ -14,10 +14,11 @@ import { EuiFlexGroup, EuiFlexItem, EuiIcon, - EuiButton, useEuiTheme, EuiLink, EuiCode, + EuiButtonIcon, + EuiToolTip, } from '@elastic/eui'; import { Interpolation, Theme, css } from '@emotion/react'; import type { MonacoMessage } from './helpers'; @@ -40,21 +41,31 @@ export function SubmitFeedbackComponent({ isSpaceReduced }: { isSpaceReduced?: b target="_blank" data-test-subj="TextBasedLangEditor-feedback-link" > - + + + )} {!isSpaceReduced && ( <> - + { // update the query first @@ -148,6 +160,10 @@ export const EditorFooter = memo(function EditorFooter({ [runQuery, updateQuery] ); + const shadowStyle = isInCompactMode + ? `inset 0 0px 0, inset 0 -1px 0 ${euiTheme.border.color}` + : 'none'; + return ( @@ -301,60 +318,41 @@ export const EditorFooter = memo(function EditorFooter({ /> )} - - - - {allowQueryCancellation && isLoading + - - - {allowQueryCancellation && isLoading ? 'X' : `${COMMAND_KEY}⏎`} - - - - + ) + } + /> + @@ -369,6 +367,7 @@ export const EditorFooter = memo(function EditorFooter({ onUpdateAndSubmit={onUpdateAndSubmit} containerWidth={containerWidth} refetchHistoryItems={refetchHistoryItems} + isInCompactMode={isInCompactMode} /> )} diff --git a/packages/kbn-text-based-editor/src/query_history.test.tsx b/packages/kbn-text-based-editor/src/query_history.test.tsx index 74cdb096a81f1..6ee970321a9ae 100644 --- a/packages/kbn-text-based-editor/src/query_history.test.tsx +++ b/packages/kbn-text-based-editor/src/query_history.test.tsx @@ -82,12 +82,15 @@ describe('QueryHistory', () => { name: 'Last duration', sortable: false, width: '120px', + css: { + justifyContent: 'flex-end', + }, }, { actions: [], 'data-test-subj': 'actions', name: '', - width: '40px', + width: '60px', }, ]); }); @@ -127,6 +130,9 @@ describe('QueryHistory', () => { name: 'Last duration', sortable: false, width: 'auto', + css: { + justifyContent: 'flex-end', + }, }, { actions: [], diff --git a/packages/kbn-text-based-editor/src/query_history.tsx b/packages/kbn-text-based-editor/src/query_history.tsx index 2a5a5b05dc2c8..3e597cd1ed86f 100644 --- a/packages/kbn-text-based-editor/src/query_history.tsx +++ b/packages/kbn-text-based-editor/src/query_history.tsx @@ -27,7 +27,8 @@ import { css, Interpolation, Theme } from '@emotion/react'; import { type QueryHistoryItem, getHistoryItems } from './history_local_storage'; import { getReducedSpaceStyling, swapArrayElements } from './query_history_helpers'; -const CONTAINER_MAX_HEIGHT = 190; +const CONTAINER_MAX_HEIGHT_EXPANDED = 190; +const CONTAINER_MAX_HEIGHT_COMPACT = 250; export function QueryHistoryAction({ toggleHistory, @@ -46,16 +47,35 @@ export function QueryHistoryAction({ <> {isSpaceReduced && ( - + + + )} {!isSpaceReduced && ( @@ -103,30 +123,60 @@ export const getTableColumns = ( case 'success': default: return ( - + + + ); case 'error': return ( - + + + ); case 'warning': return ( - + + + ); } }, @@ -171,12 +221,13 @@ export const getTableColumns = ( ), sortable: false, width: isOnReducedSpaceLayout ? 'auto' : '120px', + css: { justifyContent: 'flex-end' as const }, // right alignment }, { name: '', actions, 'data-test-subj': 'actions', - width: isOnReducedSpaceLayout ? 'auto' : '40px', + width: isOnReducedSpaceLayout ? 'auto' : '60px', }, ]; @@ -189,11 +240,13 @@ export function QueryHistory({ containerWidth, refetchHistoryItems, onUpdateAndSubmit, + isInCompactMode, }: { containerCSS: Interpolation; containerWidth: number; onUpdateAndSubmit: (qs: string) => void; refetchHistoryItems?: boolean; + isInCompactMode?: boolean; }) { const theme = useEuiTheme(); const scrollBarStyles = euiScrollBarStyles(theme); @@ -224,7 +277,7 @@ export function QueryHistory({ )} > {(copy) => ( )} diff --git a/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx b/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx index bf976a794f6b4..66949ab924b6e 100644 --- a/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx +++ b/packages/kbn-text-based-editor/src/text_based_languages_editor.tsx @@ -770,6 +770,31 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ + + {documentationSections && ( + + + + )} + {!Boolean(hideMinimizeButton) && ( )} - - {documentationSections && ( - - - - )} - @@ -979,6 +979,7 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ containerWidth={editorWidth} hideQueryHistory={hideHistoryComponent} refetchHistoryItems={refetchHistoryItems} + isInCompactMode={true} /> )} @@ -990,38 +991,6 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ {!isCodeEditorExpanded && ( - - - expandCodeEditor(true)} - data-test-subj="TextBasedLangEditor-expand" - css={{ - ...(documentationSections - ? { - borderRadius: 0, - } - : { - borderTopLeftRadius: 0, - borderBottomLeftRadius: 0, - }), - backgroundColor: isDark ? euiTheme.colors.lightestShade : '#e9edf3', - border: '1px solid rgb(17 43 134 / 10%) !important', - }} - /> - - {documentationSections && ( @@ -1045,17 +1014,42 @@ export const TextBasedLanguagesEditor = memo(function TextBasedLanguagesEditor({ ), size: 'm', css: { - borderTopLeftRadius: 0, - borderBottomLeftRadius: 0, + borderRadius: 0, backgroundColor: isDark ? euiTheme.colors.lightestShade : '#e9edf3', border: '1px solid rgb(17 43 134 / 10%) !important', - borderLeft: 'transparent !important', }, }} /> )} + + + expandCodeEditor(true)} + data-test-subj="TextBasedLangEditor-expand" + css={{ + borderTopLeftRadius: 0, + borderBottomLeftRadius: 0, + backgroundColor: isDark ? euiTheme.colors.lightestShade : '#e9edf3', + border: '1px solid rgb(17 43 134 / 10%) !important', + borderLeft: 'transparent !important', + }} + /> + + )} diff --git a/packages/kbn-unified-data-table/src/components/data_table_additional_display_settings.test.tsx b/packages/kbn-unified-data-table/src/components/data_table_additional_display_settings.test.tsx index f6b3bfce3b762..ccb53ff49b15b 100644 --- a/packages/kbn-unified-data-table/src/components/data_table_additional_display_settings.test.tsx +++ b/packages/kbn-unified-data-table/src/components/data_table_additional_display_settings.test.tsx @@ -17,6 +17,7 @@ import { import lodash from 'lodash'; import { fireEvent, render, screen } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; +import { RowHeightMode } from './row_height_settings'; jest.spyOn(lodash, 'debounce').mockImplementation((fn: any) => fn); @@ -26,9 +27,9 @@ const renderDisplaySettings = ( return render( @@ -44,9 +45,9 @@ describe('UnifiedDataTableAdditionalDisplaySettings', function () { ); @@ -80,9 +81,9 @@ describe('UnifiedDataTableAdditionalDisplaySettings', function () { maxAllowedSampleSize={500} sampleSize={50} onChangeSampleSize={onChangeSampleSizeMock} - rowHeight="custom" + rowHeight={RowHeightMode.custom} rowHeightLines={10} - headerRowHeight="custom" + headerRowHeight={RowHeightMode.custom} headerRowHeightLines={5} /> ); @@ -114,9 +115,9 @@ describe('UnifiedDataTableAdditionalDisplaySettings', function () { ); @@ -159,7 +160,7 @@ describe('UnifiedDataTableAdditionalDisplaySettings', function () { const onChangeRowHeight = jest.fn(); const onChangeRowHeightLines = jest.fn(); renderDisplaySettings({ - rowHeight: 'custom', + rowHeight: RowHeightMode.custom, onChangeRowHeight, onChangeRowHeightLines, }); @@ -188,7 +189,7 @@ describe('UnifiedDataTableAdditionalDisplaySettings', function () { const onChangeHeaderRowHeight = jest.fn(); const onChangeHeaderRowHeightLines = jest.fn(); renderDisplaySettings({ - headerRowHeight: 'custom', + headerRowHeight: RowHeightMode.custom, onChangeHeaderRowHeight, onChangeHeaderRowHeightLines, }); diff --git a/packages/kbn-unified-data-table/src/components/row_height_settings.tsx b/packages/kbn-unified-data-table/src/components/row_height_settings.tsx index e903885fec71d..a083217c13787 100644 --- a/packages/kbn-unified-data-table/src/components/row_height_settings.tsx +++ b/packages/kbn-unified-data-table/src/components/row_height_settings.tsx @@ -11,13 +11,18 @@ import { i18n } from '@kbn/i18n'; import { EuiButtonGroup, EuiFormRow, EuiRange, htmlIdGenerator } from '@elastic/eui'; import { euiThemeVars } from '@kbn/ui-theme'; +export enum RowHeightMode { + auto = 'auto', + single = 'single', + custom = 'custom', +} export interface RowHeightSettingsProps { - rowHeight?: 'auto' | 'single' | 'custom'; + rowHeight?: RowHeightMode; rowHeightLines?: number; maxRowHeight?: number; label: string; compressed?: boolean; - onChangeRowHeight: (newHeightMode: 'auto' | 'single' | 'custom' | undefined) => void; + onChangeRowHeight: (newHeightMode: RowHeightMode | undefined) => void; onChangeRowHeightLines: (newRowHeightLines: number) => void; 'data-test-subj'?: string; } @@ -36,25 +41,25 @@ export function RowHeightSettings({ }: RowHeightSettingsProps) { const rowHeightModeOptions = [ { - id: `${idPrefix}single`, + id: `${idPrefix}${RowHeightMode.single}`, label: i18n.translate('unifiedDataTable.rowHeight.single', { defaultMessage: 'Single', }), - 'data-test-subj': `${dataTestSubj}_rowHeight_single`, + 'data-test-subj': `${dataTestSubj}_rowHeight_${RowHeightMode.single}`, }, { - id: `${idPrefix}auto`, + id: `${idPrefix}${RowHeightMode.auto}`, label: i18n.translate('unifiedDataTable.rowHeight.auto', { defaultMessage: 'Auto fit', }), - 'data-test-subj': `${dataTestSubj}_rowHeight_auto`, + 'data-test-subj': `${dataTestSubj}_rowHeight_${RowHeightMode.auto}`, }, { - id: `${idPrefix}custom`, + id: `${idPrefix}${RowHeightMode.custom}`, label: i18n.translate('unifiedDataTable.rowHeight.custom', { defaultMessage: 'Custom', }), - 'data-test-subj': `${dataTestSubj}_rowHeight_custom`, + 'data-test-subj': `${dataTestSubj}_rowHeight_${RowHeightMode.custom}`, }, ]; @@ -67,14 +72,14 @@ export function RowHeightSettings({ legend={label} buttonSize="compressed" options={rowHeightModeOptions} - idSelected={`${idPrefix}${rowHeight ?? 'single'}`} + idSelected={`${idPrefix}${rowHeight ?? RowHeightMode.single}`} onChange={(optionId) => { const newMode = optionId.replace(idPrefix, '') as RowHeightSettingsProps['rowHeight']; onChangeRowHeight(newMode); }} data-test-subj={`${dataTestSubj}_rowHeightButtonGroup`} /> - {rowHeight === 'custom' ? ( + {rowHeight === RowHeightMode.custom ? ( { const { hook: { result }, } = renderRowHeightHook({ rowHeightState: 2 }); - expect(result.current.rowHeight).toEqual('custom'); + expect(result.current.rowHeight).toEqual(RowHeightMode.custom); expect(result.current.rowHeightLines).toEqual(2); }); @@ -59,7 +60,7 @@ describe('useRowHeightsOptions', () => { const { hook: { result }, } = renderRowHeightHook(); - expect(result.current.rowHeight).toEqual('custom'); + expect(result.current.rowHeight).toEqual(RowHeightMode.custom); expect(result.current.rowHeightLines).toEqual(5); }); @@ -70,7 +71,7 @@ describe('useRowHeightsOptions', () => { previousRowHeight: undefined, previousConfigRowHeight: undefined, }); - expect(result.current.rowHeight).toEqual('custom'); + expect(result.current.rowHeight).toEqual(RowHeightMode.custom); expect(result.current.rowHeightLines).toEqual(CONFIG_ROW_HEIGHT); }); @@ -80,7 +81,7 @@ describe('useRowHeightsOptions', () => { } = renderRowHeightHook({ previousConfigRowHeight: 4, }); - expect(result.current.rowHeight).toEqual('custom'); + expect(result.current.rowHeight).toEqual(RowHeightMode.custom); expect(result.current.rowHeightLines).toEqual(3); }); @@ -105,19 +106,19 @@ describe('useRowHeightsOptions', () => { storage, hook: { result }, } = renderRowHeightHook({ onUpdateRowHeight }); - result.current.onChangeRowHeight?.('auto'); + result.current.onChangeRowHeight?.(RowHeightMode.auto); expect(storage.get('discover:dataGridRowHeight')).toEqual({ previousRowHeight: -1, previousConfigRowHeight: CONFIG_ROW_HEIGHT, }); expect(onUpdateRowHeight).toHaveBeenLastCalledWith(-1); - result.current.onChangeRowHeight?.('single'); + result.current.onChangeRowHeight?.(RowHeightMode.single); expect(storage.get('discover:dataGridRowHeight')).toEqual({ previousRowHeight: 0, previousConfigRowHeight: CONFIG_ROW_HEIGHT, }); expect(onUpdateRowHeight).toHaveBeenLastCalledWith(0); - result.current.onChangeRowHeight?.('custom'); + result.current.onChangeRowHeight?.(RowHeightMode.custom); expect(storage.get('discover:dataGridRowHeight')).toEqual({ previousRowHeight: CONFIG_ROW_HEIGHT, previousConfigRowHeight: CONFIG_ROW_HEIGHT, @@ -141,13 +142,13 @@ describe('useRowHeightsOptions', () => { it('should convert provided rowHeightState to rowHeight and rowHeightLines', () => { const { hook, initialProps } = renderRowHeightHook({ rowHeightState: -1 }); - expect(hook.result.current.rowHeight).toEqual('auto'); + expect(hook.result.current.rowHeight).toEqual(RowHeightMode.auto); expect(hook.result.current.rowHeightLines).toEqual(-1); hook.rerender({ ...initialProps, rowHeightState: 0 }); - expect(hook.result.current.rowHeight).toEqual('single'); + expect(hook.result.current.rowHeight).toEqual(RowHeightMode.single); expect(hook.result.current.rowHeightLines).toEqual(0); hook.rerender({ ...initialProps, rowHeightState: 3 }); - expect(hook.result.current.rowHeight).toEqual('custom'); + expect(hook.result.current.rowHeight).toEqual(RowHeightMode.custom); expect(hook.result.current.rowHeightLines).toEqual(3); }); }); diff --git a/packages/kbn-unified-data-table/src/hooks/use_row_height.ts b/packages/kbn-unified-data-table/src/hooks/use_row_height.ts index fdfb96d3c6c09..2ea7b67b71459 100644 --- a/packages/kbn-unified-data-table/src/hooks/use_row_height.ts +++ b/packages/kbn-unified-data-table/src/hooks/use_row_height.ts @@ -15,7 +15,7 @@ import { updateStoredRowHeight, } from '../utils/row_heights'; import { ROWS_HEIGHT_OPTIONS } from '../constants'; -import { RowHeightSettingsProps } from '../components/row_height_settings'; +import { RowHeightMode, RowHeightSettingsProps } from '../components/row_height_settings'; interface UseRowHeightProps { storage: Storage; @@ -57,11 +57,11 @@ export const useRowHeight = ({ const rowHeight = useMemo(() => { switch (rowHeightLines) { case ROWS_HEIGHT_OPTIONS.auto: - return 'auto'; + return RowHeightMode.auto; case ROWS_HEIGHT_OPTIONS.single: - return 'single'; + return RowHeightMode.single; default: - return 'custom'; + return RowHeightMode.custom; } }, [rowHeightLines]); @@ -70,10 +70,10 @@ export const useRowHeight = ({ let newRowHeightLines: number; switch (newRowHeight) { - case 'auto': + case RowHeightMode.auto: newRowHeightLines = ROWS_HEIGHT_OPTIONS.auto; break; - case 'single': + case RowHeightMode.single: newRowHeightLines = ROWS_HEIGHT_OPTIONS.single; break; default: diff --git a/packages/presentation/presentation_publishing/interfaces/fetch/publishes_unified_search.ts b/packages/presentation/presentation_publishing/interfaces/fetch/publishes_unified_search.ts index ff3175f7c9c76..8aef4ceee6c30 100644 --- a/packages/presentation/presentation_publishing/interfaces/fetch/publishes_unified_search.ts +++ b/packages/presentation/presentation_publishing/interfaces/fetch/publishes_unified_search.ts @@ -11,6 +11,7 @@ import { PublishingSubject } from '../../publishing_subject'; export interface PublishesTimeRange { timeRange$: PublishingSubject; + timeRestore$?: PublishingSubject; timeslice$?: PublishingSubject<[number, number] | undefined>; } diff --git a/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts b/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts index c44a06f066876..4586b4120d4d3 100644 --- a/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts +++ b/src/core/server/integration_tests/ci_checks/saved_objects/check_registered_types.test.ts @@ -110,7 +110,7 @@ describe('checking migration metadata changes on all registered SO types', () => "ingest-agent-policies": "d2ee0bf36a512c2ac744b0def1c822b7880f1f83", "ingest-download-sources": "279a68147e62e4d8858c09ad1cf03bd5551ce58d", "ingest-outputs": "daafff49255ab700e07491376fe89f04fc998b91", - "ingest-package-policies": "fb9cbf1b2cf9527356052f6025f8523e1676ef4f", + "ingest-package-policies": "38d7545c1e20f28d35591f97500d2e0c16ba27b0", "ingest_manager_settings": "91445219e7115ff0c45d1dabd5d614a80b421797", "inventory-view": "b8683c8e352a286b4aca1ab21003115a4800af83", "kql-telemetry": "93c1d16c1a0dfca9c8842062cf5ef8f62ae401ad", @@ -146,9 +146,10 @@ describe('checking migration metadata changes on all registered SO types', () => "siem-ui-timeline-note": "0a32fb776907f596bedca292b8c646496ae9c57b", "siem-ui-timeline-pinned-event": "082daa3ce647b33873f6abccf340bdfa32057c8d", "slo": "9a9995e4572de1839651c43b5fc4dc8276bb5815", + "slo-settings": "f6b5ed339470a6a2cda272bde1750adcf504a11b", "space": "8de4ec513e9bbc6b2f1d635161d850be7747d38e", "spaces-usage-stats": "3abca98713c52af8b30300e386c7779b3025a20e", - "synthetics-monitor": "33ddc4b8979f378edf58bcc7ba13c5c5b572f42d", + "synthetics-monitor": "5ceb25b6249bd26902c9b34273c71c3dce06dbea", "synthetics-param": "3ebb744e5571de678b1312d5c418c8188002cf5e", "synthetics-privates-locations": "f53d799d5c9bc8454aaa32c6abc99a899b025d5c", "tag": "e2544392fe6563e215bb677abc8b01c2601ef2dc", diff --git a/src/core/server/integration_tests/saved_objects/migrations/group2/multiple_kibana_nodes.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group2/multiple_kibana_nodes.test.ts index 82cbf077d884b..63abe75209d59 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group2/multiple_kibana_nodes.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group2/multiple_kibana_nodes.test.ts @@ -162,7 +162,11 @@ describe('migration v2', () => { }); afterEach(async () => { - await Promise.all([rootA.shutdown(), rootB.shutdown(), rootC.shutdown()]); + try { + await Promise.all([rootA.shutdown(), rootB.shutdown(), rootC.shutdown()]); + } catch (e) { + /* trap */ + } if (esServer) { await esServer.stop(); diff --git a/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts index ecdc45dd31d22..d8d54319a35df 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group3/type_registrations.test.ts @@ -120,6 +120,7 @@ const previouslyRegisteredTypes = [ 'siem-ui-timeline-note', 'siem-ui-timeline-pinned-event', 'slo', + 'slo-settings', 'space', 'spaces-usage-stats', 'synthetics-monitor', diff --git a/src/core/server/integration_tests/saved_objects/migrations/group5/dot_kibana_split.test.ts b/src/core/server/integration_tests/saved_objects/migrations/group5/dot_kibana_split.test.ts index 1a1620f1f7b3a..9993c2ea2f0e5 100644 --- a/src/core/server/integration_tests/saved_objects/migrations/group5/dot_kibana_split.test.ts +++ b/src/core/server/integration_tests/saved_objects/migrations/group5/dot_kibana_split.test.ts @@ -265,6 +265,7 @@ describe('split .kibana index into multiple system indices', () => { "siem-ui-timeline-note", "siem-ui-timeline-pinned-event", "slo", + "slo-settings", "space", "spaces-usage-stats", "synthetics-monitor", diff --git a/src/dev/storybook/aliases.ts b/src/dev/storybook/aliases.ts index d478350919559..083337f7e6211 100644 --- a/src/dev/storybook/aliases.ts +++ b/src/dev/storybook/aliases.ts @@ -50,6 +50,8 @@ export const storybookAliases = { observability: 'x-pack/plugins/observability_solution/observability/.storybook', observability_ai_assistant: 'x-pack/plugins/observability_solution/observability_ai_assistant/.storybook', + observability_ai_assistant_app: + 'x-pack/plugins/observability_solution/observability_ai_assistant_app/.storybook', presentation: 'src/plugins/presentation_util/storybook', random_sampling: 'x-pack/packages/kbn-random-sampling/.storybook', text_based_editor: 'packages/kbn-text-based-editor/.storybook', diff --git a/src/plugins/console/public/application/components/console_menu.tsx b/src/plugins/console/public/application/components/console_menu.tsx index b22fd7db9baab..6fe755dcef2be 100644 --- a/src/plugins/console/public/application/components/console_menu.tsx +++ b/src/plugins/console/public/application/components/console_menu.tsx @@ -121,7 +121,7 @@ export class ConsoleMenu extends Component { defaultMessage: 'Request options', })} > - + ); @@ -135,10 +135,22 @@ export class ConsoleMenu extends Component { this.closePopover(); this.copyAsCurl(); }} + icon="copyClipboard" > + , + + , { onClick={() => { this.openDocs(); }} + icon="documentation" > - , - - , ]; diff --git a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx index 6963a0ed2b21e..8de241aee705b 100644 --- a/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx +++ b/src/plugins/console/public/application/containers/editor/legacy/console_editor/editor.tsx @@ -288,14 +288,14 @@ function EditorUI({ initialTextValue, setEditorInstance }: EditorProps) { })} > - + diff --git a/src/plugins/console/public/application/containers/editor/monaco/monaco_editor.tsx b/src/plugins/console/public/application/containers/editor/monaco/monaco_editor.tsx index 0a76a938ad903..a929fa4148f54 100644 --- a/src/plugins/console/public/application/containers/editor/monaco/monaco_editor.tsx +++ b/src/plugins/console/public/application/containers/editor/monaco/monaco_editor.tsx @@ -6,12 +6,22 @@ * Side Public License, v 1. */ -import React, { useEffect, useState } from 'react'; -import { CodeEditor } from '@kbn/code-editor'; +import React, { CSSProperties, useCallback, useEffect, useRef, useState } from 'react'; +import { EuiFlexGroup, EuiFlexItem, EuiIcon, EuiLink, EuiToolTip } from '@elastic/eui'; import { css } from '@emotion/react'; -import { CONSOLE_LANG_ID, CONSOLE_THEME_ID } from '@kbn/monaco'; +import { CodeEditor } from '@kbn/code-editor'; +import { CONSOLE_LANG_ID, CONSOLE_THEME_ID, monaco } from '@kbn/monaco'; +import { i18n } from '@kbn/i18n'; +import { ConsoleMenu } from '../../../components'; +import { + useServicesContext, + useEditorReadContext, + useRequestActionContext, +} from '../../../contexts'; import { useSetInitialValue } from './use_set_initial_value'; -import { useServicesContext, useEditorReadContext } from '../../../contexts'; +import { MonacoEditorActionsProvider } from './monaco_editor_actions_provider'; +import { useSetupAutocompletePolling } from './use_setup_autocomplete_polling'; +import { useSetupAutosave } from './use_setup_autosave'; export interface EditorProps { initialTextValue: string; @@ -20,10 +30,32 @@ export interface EditorProps { export const MonacoEditor = ({ initialTextValue }: EditorProps) => { const { services: { - notifications: { toasts }, + notifications, + esHostService, + trackUiMetric, + http, + settings: settingsService, + autocompleteInfo, }, } = useServicesContext(); + const { toasts } = notifications; const { settings } = useEditorReadContext(); + const dispatch = useRequestActionContext(); + const actionsProvider = useRef(null); + const [editorActionsCss, setEditorActionsCss] = useState({}); + + const editorDidMountCallback = useCallback((editor: monaco.editor.IStandaloneCodeEditor) => { + actionsProvider.current = new MonacoEditorActionsProvider(editor, setEditorActionsCss); + }, []); + + const getCurlCallback = useCallback(async (): Promise => { + const curl = await actionsProvider.current?.getCurl(esHostService.getHost()); + return curl ?? ''; + }, [esHostService]); + + const sendRequestsCallback = useCallback(async () => { + await actionsProvider.current?.sendRequests(toasts, dispatch, trackUiMetric, http); + }, [dispatch, http, toasts, trackUiMetric]); const [value, setValue] = useState(initialTextValue); @@ -33,12 +65,52 @@ export const MonacoEditor = ({ initialTextValue }: EditorProps) => { setInitialValue({ initialTextValue, setValue, toasts }); }, [initialTextValue, setInitialValue, toasts]); + useSetupAutocompletePolling({ autocompleteInfo, settingsService }); + + useSetupAutosave({ value }); + return (
+ + + + + + + + + + { + return Promise.resolve(null); + }} + autoIndent={() => {}} + notifications={notifications} + /> + + { wordWrap: settings.wrapMode === true ? 'on' : 'off', theme: CONSOLE_THEME_ID, }} + editorDidMount={editorDidMountCallback} />
); diff --git a/src/plugins/console/public/application/containers/editor/monaco/monaco_editor_actions_provider.test.ts b/src/plugins/console/public/application/containers/editor/monaco/monaco_editor_actions_provider.test.ts new file mode 100644 index 0000000000000..ee2be44ec812e --- /dev/null +++ b/src/plugins/console/public/application/containers/editor/monaco/monaco_editor_actions_provider.test.ts @@ -0,0 +1,104 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +/* + * Mock kbn/monaco to provide the console parser code directly without a web worker + */ +const mockGetParsedRequests = jest.fn(); +jest.mock('@kbn/monaco', () => { + const original = jest.requireActual('@kbn/monaco'); + return { + ...original, + getParsedRequestsProvider: () => { + return { + getRequests: mockGetParsedRequests, + }; + }, + }; +}); + +jest.mock('../../../../services', () => { + return { + getStorage: () => ({ + get: () => [], + }), + StorageKeys: { + VARIABLES: 'test', + }, + }; +}); + +import { MonacoEditorActionsProvider } from './monaco_editor_actions_provider'; +import { monaco } from '@kbn/monaco'; + +describe('Editor actions provider', () => { + let editorActionsProvider: MonacoEditorActionsProvider; + let editor: jest.Mocked; + beforeEach(() => { + editor = { + getModel: jest.fn(), + createDecorationsCollection: () => ({ + clear: jest.fn(), + set: jest.fn(), + }), + focus: jest.fn(), + onDidChangeCursorPosition: jest.fn(), + onDidScrollChange: jest.fn(), + onDidChangeCursorSelection: jest.fn(), + onDidContentSizeChange: jest.fn(), + getSelection: jest.fn(), + getTopForLineNumber: jest.fn(), + getScrollTop: jest.fn(), + } as unknown as jest.Mocked; + + editor.getModel.mockReturnValue({ + getLineMaxColumn: () => 10, + getPositionAt: () => ({ lineNumber: 1 }), + getLineContent: () => 'GET _search', + } as unknown as monaco.editor.ITextModel); + editor.getSelection.mockReturnValue({ + startLineNumber: 1, + endLineNumber: 1, + } as unknown as monaco.Selection); + mockGetParsedRequests.mockResolvedValue([ + { + startOffset: 0, + endOffset: 11, + method: 'GET', + url: '_search', + }, + ]); + + const setEditorActionsCssMock = jest.fn(); + + editorActionsProvider = new MonacoEditorActionsProvider(editor, setEditorActionsCssMock); + }); + + describe('getCurl', () => { + it('returns an empty string if no requests', async () => { + mockGetParsedRequests.mockResolvedValue([]); + const curl = await editorActionsProvider.getCurl('http://localhost'); + expect(curl).toBe(''); + }); + + it('returns an empty string if there is a request but not in the selection range', async () => { + editor.getSelection.mockReturnValue({ + // the request is on line 1, the user selected line 2 + startLineNumber: 2, + endLineNumber: 2, + } as unknown as monaco.Selection); + const curl = await editorActionsProvider.getCurl('http://localhost'); + expect(curl).toBe(''); + }); + + it('returns the correct string if there is a request in the selection range', async () => { + const curl = await editorActionsProvider.getCurl('http://localhost'); + expect(curl).toBe('curl -XGET "http://localhost/_search" -H "kbn-xsrf: reporting"'); + }); + }); +}); diff --git a/src/plugins/console/public/application/containers/editor/monaco/monaco_editor_actions_provider.ts b/src/plugins/console/public/application/containers/editor/monaco/monaco_editor_actions_provider.ts new file mode 100644 index 0000000000000..af87f7fb68d24 --- /dev/null +++ b/src/plugins/console/public/application/containers/editor/monaco/monaco_editor_actions_provider.ts @@ -0,0 +1,238 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { CSSProperties, Dispatch } from 'react'; +import { debounce } from 'lodash'; +import { + ConsoleParsedRequestsProvider, + getParsedRequestsProvider, + monaco, + ParsedRequest, +} from '@kbn/monaco'; +import { IToasts } from '@kbn/core-notifications-browser'; +import { i18n } from '@kbn/i18n'; +import type { HttpSetup } from '@kbn/core-http-browser'; +import { DEFAULT_VARIABLES } from '../../../../../common/constants'; +import { getStorage, StorageKeys } from '../../../../services'; +import { sendRequest } from '../../../hooks/use_send_current_request/send_request'; +import { MetricsTracker } from '../../../../types'; +import { Actions } from '../../../stores/request'; +import { + stringifyRequest, + replaceRequestVariables, + getCurlRequest, + trackSentRequests, +} from './utils'; + +const selectedRequestsClass = 'console__monaco_editor__selectedRequests'; + +export interface EditorRequest { + method: string; + url: string; + data: string[]; +} + +export class MonacoEditorActionsProvider { + private parsedRequestsProvider: ConsoleParsedRequestsProvider; + private highlightedLines: monaco.editor.IEditorDecorationsCollection; + constructor( + private editor: monaco.editor.IStandaloneCodeEditor, + private setEditorActionsCss: (css: CSSProperties) => void + ) { + this.parsedRequestsProvider = getParsedRequestsProvider(this.editor.getModel()); + this.highlightedLines = this.editor.createDecorationsCollection(); + this.editor.focus(); + + const debouncedHighlightRequests = debounce(() => this.highlightRequests(), 200, { + leading: true, + }); + debouncedHighlightRequests(); + + // init all listeners + editor.onDidChangeCursorPosition(async (event) => { + await debouncedHighlightRequests(); + }); + editor.onDidScrollChange(async (event) => { + await debouncedHighlightRequests(); + }); + editor.onDidChangeCursorSelection(async (event) => { + await debouncedHighlightRequests(); + }); + editor.onDidContentSizeChange(async (event) => { + await debouncedHighlightRequests(); + }); + } + + private updateEditorActions(lineNumber?: number) { + // if no request is currently selected, hide the actions buttons + if (!lineNumber) { + this.setEditorActionsCss({ + visibility: 'hidden', + }); + } else { + // if a request is selected, the actions buttons are placed at lineNumberOffset - scrollOffset + const offset = this.editor.getTopForLineNumber(lineNumber) - this.editor.getScrollTop(); + this.setEditorActionsCss({ + visibility: 'visible', + top: offset, + }); + } + } + + private async highlightRequests(): Promise { + // get the requests in the selected range + const { range: selectedRange, parsedRequests } = await this.getSelectedParsedRequestsAndRange(); + // if any requests are selected, highlight the lines and update the position of actions buttons + if (parsedRequests.length > 0) { + const selectedRequestStartLine = selectedRange.startLineNumber; + // display the actions buttons on the 1st line of the 1st selected request + this.updateEditorActions(selectedRequestStartLine); + this.highlightedLines.set([ + { + range: selectedRange, + options: { + isWholeLine: true, + className: selectedRequestsClass, + }, + }, + ]); + } else { + // if no requests are selected, hide actions buttons and remove highlighted lines + this.updateEditorActions(); + this.highlightedLines.clear(); + } + } + + private async getSelectedParsedRequestsAndRange(): Promise<{ + parsedRequests: ParsedRequest[]; + range: monaco.IRange; + }> { + const model = this.editor.getModel(); + const selection = this.editor.getSelection(); + if (!model || !selection) { + return Promise.resolve({ + parsedRequests: [], + range: selection ?? new monaco.Range(1, 1, 1, 1), + }); + } + const { startLineNumber, endLineNumber } = selection; + const parsedRequests = await this.parsedRequestsProvider.getRequests(); + const selectedRequests = []; + let selectionStartLine = startLineNumber; + let selectionEndLine = endLineNumber; + for (const parsedRequest of parsedRequests) { + const { startOffset: requestStart, endOffset: requestEnd } = parsedRequest; + const { lineNumber: requestStartLine } = model.getPositionAt(requestStart); + let { lineNumber: requestEndLine } = model.getPositionAt(requestEnd); + const requestEndLineContent = model.getLineContent(requestEndLine); + + // sometimes the parser includes a trailing empty line into the request + if (requestEndLineContent.trim().length < 1) { + requestEndLine = requestEndLine - 1; + } + if (requestStartLine > endLineNumber) { + // request is past the selection, no need to check further requests + break; + } + if (requestEndLine < startLineNumber) { + // request is before the selection, do nothing + } else { + // request is selected + selectedRequests.push(parsedRequest); + // expand the start of the selection to the request start + if (selectionStartLine > requestStartLine) { + selectionStartLine = requestStartLine; + } + // expand the end of the selection to the request end + if (selectionEndLine < requestEndLine) { + selectionEndLine = requestEndLine; + } + } + } + return { + parsedRequests: selectedRequests, + // the expanded selected range goes from the 1st char of the start line of the 1st request + // to the last char of the last line of the last request + range: new monaco.Range( + selectionStartLine, + 1, + selectionEndLine, + model.getLineMaxColumn(selectionEndLine) + ), + }; + } + + private async getRequests() { + const { parsedRequests } = await this.getSelectedParsedRequestsAndRange(); + const stringifiedRequests = parsedRequests.map((parsedRequest) => + stringifyRequest(parsedRequest) + ); + // get variables values + const variables = getStorage().get(StorageKeys.VARIABLES, DEFAULT_VARIABLES); + return stringifiedRequests.map((request) => replaceRequestVariables(request, variables)); + } + + public async getCurl(elasticsearchBaseUrl: string): Promise { + const requests = await this.getRequests(); + const curlRequests = requests.map((request) => getCurlRequest(request, elasticsearchBaseUrl)); + return curlRequests.join('\n'); + } + + public async sendRequests( + toasts: IToasts, + dispatch: Dispatch, + trackUiMetric: MetricsTracker, + http: HttpSetup + ): Promise { + try { + const requests = await this.getRequests(); + if (!requests.length) { + toasts.add( + i18n.translate('console.notification.error.noRequestSelectedTitle', { + defaultMessage: + 'No request selected. Select a request by placing the cursor inside it.', + }) + ); + return; + } + + dispatch({ type: 'sendRequest', payload: undefined }); + + // track the requests + setTimeout(() => trackSentRequests(requests, trackUiMetric), 0); + + const results = await sendRequest({ http, requests }); + + // TODO save to history + // TODO restart autocomplete polling + dispatch({ + type: 'requestSuccess', + payload: { + data: results, + }, + }); + } catch (e) { + if (e?.response) { + dispatch({ + type: 'requestFail', + payload: e, + }); + } else { + dispatch({ + type: 'requestFail', + payload: undefined, + }); + toasts.addError(e, { + title: i18n.translate('console.notification.error.unknownErrorTitle', { + defaultMessage: 'Unknown Request Error', + }), + }); + } + } + } +} diff --git a/src/plugins/console/public/application/containers/editor/monaco/use_setup_autocomplete_polling.ts b/src/plugins/console/public/application/containers/editor/monaco/use_setup_autocomplete_polling.ts new file mode 100644 index 0000000000000..c1bf0640ba8db --- /dev/null +++ b/src/plugins/console/public/application/containers/editor/monaco/use_setup_autocomplete_polling.ts @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { useEffect } from 'react'; +import { AutocompleteInfo, Settings } from '../../../../services'; + +interface SetupAutocompletePollingParams { + /** The Console autocomplete service. */ + autocompleteInfo: AutocompleteInfo; + /** The Console settings service. */ + settingsService: Settings; +} + +/** + * Hook that sets up the autocomplete polling for Console editor. + * + * @param params The {@link SetupAutocompletePollingParams} to use. + */ +export const useSetupAutocompletePolling = (params: SetupAutocompletePollingParams) => { + const { autocompleteInfo, settingsService } = params; + + useEffect(() => { + autocompleteInfo.retrieve(settingsService, settingsService.getAutocomplete()); + + return () => { + autocompleteInfo.clearSubscriptions(); + }; + }, [autocompleteInfo, settingsService]); +}; diff --git a/src/plugins/console/public/application/containers/editor/monaco/use_setup_autosave.ts b/src/plugins/console/public/application/containers/editor/monaco/use_setup_autosave.ts new file mode 100644 index 0000000000000..21058fc60aafa --- /dev/null +++ b/src/plugins/console/public/application/containers/editor/monaco/use_setup_autosave.ts @@ -0,0 +1,49 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { useEffect, useRef } from 'react'; +import { useSaveCurrentTextObject } from '../../../hooks'; + +interface SetupAutosaveParams { + /** The current input value in the Console editor. */ + value: string; +} + +/** + * Hook that sets up autosaving the Console editor input to localStorage. + * + * @param params The {@link SetupAutosaveParams} to use. + */ +export const useSetupAutosave = (params: SetupAutosaveParams) => { + const { value } = params; + const saveCurrentTextObject = useSaveCurrentTextObject(); + const timerRef = useRef(); + + useEffect(() => { + function saveCurrentState() { + try { + saveCurrentTextObject(value); + } catch (e) { + // Ignoring saving error + } + } + + const saveDelay = 500; + + if (timerRef.current) { + clearTimeout(timerRef.current); + } + timerRef.current = window.setTimeout(saveCurrentState, saveDelay); + + return () => { + if (timerRef.current) { + clearTimeout(timerRef.current); + } + }; + }, [saveCurrentTextObject, value]); +}; diff --git a/src/plugins/console/public/application/containers/editor/monaco/utils.test.ts b/src/plugins/console/public/application/containers/editor/monaco/utils.test.ts new file mode 100644 index 0000000000000..e2aa1543d8b6f --- /dev/null +++ b/src/plugins/console/public/application/containers/editor/monaco/utils.test.ts @@ -0,0 +1,182 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { + getCurlRequest, + removeTrailingWhitespaces, + replaceRequestVariables, + stringifyRequest, + trackSentRequests, +} from './utils'; +import { MetricsTracker } from '../../../../types'; + +describe('monaco editor utils', () => { + const dataObjects = [ + { + query: { + match_all: {}, + }, + }, + { + test: 'test', + }, + ]; + describe('removeTrailingWhitespaces', () => { + it(`works with an empty string`, () => { + const url = ''; + const result = removeTrailingWhitespaces(url); + expect(result).toBe(url); + }); + it(`doesn't change the string if no trailing whitespaces`, () => { + const url = '_search'; + const result = removeTrailingWhitespaces(url); + expect(result).toBe(url); + }); + it(`removes any text after the first whitespace`, () => { + const url = '_search some_text'; + const result = removeTrailingWhitespaces(url); + expect(result).toBe('_search'); + }); + }); + + describe('stringifyRequest', () => { + const request = { + startOffset: 0, + endOffset: 11, + method: 'get', + url: '_search some_text', + }; + it('calls the "removeTrailingWhitespaces" on the url', () => { + const stringifiedRequest = stringifyRequest(request); + expect(stringifiedRequest.url).toBe('_search'); + }); + + it('normalizes the method to upper case', () => { + const stringifiedRequest = stringifyRequest(request); + expect(stringifiedRequest.method).toBe('GET'); + }); + it('stringifies the request body', () => { + const result = stringifyRequest({ ...request, data: [dataObjects[0]] }); + expect(result.data.length).toBe(1); + expect(result.data[0]).toBe(JSON.stringify(dataObjects[0], null, 2)); + }); + + it('works for several request bodies', () => { + const result = stringifyRequest({ ...request, data: dataObjects }); + expect(result.data.length).toBe(2); + expect(result.data[0]).toBe(JSON.stringify(dataObjects[0], null, 2)); + expect(result.data[1]).toBe(JSON.stringify(dataObjects[1], null, 2)); + }); + }); + + describe('replaceRequestVariables', () => { + const variables = [ + { id: '1', name: 'variable1', value: 'test1' }, + { + id: '2', + name: 'variable2', + value: 'test2', + }, + ]; + + describe('replaces variables in the url', () => { + const request = { + method: 'GET', + url: '${variable1}', + data: [], + }; + it('when there is no other text', () => { + const result = replaceRequestVariables(request, variables); + expect(result.url).toBe('test1'); + }); + it('inside a string', () => { + const result = replaceRequestVariables( + { ...request, url: 'test_${variable1}_test' }, + variables + ); + expect(result.url).toBe('test_test1_test'); + }); + it('works with several variables', () => { + const result = replaceRequestVariables( + { ...request, url: '${variable1}_${variable2}' }, + variables + ); + expect(result.url).toBe('test1_test2'); + }); + }); + + describe('replaces variables in the request body', () => { + const request = { + method: 'GET', + url: '${variable1}', + data: [JSON.stringify({ '${variable1}': '${variable2}' }, null, 2)], + }; + it('works with several variables', () => { + const result = replaceRequestVariables(request, variables); + expect(result.data[0]).toBe(JSON.stringify({ test1: 'test2' }, null, 2)); + }); + }); + }); + + describe('getCurlRequest', () => { + it('works without a request body', () => { + const request = { method: 'GET', url: '_search', data: [] }; + const result = getCurlRequest(request, 'http://test.com'); + expect(result).toBe('curl -XGET "http://test.com/_search" -H "kbn-xsrf: reporting"'); + }); + it('works with a request body', () => { + const request = { + method: 'GET', + url: '_search', + data: [JSON.stringify(dataObjects[0], null, 2)], + }; + const result = getCurlRequest(request, 'http://test.com'); + expect(result).toBe( + 'curl -XGET "http://test.com/_search" -H "kbn-xsrf: reporting" -H "Content-Type: application/json" -d\'\n' + + '{\n' + + ' "query": {\n' + + ' "match_all": {}\n' + + ' }\n' + + "}'" + ); + }); + it('works with several request bodies', () => { + const request = { + method: 'GET', + url: '_search', + data: [JSON.stringify(dataObjects[0], null, 2), JSON.stringify(dataObjects[1], null, 2)], + }; + const result = getCurlRequest(request, 'http://test.com'); + expect(result).toBe( + 'curl -XGET "http://test.com/_search" -H "kbn-xsrf: reporting" -H "Content-Type: application/json" -d\'\n' + + '{\n' + + ' "query": {\n' + + ' "match_all": {}\n' + + ' }\n' + + '}\n' + + '{\n' + + ' "test": "test"\n' + + "}'" + ); + }); + }); + + describe('trackSentRequests', () => { + it('tracks each request correctly', () => { + const requests = [ + { method: 'GET', url: '_search', data: [] }, + { method: 'POST', url: '_test', data: [] }, + ]; + const mockMetricsTracker: jest.Mocked = { count: jest.fn(), load: jest.fn() }; + trackSentRequests(requests, mockMetricsTracker); + expect(mockMetricsTracker.count).toHaveBeenCalledTimes(2); + expect(mockMetricsTracker.count).toHaveBeenNthCalledWith(1, 'GET__search'); + expect(mockMetricsTracker.count).toHaveBeenNthCalledWith(2, 'POST__test'); + }); + }); +}); diff --git a/src/plugins/console/public/application/containers/editor/monaco/utils.ts b/src/plugins/console/public/application/containers/editor/monaco/utils.ts new file mode 100644 index 0000000000000..f5725ad271fc6 --- /dev/null +++ b/src/plugins/console/public/application/containers/editor/monaco/utils.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 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { ParsedRequest } from '@kbn/monaco'; +import { constructUrl } from '../../../../lib/es'; +import type { DevToolsVariable } from '../../../components'; +import { EditorRequest } from './monaco_editor_actions_provider'; +import { MetricsTracker } from '../../../../types'; + +const whitespacesRegex = /\s/; +export const removeTrailingWhitespaces = (url: string): string => { + /* + * This helper removes any trailing inline comments, for example + * "_search // comment" -> "_search" + * Ideally the parser removes those comments initially + */ + return url.trim().split(whitespacesRegex)[0]; +}; + +export const stringifyRequest = (parsedRequest: ParsedRequest): EditorRequest => { + const url = removeTrailingWhitespaces(parsedRequest.url); + const method = parsedRequest.method.toUpperCase(); + const data = parsedRequest.data?.map((parsedData) => JSON.stringify(parsedData, null, 2)); + return { url, method, data: data ?? [] }; +}; + +const variableTemplateRegex = /\${(\w+)}/g; +const replaceVariables = (text: string, variables: DevToolsVariable[]): string => { + if (variableTemplateRegex.test(text)) { + text = text.replaceAll(variableTemplateRegex, (match, key) => { + const variable = variables.find(({ name }) => name === key); + + return variable?.value ?? match; + }); + } + return text; +}; +export const replaceRequestVariables = ( + { method, url, data }: EditorRequest, + variables: DevToolsVariable[] +): EditorRequest => { + return { + method, + url: replaceVariables(url, variables), + data: data.map((dataObject) => replaceVariables(dataObject, variables)), + }; +}; + +export const getCurlRequest = ( + { method, url, data }: EditorRequest, + elasticsearchBaseUrl: string +): string => { + const curlUrl = constructUrl(elasticsearchBaseUrl, url); + let curlRequest = `curl -X${method} "${curlUrl}" -H "kbn-xsrf: reporting"`; + if (data.length > 0) { + curlRequest += ` -H "Content-Type: application/json" -d'\n`; + curlRequest += data.join('\n'); + curlRequest += "'"; + } + return curlRequest; +}; + +export const trackSentRequests = ( + requests: EditorRequest[], + trackUiMetric: MetricsTracker +): void => { + requests.map(({ method, url }) => { + const eventName = `${method}_${url}`; + trackUiMetric.count(eventName); + }); +}; diff --git a/src/plugins/console/public/application/containers/embeddable/_embeddable_console.scss b/src/plugins/console/public/application/containers/embeddable/_embeddable_console.scss index b497e727a4723..d7fa11e89f72d 100644 --- a/src/plugins/console/public/application/containers/embeddable/_embeddable_console.scss +++ b/src/plugins/console/public/application/containers/embeddable/_embeddable_console.scss @@ -64,11 +64,23 @@ width: 100%; display: flex; justify-content: flex-start; + align-items: center; overflow-y: hidden; // Ensures the movement of buttons in :focus don't cause scrollbars overflow-x: auto; + padding-right: $euiSizeS; &--button { - justify-content: flex-start; + flex-grow: 1; + width: 100%; + + .euiButtonEmpty__content { + justify-content: flex-start; + } + } + + &--altViewButton-container { + margin-left: auto; + // padding: $euiSizeS; } } diff --git a/src/plugins/console/public/application/containers/embeddable/console_wrapper.tsx b/src/plugins/console/public/application/containers/embeddable/console_wrapper.tsx index c1bf576752ce5..e01df7ed7b658 100644 --- a/src/plugins/console/public/application/containers/embeddable/console_wrapper.tsx +++ b/src/plugins/console/public/application/containers/embeddable/console_wrapper.tsx @@ -106,7 +106,8 @@ const loadDependencies = async ( }; }; -interface ConsoleWrapperProps extends Omit { +interface ConsoleWrapperProps + extends Omit { onKeyDown: (this: Window, ev: WindowEventMap['keydown']) => any; } diff --git a/src/plugins/console/public/application/containers/embeddable/embeddable_console.tsx b/src/plugins/console/public/application/containers/embeddable/embeddable_console.tsx index 9d47e89e7f04c..651182f83a404 100644 --- a/src/plugins/console/public/application/containers/embeddable/embeddable_console.tsx +++ b/src/plugins/console/public/application/containers/embeddable/embeddable_console.tsx @@ -10,11 +10,12 @@ import React, { useReducer, useEffect } from 'react'; import classNames from 'classnames'; import useObservable from 'react-use/lib/useObservable'; import { - EuiButton, + EuiButtonEmpty, EuiFocusTrap, EuiPortal, EuiScreenReaderOnly, EuiThemeProvider, + EuiWindowEvent, keys, } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; @@ -23,6 +24,7 @@ import { dynamic } from '@kbn/shared-ux-utility'; import { EmbeddableConsoleProps, EmbeddableConsoleDependencies, + EmbeddableConsoleView, } from '../../../types/embeddable_console'; import * as store from '../../stores/embeddable_console'; @@ -45,6 +47,7 @@ export const EmbeddableConsole = ({ core, usageCollection, setDispatch, + alternateView, }: EmbeddableConsoleProps & EmbeddableConsoleDependencies) => { const [consoleState, consoleDispatch] = useReducer( store.reducer, @@ -57,22 +60,39 @@ export const EmbeddableConsole = ({ return () => setDispatch(null); }, [setDispatch, consoleDispatch]); useEffect(() => { - if (consoleState.isOpen && consoleState.loadFromContent) { + if (consoleState.view === EmbeddableConsoleView.Console && consoleState.loadFromContent) { setLoadFromParameter(consoleState.loadFromContent); - } else if (!consoleState.isOpen) { + } else if (consoleState.view === EmbeddableConsoleView.Closed) { removeLoadFromParameter(); } - }, [consoleState.isOpen, consoleState.loadFromContent]); + }, [consoleState.view, consoleState.loadFromContent]); useEffect(() => { document.body.classList.add(KBN_BODY_CONSOLE_CLASS); return () => document.body.classList.remove(KBN_BODY_CONSOLE_CLASS); }, []); - const isConsoleOpen = consoleState.isOpen; + const isOpen = consoleState.view !== EmbeddableConsoleView.Closed; + const showConsole = + consoleState.view !== EmbeddableConsoleView.Closed && + (consoleState.view === EmbeddableConsoleView.Console || alternateView === undefined); + const showAlternateView = + consoleState.view === EmbeddableConsoleView.Alternate && alternateView !== undefined; const setIsConsoleOpen = (value: boolean) => { consoleDispatch(value ? { type: 'open' } : { type: 'close' }); }; - const toggleConsole = () => setIsConsoleOpen(!isConsoleOpen); + const toggleConsole = () => setIsConsoleOpen(!isOpen); + const clickAlternateViewActivateButton: React.MouseEventHandler = (e) => { + e.preventDefault(); + switch (consoleState.view) { + case EmbeddableConsoleView.Console: + case EmbeddableConsoleView.Closed: + consoleDispatch({ type: 'open', payload: { alternateView: true } }); + break; + case EmbeddableConsoleView.Alternate: + consoleDispatch({ type: 'open', payload: { alternateView: false } }); + break; + } + }; const onKeyDown = (event: any) => { if (event.key === keys.ESCAPE) { @@ -83,7 +103,7 @@ export const EmbeddableConsole = ({ }; const classes = classNames('embeddableConsole', { - 'embeddableConsole-isOpen': isConsoleOpen, + 'embeddableConsole-isOpen': isOpen, 'embeddableConsole--large': size === 'l', 'embeddableConsole--medium': size === 'm', 'embeddableConsole--small': size === 's', @@ -96,7 +116,7 @@ export const EmbeddableConsole = ({ return ( - +
- {i18n.translate('console.embeddableConsole.title', { defaultMessage: 'Console', })} - + + {alternateView && ( +
+ +
+ )}
- {isConsoleOpen ? : null} + {showConsole ? : null} + {showAlternateView ? ( +
+ + +
+ ) : null}

diff --git a/src/plugins/console/public/application/stores/embeddable_console.ts b/src/plugins/console/public/application/stores/embeddable_console.ts index 4bfb38d094c13..26f1f78687250 100644 --- a/src/plugins/console/public/application/stores/embeddable_console.ts +++ b/src/plugins/console/public/application/stores/embeddable_console.ts @@ -10,11 +10,15 @@ import { Reducer } from 'react'; import { produce } from 'immer'; import { identity } from 'fp-ts/lib/function'; -import { EmbeddedConsoleAction, EmbeddedConsoleStore } from '../../types/embeddable_console'; +import { + EmbeddableConsoleView, + EmbeddedConsoleAction, + EmbeddedConsoleStore, +} from '../../types/embeddable_console'; export const initialValue: EmbeddedConsoleStore = produce( { - isOpen: false, + view: EmbeddableConsoleView.Closed, }, identity ); @@ -23,19 +27,22 @@ export const reducer: Reducer = (st produce(state, (draft) => { switch (action.type) { case 'open': - if (!state.isOpen) { - draft.isOpen = true; + const newView = action.payload?.alternateView + ? EmbeddableConsoleView.Alternate + : EmbeddableConsoleView.Console; + if (state.view !== newView) { + draft.view = newView; draft.loadFromContent = action.payload?.content; - return; + return draft; } break; case 'close': - if (state.isOpen) { - draft.isOpen = false; + if (state.view !== EmbeddableConsoleView.Closed) { + draft.view = EmbeddableConsoleView.Closed; draft.loadFromContent = undefined; - return; + return draft; } break; } - return draft; + return state; }); diff --git a/src/plugins/console/public/index.ts b/src/plugins/console/public/index.ts index 4cb85f83aca87..4e907d4329d1e 100644 --- a/src/plugins/console/public/index.ts +++ b/src/plugins/console/public/index.ts @@ -17,7 +17,9 @@ export type { ConsoleUILocatorParams, ConsolePluginSetup, ConsolePluginStart, - EmbeddableConsoleProps as RemoteConsoleProps, + EmbeddableConsoleProps, + EmbeddedConsoleView, + EmbeddedConsoleViewButtonProps, } from './types'; export { ConsoleUIPlugin as Plugin }; diff --git a/src/plugins/console/public/plugin.ts b/src/plugins/console/public/plugin.ts index 7b44338552465..9feb04b8f6663 100644 --- a/src/plugins/console/public/plugin.ts +++ b/src/plugins/console/public/plugin.ts @@ -19,6 +19,7 @@ import { ConsolePluginStart, ConsoleUILocatorParams, EmbeddableConsoleProps, + EmbeddedConsoleView, } from './types'; import { AutocompleteInfo, setAutocompleteInfo, EmbeddableConsoleInfo } from './services'; @@ -132,12 +133,16 @@ export class ConsoleUIPlugin setDispatch: (d) => { this._embeddableConsole.setDispatch(d); }, + alternateView: this._embeddableConsole.alternateView, }); }; consoleStart.isEmbeddedConsoleAvailable = () => this._embeddableConsole.isEmbeddedConsoleAvailable(); consoleStart.openEmbeddedConsole = (content?: string) => this._embeddableConsole.openEmbeddedConsole(content); + consoleStart.registerEmbeddedConsoleAlternateView = (view: EmbeddedConsoleView | null) => { + this._embeddableConsole.registerAlternateView(view); + }; } return consoleStart; diff --git a/src/plugins/console/public/services/embeddable_console.ts b/src/plugins/console/public/services/embeddable_console.ts index 6bc32b8475eef..91bf086bc3e33 100644 --- a/src/plugins/console/public/services/embeddable_console.ts +++ b/src/plugins/console/public/services/embeddable_console.ts @@ -7,10 +7,18 @@ */ import type { Dispatch } from 'react'; -import { EmbeddedConsoleAction as EmbeddableConsoleAction } from '../types/embeddable_console'; +import { + EmbeddedConsoleAction as EmbeddableConsoleAction, + EmbeddedConsoleView, +} from '../types/embeddable_console'; export class EmbeddableConsoleInfo { private _dispatch: Dispatch | null = null; + private _alternateView: EmbeddedConsoleView | undefined; + + public get alternateView(): EmbeddedConsoleView | undefined { + return this._alternateView; + } public setDispatch(d: Dispatch | null) { this._dispatch = d; @@ -26,4 +34,8 @@ export class EmbeddableConsoleInfo { this._dispatch({ type: 'open', payload: content ? { content } : undefined }); } + + public registerAlternateView(view: EmbeddedConsoleView | null) { + this._alternateView = view ?? undefined; + } } diff --git a/src/plugins/console/public/styles/_app.scss b/src/plugins/console/public/styles/_app.scss index 2f4340f1de0ab..37f2753b1a99b 100644 --- a/src/plugins/console/public/styles/_app.scss +++ b/src/plugins/console/public/styles/_app.scss @@ -125,3 +125,10 @@ .conApp__tabsExtension { border-bottom: $euiBorderThin; } + +/* + * The highlighting for the selected requests in the monaco editor + */ +.console__monaco_editor__selectedRequests { + background: transparentize($euiColorLightShade, .3); +} diff --git a/src/plugins/console/public/types/embeddable_console.ts b/src/plugins/console/public/types/embeddable_console.ts index 71a755b7dd544..da1e99f5e64c2 100644 --- a/src/plugins/console/public/types/embeddable_console.ts +++ b/src/plugins/console/public/types/embeddable_console.ts @@ -5,6 +5,7 @@ * in compliance with, at your election, the Elastic License 2.0 or the Server * Side Public License, v 1. */ +import type { ComponentType, MouseEventHandler } from 'react'; import type { CoreStart } from '@kbn/core/public'; import type { UsageCollectionStart } from '@kbn/usage-collection-plugin/public'; import type { Dispatch } from 'react'; @@ -23,13 +24,29 @@ export interface EmbeddableConsoleDependencies { core: CoreStart; usageCollection?: UsageCollectionStart; setDispatch: (dispatch: Dispatch | null) => void; + alternateView?: EmbeddedConsoleView; } export type EmbeddedConsoleAction = - | { type: 'open'; payload?: { content?: string } } + | { type: 'open'; payload?: { content?: string; alternateView?: boolean } } | { type: 'close' }; +export enum EmbeddableConsoleView { + Closed, + Console, + Alternate, +} + export interface EmbeddedConsoleStore { - isOpen: boolean; + view: EmbeddableConsoleView; loadFromContent?: string; } + +export interface EmbeddedConsoleViewButtonProps { + activeView: boolean; + onClick: MouseEventHandler; +} +export interface EmbeddedConsoleView { + ActivationButton: ComponentType; + ViewContent: ComponentType<{}>; +} diff --git a/src/plugins/console/public/types/plugin_dependencies.ts b/src/plugins/console/public/types/plugin_dependencies.ts index 97c9de3b33af4..03db14c181be8 100644 --- a/src/plugins/console/public/types/plugin_dependencies.ts +++ b/src/plugins/console/public/types/plugin_dependencies.ts @@ -13,7 +13,7 @@ import { UsageCollectionSetup, UsageCollectionStart } from '@kbn/usage-collectio import { SharePluginSetup, SharePluginStart, LocatorPublic } from '@kbn/share-plugin/public'; import { ConsoleUILocatorParams } from './locator'; -import { EmbeddableConsoleProps } from './embeddable_console'; +import { EmbeddableConsoleProps, EmbeddedConsoleView } from './embeddable_console'; export interface AppSetupUIPluginDependencies { home?: HomePublicPluginSetup; @@ -56,4 +56,10 @@ export interface ConsolePluginStart { * EmbeddableConsole is a functional component used to render a portable version of the dev tools console on any page in Kibana */ EmbeddableConsole?: FC; + /** + * Register an alternate view for the Embedded Console + * + * When registering an alternate view ensure that the content component you register is lazy loaded. + */ + registerEmbeddedConsoleAlternateView?: (view: EmbeddedConsoleView | null) => void; } diff --git a/src/plugins/controls/public/control_group/editor/control_editor.test.tsx b/src/plugins/controls/public/control_group/editor/control_editor.test.tsx index 1bcfa766331ca..e21783baa7064 100644 --- a/src/plugins/controls/public/control_group/editor/control_editor.test.tsx +++ b/src/plugins/controls/public/control_group/editor/control_editor.test.tsx @@ -10,9 +10,10 @@ import { ReactWrapper } from 'enzyme'; import React from 'react'; import { act } from 'react-dom/test-utils'; -import { stubDataView } from '@kbn/data-views-plugin/common/data_view.stub'; +import { createStubDataView } from '@kbn/data-views-plugin/common/data_view.stub'; import { findTestSubject, mountWithIntl } from '@kbn/test-jest-helpers'; +import { stubFieldSpecMap } from '@kbn/data-views-plugin/common/field.stub'; import { OptionsListEmbeddableFactory } from '../..'; import { OptionsListEmbeddableInput, @@ -40,6 +41,25 @@ describe('Data control editor', () => { explicitInput?: Partial; } + const stubDataView = createStubDataView({ + spec: { + id: 'logstash-*', + fields: { + ...stubFieldSpecMap, + 'machine.os.raw': { + name: 'machine.os.raw', + customLabel: 'OS', + type: 'string', + esTypes: ['keyword'], + aggregatable: true, + searchable: true, + }, + }, + title: 'logstash-*', + timeFieldName: '@timestamp', + }, + }); + pluginServices.getServices().dataViews.get = jest.fn().mockResolvedValue(stubDataView); pluginServices.getServices().dataViews.getIdsWithTitle = jest .fn() diff --git a/src/plugins/controls/public/control_group/editor/control_editor.tsx b/src/plugins/controls/public/control_group/editor/control_editor.tsx index c175507c9541f..bdc09a393b0f9 100644 --- a/src/plugins/controls/public/control_group/editor/control_editor.tsx +++ b/src/plugins/controls/public/control_group/editor/control_editor.tsx @@ -182,7 +182,7 @@ export const ControlEditor = ({ const disabled = fieldRegistry && selectedField - ? !fieldRegistry[selectedField].compatibleControlTypes.includes(controlType) + ? !fieldRegistry[selectedField]?.compatibleControlTypes.includes(controlType) : true; const keyPadMenuItem = ( { - startDashboardSearchSessionIntegration.bind(container)( - creationOptions?.searchSessionSettings - ); - }); - } - // -------------------------------------------------------------------------------------- // Start the control group integration. // -------------------------------------------------------------------------------------- @@ -487,7 +468,7 @@ export const initializeDashboard = async ({ startWith(dashboardContainer.getInput()), map((input) => input.filters), distinctUntilChanged((previous, current) => { - return compareFilters(previous ?? [], current ?? []); + return compareFilters(previous ?? [], current ?? [], COMPARE_ALL_OPTIONS); }) ); @@ -504,5 +485,50 @@ export const initializeDashboard = async ({ ); }); + // -------------------------------------------------------------------------------------- + // Set up parentApi.query$ + // Can not use legacyEmbeddableToApi since query$ setting is delayed + // -------------------------------------------------------------------------------------- + untilDashboardReady().then((dashboardContainer) => { + const query$ = new BehaviorSubject( + dashboardContainer.getInput().query + ); + dashboardContainer.query$ = query$; + dashboardContainer.integrationSubscriptions.add( + dashboardContainer.getInput$().subscribe((input) => { + if (!deepEqual(query$.getValue() ?? [], input.query)) { + query$.next(input.query); + } + }) + ); + }); + + // -------------------------------------------------------------------------------------- + // Set up search sessions integration. + // -------------------------------------------------------------------------------------- + let initialSearchSessionId; + if (searchSessionSettings) { + const { sessionIdToRestore } = searchSessionSettings; + + // if this incoming embeddable has a session, continue it. + if (incomingEmbeddable?.searchSessionId) { + session.continue(incomingEmbeddable.searchSessionId); + } + if (sessionIdToRestore) { + session.restore(sessionIdToRestore); + } + const existingSession = session.getSessionId(); + + initialSearchSessionId = + sessionIdToRestore ?? + (existingSession && incomingEmbeddable ? existingSession : session.start()); + + untilDashboardReady().then((container) => { + startDashboardSearchSessionIntegration.bind(container)( + creationOptions?.searchSessionSettings + ); + }); + } + return { input: initialDashboardInput, searchSessionId: initialSearchSessionId }; }; diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/new_session.test.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/new_session.test.ts new file mode 100644 index 0000000000000..367d5a1b04693 --- /dev/null +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/new_session.test.ts @@ -0,0 +1,117 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import type { DataViewFieldBase, DataViewBase, TimeRange, Filter } from '@kbn/es-query'; +import { buildExistsFilter, disableFilter, pinFilter, toggleFilterNegated } from '@kbn/es-query'; +import { BehaviorSubject } from 'rxjs'; +import { newSession$ } from './new_session'; + +describe('newSession$', () => { + const filters$ = new BehaviorSubject(undefined); + const query$ = new BehaviorSubject(undefined); + const timeRange$ = new BehaviorSubject(undefined); + const api = { + filters$, + query$, + timeRange$, + }; + + test('should not fire on subscribe', async () => { + let count = 0; + const subscription = newSession$(api).subscribe(() => { + count++; + }); + await new Promise((resolve) => setTimeout(resolve, 0)); + expect(count).toBe(0); + subscription.unsubscribe(); + }); + + describe('filter$', () => { + const existsFilter = buildExistsFilter( + { + name: 'myFieldName', + } as DataViewFieldBase, + { + id: 'myDataViewId', + } as DataViewBase + ); + + test('should fire on filter change', async () => { + filters$.next([existsFilter]); + + let count = 0; + const subscription = newSession$(api).subscribe(() => { + count++; + }); + + filters$.next([toggleFilterNegated(existsFilter)]); + await new Promise((resolve) => setTimeout(resolve, 0)); + expect(count).toBe(1); + subscription.unsubscribe(); + }); + + test('should not fire on disabled filter change', async () => { + const disabledFilter = disableFilter(existsFilter); + filters$.next([disabledFilter]); + + let count = 0; + const subscription = newSession$(api).subscribe(() => { + count++; + }); + + filters$.next([toggleFilterNegated(disabledFilter)]); + await new Promise((resolve) => setTimeout(resolve, 0)); + expect(count).toBe(0); + subscription.unsubscribe(); + }); + + test('should not fire on unpinned filter changing to pinned', async () => { + filters$.next([existsFilter]); + + let count = 0; + const subscription = newSession$(api).subscribe(() => { + count++; + }); + + filters$.next([pinFilter(existsFilter)]); + await new Promise((resolve) => setTimeout(resolve, 0)); + expect(count).toBe(0); + subscription.unsubscribe(); + }); + + test('should not fire on pinned filter changing to unpinned', async () => { + filters$.next([pinFilter(existsFilter)]); + + let count = 0; + const subscription = newSession$(api).subscribe(() => { + count++; + }); + + filters$.next([existsFilter]); + await new Promise((resolve) => setTimeout(resolve, 0)); + expect(count).toBe(0); + subscription.unsubscribe(); + }); + }); + + describe('timeRange$', () => { + test('should fire on timeRange change', async () => { + timeRange$.next({ from: 'now-15m', to: 'now' }); + + let count = 0; + const subscription = newSession$(api).subscribe(() => { + count++; + }); + + timeRange$.next({ from: 'now-30m', to: 'now' }); + await new Promise((resolve) => setTimeout(resolve, 0)); + expect(count).toBe(1); + subscription.unsubscribe(); + }); + }); +}); diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/new_session.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/new_session.ts new file mode 100644 index 0000000000000..fc5355c473f6e --- /dev/null +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/new_session.ts @@ -0,0 +1,65 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import { Filter, TimeRange, onlyDisabledFiltersChanged } from '@kbn/es-query'; +import { combineLatest, distinctUntilChanged, Observable, skip } from 'rxjs'; +import { shouldRefreshFilterCompareOptions } from '@kbn/embeddable-plugin/public'; +import { apiPublishesSettings } from '@kbn/presentation-containers/interfaces/publishes_settings'; +import { apiPublishesUnifiedSearch } from '@kbn/presentation-publishing'; +import { areTimesEqual } from '../../../state/diffing/dashboard_diffing_utils'; +import { DashboardContainer } from '../../dashboard_container'; + +export function newSession$(api: unknown) { + const observables: Array> = []; + + if (apiPublishesUnifiedSearch(api)) { + observables.push( + api.filters$.pipe( + // TODO move onlyDisabledFiltersChanged to appliedFilters$ interface + distinctUntilChanged((previous: Filter[] | undefined, current: Filter[] | undefined) => { + return onlyDisabledFiltersChanged(previous, current, shouldRefreshFilterCompareOptions); + }) + ) + ); + observables.push(api.query$); + observables.push( + api.timeRange$.pipe( + distinctUntilChanged((previous: TimeRange | undefined, current: TimeRange | undefined) => { + return ( + areTimesEqual(current?.from, previous?.from) && areTimesEqual(current?.to, previous?.to) + ); + }) + ) + ); + if (api.timeRestore$) { + observables.push(api.timeRestore$); + } + if (api.timeslice$) { + observables.push(api.timeslice$); + } + } + + if (apiPublishesSettings(api)) { + if (api.settings.syncColors$) { + observables.push(api.settings.syncColors$); + } + if (api.settings.syncCursor$) { + observables.push(api.settings.syncCursor$); + } + if (api.settings.syncTooltips$) { + observables.push(api.settings.syncTooltips$); + } + } + + // TODO replace lastReloadRequestTime$ with reload$ when removing legacy embeddable framework + if ((api as DashboardContainer).lastReloadRequestTime$) { + observables.push((api as DashboardContainer).lastReloadRequestTime$); + } + + return combineLatest(observables).pipe(skip(1)); +} diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/start_dashboard_search_session_integration.ts b/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/start_dashboard_search_session_integration.ts index 90a559a63d24d..df9d25a829db3 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/start_dashboard_search_session_integration.ts +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/create/search_sessions/start_dashboard_search_session_integration.ts @@ -6,15 +6,14 @@ * Side Public License, v 1. */ -import { pairwise, skip } from 'rxjs'; +import { skip } from 'rxjs'; import { noSearchSessionStorageCapabilityMessage } from '@kbn/data-plugin/public'; import { DashboardContainer } from '../../dashboard_container'; -import { DashboardContainerInput } from '../../../../../common'; import { pluginServices } from '../../../../services/plugin_services'; import { DashboardCreationOptions } from '../../dashboard_container_factory'; -import { getShouldRefresh } from '../../../state/diffing/dashboard_diffing_integration'; +import { newSession$ } from './new_session'; /** * Enables dashboard search sessions. @@ -54,38 +53,28 @@ export function startDashboardSearchSessionIntegration( ?.pipe(skip(1)) .subscribe(() => this.forceRefresh()); - // listen to and compare states to determine when to launch a new session. - this.getInput$() - .pipe(pairwise()) - .subscribe((states) => { - const [previous, current] = states as DashboardContainerInput[]; - const shouldRefetch = getShouldRefresh.bind(this)(previous, current); - if (!shouldRefetch) return; + newSession$(this).subscribe(() => { + const currentSearchSessionId = this.getState().explicitInput.searchSessionId; - const currentSearchSessionId = this.getState().explicitInput.searchSessionId; - - const updatedSearchSessionId: string | undefined = (() => { - // do not update session id if this is irrelevant state change to prevent excessive searches - if (!shouldRefetch) return; - - let searchSessionIdFromURL = getSearchSessionIdFromURL(); - if (searchSessionIdFromURL) { - if (session.isRestore() && session.isCurrentSession(searchSessionIdFromURL)) { - // we had previously been in a restored session but have now changed state so remove the session id from the URL. - removeSessionIdFromUrl(); - searchSessionIdFromURL = undefined; - } else { - session.restore(searchSessionIdFromURL); - } + const updatedSearchSessionId: string | undefined = (() => { + let searchSessionIdFromURL = getSearchSessionIdFromURL(); + if (searchSessionIdFromURL) { + if (session.isRestore() && session.isCurrentSession(searchSessionIdFromURL)) { + // we had previously been in a restored session but have now changed state so remove the session id from the URL. + removeSessionIdFromUrl(); + searchSessionIdFromURL = undefined; + } else { + session.restore(searchSessionIdFromURL); } - return searchSessionIdFromURL ?? session.start(); - })(); - - if (updatedSearchSessionId && updatedSearchSessionId !== currentSearchSessionId) { - this.searchSessionId = updatedSearchSessionId; - this.searchSessionId$.next(updatedSearchSessionId); } - }); + return searchSessionIdFromURL ?? session.start(); + })(); + + if (updatedSearchSessionId && updatedSearchSessionId !== currentSearchSessionId) { + this.searchSessionId = updatedSearchSessionId; + this.searchSessionId$.next(updatedSearchSessionId); + } + }); this.integrationSubscriptions.add(searchSessionIdChangeSubscription); } diff --git a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx index 8f1ec9a2d576f..f264aaa544ac7 100644 --- a/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx +++ b/src/plugins/dashboard/public/dashboard_container/embeddable/dashboard_container.tsx @@ -141,8 +141,10 @@ export class DashboardContainer public settings: Record>; public searchSessionId?: string; + public lastReloadRequestTime$ = new BehaviorSubject(undefined); public searchSessionId$ = new BehaviorSubject(undefined); public reload$ = new Subject(); + public timeRestore$: BehaviorSubject; public timeslice$: BehaviorSubject<[number, number] | undefined>; public locator?: Pick, 'navigate' | 'getRedirectUrl'>; @@ -280,10 +282,19 @@ export class DashboardContainer 'syncTooltips' ), }; + this.timeRestore$ = embeddableInputToSubject( + this.publishingSubscription, + this, + 'timeRestore' + ); this.timeslice$ = embeddableInputToSubject< [number, number] | undefined, DashboardContainerInput >(this.publishingSubscription, this, 'timeslice'); + this.lastReloadRequestTime$ = embeddableInputToSubject< + string | undefined, + DashboardContainerInput + >(this.publishingSubscription, this, 'lastReloadRequestTime'); } public getAppContext() { @@ -836,12 +847,4 @@ export class DashboardContainer } if (resetChangedPanelCount) this.children$.next(currentChildren); }; - - public getFilters() { - return this.getInput().filters; - } - - public getQuery(): Query | undefined { - return this.getInput().query; - } } diff --git a/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_functions.ts b/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_functions.ts index acfb95b6745e9..75d88fb5e720c 100644 --- a/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_functions.ts +++ b/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_functions.ts @@ -6,16 +6,8 @@ * Side Public License, v 1. */ -import { - reactEmbeddableRegistryHasKey, - shouldRefreshFilterCompareOptions, -} from '@kbn/embeddable-plugin/public'; -import { - compareFilters, - COMPARE_ALL_OPTIONS, - isFilterPinned, - onlyDisabledFiltersChanged, -} from '@kbn/es-query'; +import { reactEmbeddableRegistryHasKey } from '@kbn/embeddable-plugin/public'; +import { compareFilters, COMPARE_ALL_OPTIONS, isFilterPinned } from '@kbn/es-query'; import fastIsEqual from 'fast-deep-equal'; import { DashboardContainerInput } from '../../../../common'; import { DashboardContainer } from '../../embeddable/dashboard_container'; @@ -138,13 +130,3 @@ export const unsavedChangesDiffingFunctions: DashboardDiffFunctions = { viewMode: () => false, // When compared view mode is always considered unequal so that it gets backed up. }; - -export const shouldRefreshDiffingFunctions: DashboardDiffFunctions = { - filters: ({ currentValue, lastValue }) => - onlyDisabledFiltersChanged(lastValue, currentValue, shouldRefreshFilterCompareOptions), - - // fire on all time range changes, regardless of timeRestore - timeRange: ({ currentValue, lastValue }) => - areTimesEqual(currentValue?.from, lastValue?.from) && - areTimesEqual(currentValue?.to, lastValue?.to), -}; diff --git a/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.test.ts b/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.test.ts deleted file mode 100644 index b79eb27af3d79..0000000000000 --- a/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.test.ts +++ /dev/null @@ -1,123 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0 and the Server Side Public License, v 1; you may not use this file except - * in compliance with, at your election, the Elastic License 2.0 or the Server - * Side Public License, v 1. - */ - -import type { DataViewFieldBase, DataViewBase } from '@kbn/es-query'; -import { buildExistsFilter, disableFilter, pinFilter, toggleFilterNegated } from '@kbn/es-query'; - -import { getShouldRefresh } from './dashboard_diffing_integration'; - -import { DashboardContainerInput } from '../../../../common'; -import { DashboardContainer } from '../../embeddable/dashboard_container'; - -describe('getShouldRefresh', () => { - const dashboardContainerMock = { - untilInitialized: () => {}, - } as unknown as DashboardContainer; - - const existsFilter = buildExistsFilter( - { - name: 'myFieldName', - } as DataViewFieldBase, - { - id: 'myDataViewId', - } as DataViewBase - ); - - describe('filter changes', () => { - test('should return false when filters do not change', () => { - const lastInput = { - filters: [existsFilter], - } as unknown as DashboardContainerInput; - expect(getShouldRefresh.bind(dashboardContainerMock)(lastInput, lastInput)).toBe(false); - }); - - test('should return true when pinned filters change', () => { - const pinnedFilter = pinFilter(existsFilter); - const lastInput = { - filters: [pinnedFilter], - } as unknown as DashboardContainerInput; - const input = { - filters: [toggleFilterNegated(pinnedFilter)], - } as unknown as DashboardContainerInput; - expect(getShouldRefresh.bind(dashboardContainerMock)(lastInput, input)).toBe(true); - }); - - test('should return false when disabled filters change', () => { - const disabledFilter = disableFilter(existsFilter); - const lastInput = { - filters: [disabledFilter], - } as unknown as DashboardContainerInput; - const input = { - filters: [toggleFilterNegated(disabledFilter)], - } as unknown as DashboardContainerInput; - expect(getShouldRefresh.bind(dashboardContainerMock)(lastInput, input)).toBe(false); - }); - - test('should return false when pinned filter changes to unpinned', () => { - const lastInput = { - filters: [existsFilter], - } as unknown as DashboardContainerInput; - const input = { - filters: [pinFilter(existsFilter)], - } as unknown as DashboardContainerInput; - expect(getShouldRefresh.bind(dashboardContainerMock)(lastInput, input)).toBe(false); - }); - }); - - describe('timeRange changes', () => { - test('should return false when timeRange does not change', () => { - const lastInput = { - timeRange: { from: 'now-15m', to: 'now' }, - } as unknown as DashboardContainerInput; - expect(getShouldRefresh.bind(dashboardContainerMock)(lastInput, lastInput)).toBe(false); - }); - - test('should return true when timeRange changes (timeRestore is true)', () => { - const lastInput = { - timeRange: { from: 'now-15m', to: 'now' }, - timeRestore: true, - } as unknown as DashboardContainerInput; - const input = { - timeRange: { from: 'now-30m', to: 'now' }, - timeRestore: true, - } as unknown as DashboardContainerInput; - expect(getShouldRefresh.bind(dashboardContainerMock)(lastInput, input)).toBe(true); - }); - - test('should return true when timeRange changes (timeRestore is false)', () => { - const lastInput = { - timeRange: { from: 'now-15m', to: 'now' }, - timeRestore: false, - } as unknown as DashboardContainerInput; - const input = { - timeRange: { from: 'now-30m', to: 'now' }, - timeRestore: false, - } as unknown as DashboardContainerInput; - expect(getShouldRefresh.bind(dashboardContainerMock)(lastInput, input)).toBe(true); - }); - }); - - describe('key without custom diffing function (syncColors)', () => { - test('should return false when syncColors do not change', () => { - const lastInput = { - syncColors: false, - } as unknown as DashboardContainerInput; - expect(getShouldRefresh.bind(dashboardContainerMock)(lastInput, lastInput)).toBe(false); - }); - - test('should return true when syncColors change', () => { - const lastInput = { - syncColors: false, - } as unknown as DashboardContainerInput; - const input = { - syncColors: true, - } as unknown as DashboardContainerInput; - expect(getShouldRefresh.bind(dashboardContainerMock)(lastInput, input)).toBe(true); - }); - }); -}); diff --git a/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.ts b/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.ts index 789106cf5cd7c..a8644239de90e 100644 --- a/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.ts +++ b/src/plugins/dashboard/public/dashboard_container/state/diffing/dashboard_diffing_integration.ts @@ -17,12 +17,7 @@ import { DashboardContainerInput } from '../../../../common'; import { CHANGE_CHECK_DEBOUNCE } from '../../../dashboard_constants'; import { pluginServices } from '../../../services/plugin_services'; import { dashboardContainerReducers } from '../dashboard_container_reducers'; -import { - isKeyEqual, - isKeyEqualAsync, - shouldRefreshDiffingFunctions, - unsavedChangesDiffingFunctions, -} from './dashboard_diffing_functions'; +import { isKeyEqualAsync, unsavedChangesDiffingFunctions } from './dashboard_diffing_functions'; /** * An array of reducers which cannot cause unsaved changes. Unsaved changes only compares the explicit input @@ -61,23 +56,6 @@ export const keysNotConsideredUnsavedChanges: Array> = [ - 'query', - 'filters', - 'timeRange', - 'timeslice', - 'timeRestore', - 'lastReloadRequestTime', - - // also refetch when chart settings change - 'syncColors', - 'syncCursor', - 'syncTooltips', -]; - /** * build middleware that fires an event any time a reducer that could cause unsaved changes is run */ @@ -228,34 +206,6 @@ export async function getDashboardUnsavedChanges( return inputChanges; } -export function getShouldRefresh( - this: DashboardContainer, - lastInput: DashboardContainerInput, - input: DashboardContainerInput -): boolean { - for (const key of sessionChangeKeys) { - if (input[key] === undefined && lastInput[key] === undefined) { - continue; - } - if ( - !isKeyEqual( - key, - { - container: this, - currentValue: input[key], - currentInput: input, - lastValue: lastInput[key], - lastInput, - }, - shouldRefreshDiffingFunctions - ) - ) { - return true; - } - } - return false; -} - function backupUnsavedChanges( this: DashboardContainer, dashboardChanges: Partial, diff --git a/src/plugins/data/common/query/text_based_query_state_to_ast.ts b/src/plugins/data/common/query/text_based_query_state_to_ast.ts index e24cbbd0a7dab..fe60157800501 100644 --- a/src/plugins/data/common/query/text_based_query_state_to_ast.ts +++ b/src/plugins/data/common/query/text_based_query_state_to_ast.ts @@ -20,13 +20,19 @@ import { interface Args extends QueryState { timeFieldName?: string; inputQuery?: Query; + titleForInspector?: string; + descriptionForInspector?: string; } /** * Converts QueryState to expression AST * @param filters array of kibana filters * @param query kibana query or aggregate query + * @param inputQuery * @param time kibana time range + * @param dataView + * @param titleForInspector + * @param descriptionForInspector */ export function textBasedQueryStateToExpressionAst({ filters, @@ -34,6 +40,8 @@ export function textBasedQueryStateToExpressionAst({ inputQuery, time, timeFieldName, + titleForInspector, + descriptionForInspector, }: Args) { const kibana = buildExpressionFunction('kibana', {}); let q; @@ -51,7 +59,12 @@ export function textBasedQueryStateToExpressionAst({ const mode = getAggregateQueryMode(query); for (const esMode of ['sql', 'esql']) { if (mode === esMode && esMode in query) { - const essql = aggregateQueryToAst(query, timeFieldName); + const essql = aggregateQueryToAst({ + query, + timeField: timeFieldName, + titleForInspector, + descriptionForInspector, + }); if (essql) { ast.chain.push(essql); diff --git a/src/plugins/data/common/query/text_based_query_state_to_ast_with_validation.test.ts b/src/plugins/data/common/query/text_based_query_state_to_ast_with_validation.test.ts index e9ded5d83b8c0..9e99bcc150053 100644 --- a/src/plugins/data/common/query/text_based_query_state_to_ast_with_validation.test.ts +++ b/src/plugins/data/common/query/text_based_query_state_to_ast_with_validation.test.ts @@ -72,4 +72,35 @@ describe('textBasedQueryStateToAstWithValidation', () => { }) ); }); + + it('returns an object with the correct structure for ES|QL', async () => { + const dataView = createStubDataView({ + spec: { + id: 'foo', + title: 'foo', + timeFieldName: '@timestamp', + }, + }); + const actual = await textBasedQueryStateToAstWithValidation({ + filters: [], + query: { esql: 'from logs*' }, + time: { + from: 'now', + to: 'now+7d', + }, + dataView, + titleForInspector: 'Custom title', + descriptionForInspector: 'Custom desc', + }); + expect(actual).toHaveProperty( + 'chain.2.arguments', + expect.objectContaining({ + query: ['from logs*'], + timeField: ['@timestamp'], + locale: ['en'], + titleForInspector: ['Custom title'], + descriptionForInspector: ['Custom desc'], + }) + ); + }); }); diff --git a/src/plugins/data/common/query/text_based_query_state_to_ast_with_validation.ts b/src/plugins/data/common/query/text_based_query_state_to_ast_with_validation.ts index 4d38aad530f45..27e6484a2d430 100644 --- a/src/plugins/data/common/query/text_based_query_state_to_ast_with_validation.ts +++ b/src/plugins/data/common/query/text_based_query_state_to_ast_with_validation.ts @@ -14,13 +14,19 @@ interface Args extends QueryState { dataView?: DataView; inputQuery?: Query; timeFieldName?: string; + titleForInspector?: string; + descriptionForInspector?: string; } /** * Converts QueryState to expression AST * @param filters array of kibana filters * @param query kibana query or aggregate query + * @param inputQuery * @param time kibana time range + * @param dataView + * @param titleForInspector + * @param descriptionForInspector */ export async function textBasedQueryStateToAstWithValidation({ filters, @@ -28,6 +34,8 @@ export async function textBasedQueryStateToAstWithValidation({ inputQuery, time, dataView, + titleForInspector, + descriptionForInspector, }: Args) { let ast; if (query && isOfAggregateQueryType(query)) { @@ -37,6 +45,8 @@ export async function textBasedQueryStateToAstWithValidation({ inputQuery, time, timeFieldName: dataView?.timeFieldName, + titleForInspector, + descriptionForInspector, }); } return ast; diff --git a/src/plugins/data/common/search/expressions/aggregate_query_to_ast.test.ts b/src/plugins/data/common/search/expressions/aggregate_query_to_ast.test.ts index 0ded432eb0508..23a20fbde3f4b 100644 --- a/src/plugins/data/common/search/expressions/aggregate_query_to_ast.test.ts +++ b/src/plugins/data/common/search/expressions/aggregate_query_to_ast.test.ts @@ -10,15 +10,37 @@ import { aggregateQueryToAst } from './aggregate_query_to_ast'; describe('aggregateQueryToAst', () => { it('should return a function', () => { - expect(aggregateQueryToAst({ esql: 'from foo' })).toHaveProperty('type', 'function'); + expect(aggregateQueryToAst({ query: { esql: 'from foo' } })).toHaveProperty('type', 'function'); }); it('should forward arguments', () => { - expect(aggregateQueryToAst({ esql: 'from foo' }, 'baz')).toHaveProperty( + expect( + aggregateQueryToAst({ + query: { esql: 'from foo' }, + timeField: 'baz', + }) + ).toHaveProperty( + 'arguments', + expect.objectContaining({ + query: ['from foo'], + timeField: ['baz'], + }) + ); + + expect( + aggregateQueryToAst({ + query: { esql: 'from foo' }, + timeField: 'baz', + titleForInspector: 'Custom title', + descriptionForInspector: 'Custom desc', + }) + ).toHaveProperty( 'arguments', expect.objectContaining({ query: ['from foo'], timeField: ['baz'], + titleForInspector: ['Custom title'], + descriptionForInspector: ['Custom desc'], }) ); }); diff --git a/src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts b/src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts index 6b69af873585b..e755f6a9f6dbe 100644 --- a/src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts +++ b/src/plugins/data/common/search/expressions/aggregate_query_to_ast.ts @@ -11,10 +11,17 @@ import { AggregateQuery } from '../../query'; import { EssqlExpressionFunctionDefinition } from './essql'; import { EsqlExpressionFunctionDefinition } from './esql'; -export const aggregateQueryToAst = ( - query: AggregateQuery, - timeField?: string -): undefined | ExpressionAstFunction => { +export const aggregateQueryToAst = ({ + query, + timeField, + titleForInspector, + descriptionForInspector, +}: { + query: AggregateQuery; + timeField?: string; + titleForInspector?: string; + descriptionForInspector?: string; +}): undefined | ExpressionAstFunction => { if ('sql' in query) { return buildExpressionFunction('essql', { query: query.sql, @@ -26,6 +33,8 @@ export const aggregateQueryToAst = ( query: query.esql, timeField, locale: i18n.getLocale(), + titleForInspector, + descriptionForInspector, }).toAst(); } }; diff --git a/src/plugins/data/common/search/expressions/esql.ts b/src/plugins/data/common/search/expressions/esql.ts index d9893c8c203f6..a40902b6658ce 100644 --- a/src/plugins/data/common/search/expressions/esql.ts +++ b/src/plugins/data/common/search/expressions/esql.ts @@ -40,6 +40,12 @@ interface Arguments { // timezone?: string; timeField?: string; locale?: string; + + /** + * Requests' meta for showing in Inspector + */ + titleForInspector?: string; + descriptionForInspector?: string; } export type EsqlExpressionFunctionDefinition = ExpressionFunctionDefinition< @@ -107,10 +113,24 @@ export const getEsqlFn = ({ getStartDependencies }: EsqlFnArguments) => { defaultMessage: 'The locale to use.', }), }, + titleForInspector: { + aliases: ['titleForInspector'], + types: ['string'], + help: i18n.translate('data.search.esql.titleForInspector.help', { + defaultMessage: 'The title to show in Inspector.', + }), + }, + descriptionForInspector: { + aliases: ['descriptionForInspector'], + types: ['string'], + help: i18n.translate('data.search.esql.descriptionForInspector.help', { + defaultMessage: 'The description to show in Inspector.', + }), + }, }, fn( input, - { query, /* timezone, */ timeField, locale }, + { query, /* timezone, */ timeField, locale, titleForInspector, descriptionForInspector }, { abortSignal, inspectorAdapters, getKibanaRequest } ) { return defer(() => @@ -158,14 +178,17 @@ export const getEsqlFn = ({ getStartDependencies }: EsqlFnArguments) => { } const request = inspectorAdapters.requests.start( - i18n.translate('data.search.dataRequest.title', { - defaultMessage: 'Data', - }), - { - description: i18n.translate('data.search.es_search.dataRequest.description', { - defaultMessage: - 'This request queries Elasticsearch to fetch the data for the visualization.', + titleForInspector ?? + i18n.translate('data.search.dataRequest.title', { + defaultMessage: 'Data', }), + { + description: + descriptionForInspector ?? + i18n.translate('data.search.es_search.dataRequest.description', { + defaultMessage: + 'This request queries Elasticsearch to fetch the data for the visualization.', + }), }, startTime ); diff --git a/src/plugins/data_views/common/data_views/data_views.test.ts b/src/plugins/data_views/common/data_views/data_views.test.ts index 5a2357f4a7891..71244c6ec5475 100644 --- a/src/plugins/data_views/common/data_views/data_views.test.ts +++ b/src/plugins/data_views/common/data_views/data_views.test.ts @@ -201,7 +201,7 @@ describe('IndexPatterns', () => { expect(apiClient.getFieldsForWildcard).toBeCalledWith(args); }); - test('getFieldsForWildcard called with allowNoIndex set to true as default ', async () => { + test('getFieldsForWildcard called with allowNoIndex set to true as default', async () => { const id = '1'; await indexPatterns.get(id); expect(apiClient.getFieldsForWildcard).toBeCalledWith({ @@ -214,6 +214,82 @@ describe('IndexPatterns', () => { }); }); + test('getFieldsForIndexPattern called with allowHidden set to undefined as default', async () => { + await indexPatterns.getFieldsForIndexPattern({ id: '1' } as DataViewSpec, { + pattern: 'something', + }); + expect(apiClient.getFieldsForWildcard).toBeCalledWith({ + allowHidden: undefined, + allowNoIndex: true, + metaFields: false, + pattern: undefined, + rollupIndex: undefined, + type: undefined, + }); + }); + + test('getFieldsForIndexPattern called with allowHidden set to true', async () => { + await indexPatterns.getFieldsForIndexPattern({ id: '1', allowHidden: true } as DataViewSpec, { + pattern: 'something', + }); + expect(apiClient.getFieldsForWildcard).toBeCalledWith({ + allowHidden: true, + allowNoIndex: true, + metaFields: false, + pattern: undefined, + rollupIndex: undefined, + type: undefined, + }); + }); + + test('getFieldsForIndexPattern called with allowHidden set to false', async () => { + await indexPatterns.getFieldsForIndexPattern({ id: '1', allowHidden: false } as DataViewSpec, { + pattern: 'something', + }); + expect(apiClient.getFieldsForWildcard).toBeCalledWith({ + allowHidden: false, + allowNoIndex: true, + metaFields: false, + pattern: undefined, + rollupIndex: undefined, + type: undefined, + }); + }); + + test('getFieldsForIndexPattern called with getAllowHidden returning true', async () => { + await indexPatterns.getFieldsForIndexPattern( + { id: '1', getAllowHidden: () => true } as DataView, + { + pattern: 'something', + } + ); + expect(apiClient.getFieldsForWildcard).toBeCalledWith({ + allowHidden: true, + allowNoIndex: true, + metaFields: false, + pattern: undefined, + rollupIndex: undefined, + type: undefined, + }); + }); + + test('getFieldsForIndexPattern called with getAllowHidden returning false', async () => { + await indexPatterns.getFieldsForIndexPattern( + { id: '1', getAllowHidden: () => false } as DataView, + { + pattern: 'something', + } + ); + expect(apiClient.getFieldsForWildcard).toBeCalledWith({ + allowHidden: false, + allowNoIndex: true, + metaFields: false, + pattern: undefined, + rollupIndex: undefined, + type: undefined, + }); + }); + test('does cache ad-hoc data views', async () => { const id = '1'; diff --git a/src/plugins/data_views/common/data_views/data_views.ts b/src/plugins/data_views/common/data_views/data_views.ts index 43508a6db9cae..adce2a0079945 100644 --- a/src/plugins/data_views/common/data_views/data_views.ts +++ b/src/plugins/data_views/common/data_views/data_views.ts @@ -572,7 +572,9 @@ export class DataViewsService { ...options, pattern: indexPattern.title as string, allowHidden: - (indexPattern as DataViewSpec).allowHidden || (indexPattern as DataView)?.getAllowHidden(), + (indexPattern as DataViewSpec).allowHidden == null + ? (indexPattern as DataView)?.getAllowHidden?.() + : (indexPattern as DataViewSpec).allowHidden, }); private getFieldsAndIndicesForDataView = async ( diff --git a/src/plugins/discover/public/application/main/utils/fetch_text_based.ts b/src/plugins/discover/public/application/main/utils/fetch_text_based.ts index 4099a16a9625a..7045eb3c28cbc 100644 --- a/src/plugins/discover/public/application/main/utils/fetch_text_based.ts +++ b/src/plugins/discover/public/application/main/utils/fetch_text_based.ts @@ -7,6 +7,7 @@ */ import { pluck } from 'rxjs'; import { lastValueFrom } from 'rxjs'; +import { i18n } from '@kbn/i18n'; import { Query, AggregateQuery, Filter } from '@kbn/es-query'; import type { Adapters } from '@kbn/inspector-plugin/common'; import type { DataPublicPluginStart } from '@kbn/data-plugin/public'; @@ -41,6 +42,12 @@ export function fetchTextBased( time: timeRange, dataView, inputQuery, + titleForInspector: i18n.translate('discover.inspectorTextBasedRequestTitle', { + defaultMessage: 'Table', + }), + descriptionForInspector: i18n.translate('discover.inspectorTextBasedRequestDescription', { + defaultMessage: 'This request queries Elasticsearch to fetch results for the table.', + }), }) .then((ast) => { if (ast) { diff --git a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts index 0dfbd84224f4d..c30dc888c85c4 100644 --- a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts +++ b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.test.ts @@ -45,4 +45,19 @@ describe('getDataViewByTextBasedQueryLang', () => { expect(dataView.isPersisted()).toEqual(false); expect(dataView.timeFieldName).toBeUndefined(); }); + + it('creates an adhoc ES|QL dataview if the query doesnt have from command', async () => { + discoverServiceMock.dataViews.create = jest.fn().mockReturnValue({ + ...dataViewAdHoc, + isPersisted: () => false, + id: 'ad-hoc-id-1', + title: 'test-1', + timeFieldName: undefined, + }); + const query = { esql: 'ROW x = "ES|QL is awesome"' }; + const dataView = await getDataViewByTextBasedQueryLang(query, dataViewAdHoc, services); + expect(dataView.isPersisted()).toEqual(false); + expect(dataView.name).toEqual(dataViewAdHoc.name); + expect(dataView.timeFieldName).toBeUndefined(); + }); }); diff --git a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.ts b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.ts index 42e36c7ac9ab8..5c66a643fb266 100644 --- a/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.ts +++ b/src/plugins/discover/public/application/main/utils/get_data_view_by_text_based_query_lang.ts @@ -26,8 +26,6 @@ export async function getDataViewByTextBasedQueryLang( if ('esql' in query) { indexPatternFromQuery = getIndexPatternFromESQLQuery(query.esql); } - // we should find a better way to work with ESQL queries which dont need a dataview - if (!indexPatternFromQuery && currentDataView) return currentDataView; if ( currentDataView?.isPersisted() || @@ -35,7 +33,9 @@ export async function getDataViewByTextBasedQueryLang( ) { const dataViewObj = await getESQLAdHocDataview(indexPatternFromQuery, services.dataViews); - if (dataViewObj.fields.getByName('@timestamp')?.type === 'date') { + // If the indexPatternFromQuery is empty string means that the user used either the ROW or SHOW META / SHOW INFO commands + // we don't want to add the @timestamp field in this case https://github.com/elastic/kibana/issues/163417 + if (indexPatternFromQuery && dataViewObj.fields.getByName('@timestamp')?.type === 'date') { dataViewObj.timeFieldName = '@timestamp'; } return dataViewObj; diff --git a/src/plugins/embeddable/public/lib/embeddables/compatibility/legacy_embeddable_to_api.ts b/src/plugins/embeddable/public/lib/embeddables/compatibility/legacy_embeddable_to_api.ts index ef8f9ccad25ee..957cee6353d0e 100644 --- a/src/plugins/embeddable/public/lib/embeddables/compatibility/legacy_embeddable_to_api.ts +++ b/src/plugins/embeddable/public/lib/embeddables/compatibility/legacy_embeddable_to_api.ts @@ -7,7 +7,14 @@ */ import { DataView } from '@kbn/data-views-plugin/common'; -import { AggregateQuery, compareFilters, Filter, Query, TimeRange } from '@kbn/es-query'; +import { + AggregateQuery, + compareFilters, + COMPARE_ALL_OPTIONS, + Filter, + Query, + TimeRange, +} from '@kbn/es-query'; import type { ErrorLike } from '@kbn/expressions-plugin/common'; import { i18n } from '@kbn/i18n'; import { PhaseEvent, PhaseEventType } from '@kbn/presentation-publishing'; @@ -202,7 +209,13 @@ export const legacyEmbeddableToApi = ( subscriptions.add( embeddable.getInput$().subscribe(() => { - if (!compareFilters(embeddable.filters$.getValue() ?? [], embeddable.getFilters())) { + if ( + !compareFilters( + embeddable.filters$.getValue() ?? [], + embeddable.getFilters(), + COMPARE_ALL_OPTIONS + ) + ) { filters$.next(embeddable.getFilters()); } if (!deepEqual(embeddable.query$.getValue() ?? [], embeddable.getQuery())) { diff --git a/src/plugins/guided_onboarding/kibana.jsonc b/src/plugins/guided_onboarding/kibana.jsonc index 41955592f6624..6dd0d9f80a436 100644 --- a/src/plugins/guided_onboarding/kibana.jsonc +++ b/src/plugins/guided_onboarding/kibana.jsonc @@ -8,6 +8,6 @@ "server": true, "browser": true, "optionalPlugins": ["cloud", "features"], - "requiredBundles": ["kibanaReact"], + "requiredBundles": [] } } diff --git a/src/plugins/guided_onboarding/public/plugin.tsx b/src/plugins/guided_onboarding/public/plugin.tsx index e10337edbebc2..8a21e87c3cee1 100755 --- a/src/plugins/guided_onboarding/public/plugin.tsx +++ b/src/plugins/guided_onboarding/public/plugin.tsx @@ -8,18 +8,14 @@ import ReactDOM from 'react-dom'; import React from 'react'; -import * as Rx from 'rxjs'; -import { I18nProvider } from '@kbn/i18n-react'; import { CoreSetup, CoreStart, Plugin, - CoreTheme, ApplicationStart, NotificationsStart, } from '@kbn/core/public'; - -import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import { PLUGIN_FEATURE } from '../common/constants'; import type { @@ -35,7 +31,7 @@ export class GuidedOnboardingPlugin { constructor() {} public setup( - core: CoreSetup, + _core: CoreSetup, { cloud }: GuidedOnboardingPluginSetup ): GuidedOnboardingPluginSetup { return { @@ -47,7 +43,7 @@ export class GuidedOnboardingPlugin core: CoreStart, { cloud }: AppPluginStartDependencies ): GuidedOnboardingPluginStart { - const { chrome, http, theme, application, notifications } = core; + const { chrome, http, application, notifications } = core; // Guided onboarding UI is only available on cloud and if the access to the Kibana feature is granted const isEnabled = !!(cloud?.isCloudEnabled && application.capabilities[PLUGIN_FEATURE].enabled); @@ -59,8 +55,8 @@ export class GuidedOnboardingPlugin order: 1000, mount: (target) => this.mount({ + startServices: core, targetDomElement: target, - theme$: theme.theme$, api: apiService, application, notifications, @@ -77,29 +73,28 @@ export class GuidedOnboardingPlugin public stop() {} private mount({ + startServices, targetDomElement, - theme$, api, application, notifications, }: { + startServices: Pick; targetDomElement: HTMLElement; - theme$: Rx.Observable; api: ApiService; application: ApplicationStart; notifications: NotificationsStart; }) { + const { theme } = startServices; ReactDOM.render( - - - - - , + + + , targetDomElement ); return () => ReactDOM.unmountComponentAtNode(targetDomElement); diff --git a/src/plugins/guided_onboarding/tsconfig.json b/src/plugins/guided_onboarding/tsconfig.json index ff4d6052517cc..b48582480142f 100644 --- a/src/plugins/guided_onboarding/tsconfig.json +++ b/src/plugins/guided_onboarding/tsconfig.json @@ -7,10 +7,8 @@ "kbn_references": [ "@kbn/core", - "@kbn/kibana-react-plugin", "@kbn/cloud-plugin", "@kbn/guided-onboarding", - "@kbn/i18n-react", "@kbn/core-application-browser-mocks", "@kbn/core-notifications-browser-mocks", "@kbn/config-schema", @@ -21,6 +19,7 @@ "@kbn/core-http-browser-mocks", "@kbn/config-schema", "@kbn/features-plugin", + "@kbn/react-kibana-context-render", ], "exclude": [ "target/**/*", diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts index 8a40bd598e1c6..35f0644b08c88 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/schema.ts @@ -484,6 +484,10 @@ export const stackManagementSchema: MakeSchemaFrom = { type: 'keyword', _meta: { description: 'Non-default value of setting.' }, }, + 'observability:aiAssistantSimulatedFunctionCalling': { + type: 'boolean', + _meta: { description: 'Non-default value of setting.' }, + }, 'observability:logsExplorer:allowedDataViews': { type: 'array', items: { diff --git a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts index e25ebd87afa9a..75c2ca310ddc6 100644 --- a/src/plugins/kibana_usage_collection/server/collectors/management/types.ts +++ b/src/plugins/kibana_usage_collection/server/collectors/management/types.ts @@ -54,6 +54,7 @@ export interface UsageStats { 'observability:logsExplorer:allowedDataViews': string[]; 'observability:aiAssistantLogsIndexPattern': string; 'observability:aiAssistantResponseLanguage': string; + 'observability:aiAssistantSimulatedFunctionCalling': boolean; 'visualization:heatmap:maxBuckets': number; 'visualization:colorMapping': string; 'visualization:useLegacyTimeAxis': boolean; diff --git a/src/plugins/telemetry/schema/oss_plugins.json b/src/plugins/telemetry/schema/oss_plugins.json index 8c6c605bd6c72..1a0b63d5c6bf6 100644 --- a/src/plugins/telemetry/schema/oss_plugins.json +++ b/src/plugins/telemetry/schema/oss_plugins.json @@ -10182,6 +10182,12 @@ "description": "Non-default value of setting." } }, + "observability:aiAssistantSimulatedFunctionCalling": { + "type": "boolean", + "_meta": { + "description": "Non-default value of setting." + } + }, "banners:placement": { "type": "keyword", "_meta": { diff --git a/src/plugins/telemetry_collection_manager/server/plugin.ts b/src/plugins/telemetry_collection_manager/server/plugin.ts index d3db80ed728de..f4685576c1ef8 100644 --- a/src/plugins/telemetry_collection_manager/server/plugin.ts +++ b/src/plugins/telemetry_collection_manager/server/plugin.ts @@ -21,6 +21,7 @@ import type { } from '@kbn/core/server'; import { firstValueFrom, ReplaySubject } from 'rxjs'; +import apm from 'elastic-apm-node'; import type { TelemetryCollectionManagerPluginSetup, TelemetryCollectionManagerPluginStart, @@ -259,7 +260,16 @@ export class TelemetryCollectionManagerPlugin config: EncryptedStatsGetterConfig ): Promise>; private async getStats(config: StatsGetterConfig) { + const retrieveSnapshotTelemetryTransaction = apm.startTransaction( + 'Retrieve Snapshot Telemetry', + 'telemetry' + ); + retrieveSnapshotTelemetryTransaction.addLabels({ + unencrypted: config.unencrypted, + refresh: config.refreshCache, + }); if (!this.usageCollection) { + retrieveSnapshotTelemetryTransaction.end('skipped'); return []; } const collection = this.collectionStrategy; @@ -268,10 +278,12 @@ export class TelemetryCollectionManagerPlugin const statsCollectionConfig = this.getStatsCollectionConfig(config, this.usageCollection); if (statsCollectionConfig) { try { + retrieveSnapshotTelemetryTransaction.startSpan('Fetch usage'); const usageData = await this.getUsageForCollection(collection, statsCollectionConfig); this.logger.debug(`Received Usage using ${collection.title} collection.`); - return await Promise.all( + retrieveSnapshotTelemetryTransaction.startSpan('Prepare response'); + const results = await Promise.all( usageData.map(async (clusterStats) => { const { cluster_uuid: clusterUuid } = clusterStats.cluster_stats as Record< string, @@ -288,14 +300,20 @@ export class TelemetryCollectionManagerPlugin }; }) ); + retrieveSnapshotTelemetryTransaction.end('success'); + return results; } catch (err) { this.logger.debug( `Failed to collect any usage with registered collection ${collection.title}.` ); + retrieveSnapshotTelemetryTransaction.end('error'); + return []; } } } + retrieveSnapshotTelemetryTransaction.end('skipped'); + return []; } diff --git a/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx b/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx index 6a56563eeba98..e89f91afa33c9 100644 --- a/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx +++ b/src/plugins/unified_search/public/query_string_input/query_bar_top_row.tsx @@ -68,10 +68,18 @@ export const strings = { i18n.translate('unifiedSearch.queryBarTopRow.submitButton.update', { defaultMessage: 'Needs updating', }), + getUpdateButtonLabel: () => + i18n.translate('unifiedSearch.queryBarTopRow.submitButton.updateButton', { + defaultMessage: 'Update', + }), getRefreshQueryLabel: () => i18n.translate('unifiedSearch.queryBarTopRow.submitButton.refresh', { defaultMessage: 'Refresh query', }), + getRefreshButtonLabel: () => + i18n.translate('unifiedSearch.queryBarTopRow.submitButton.refreshButton', { + defaultMessage: 'Refresh', + }), getCancelQueryLabel: () => i18n.translate('unifiedSearch.queryBarTopRow.submitButton.cancel', { defaultMessage: 'Cancel', @@ -80,6 +88,10 @@ export const strings = { i18n.translate('unifiedSearch.queryBarTopRow.submitButton.run', { defaultMessage: 'Run query', }), + getRunButtonLabel: () => + i18n.translate('unifiedSearch.queryBarTopRow.submitButton.runButton', { + defaultMessage: 'Run', + }), getDisabledDatePickerLabel: () => i18n.translate('unifiedSearch.queryBarTopRow.datePicker.disabledLabel', { defaultMessage: 'All time', @@ -557,6 +569,10 @@ export const QueryBarTopRow = React.memo( const iconDirty = Boolean(isQueryLangSelected) ? 'play' : 'kqlFunction'; const tooltipDirty = Boolean(isQueryLangSelected) ? buttonLabelRun : buttonLabelUpdate; + const isDirtyButtonLabel = Boolean(isQueryLangSelected) + ? strings.getRunButtonLabel() + : strings.getUpdateButtonLabel(); + const button = props.customSubmitButton ? ( React.cloneElement(props.customSubmitButton, { onClick: onClickSubmitButton }) ) : ( @@ -581,7 +597,9 @@ export const QueryBarTopRow = React.memo( delay: 'long', position: 'bottom', }} - /> + > + {props.isDirty ? isDirtyButtonLabel : strings.getRefreshButtonLabel()} + )} ); diff --git a/src/plugins/vis_types/table/public/convert_to_lens/configurations/index.ts b/src/plugins/vis_types/table/public/convert_to_lens/configurations/index.ts index b532a79df7d6b..14aecc3fe4bf2 100644 --- a/src/plugins/vis_types/table/public/convert_to_lens/configurations/index.ts +++ b/src/plugins/vis_types/table/public/convert_to_lens/configurations/index.ts @@ -14,6 +14,12 @@ import { } from '@kbn/visualizations-plugin/common'; import { TableVisParams } from '../../../common'; +enum RowHeightMode { + auto = 'auto', + single = 'single', + custom = 'custom', +} + const getColumns = ( params: TableVisParams, metrics: string[], @@ -48,8 +54,8 @@ const getRowHeight = ( ): Pick => { const { autoFitRowToContent } = params; return { - rowHeight: autoFitRowToContent ? 'auto' : 'single', - headerRowHeight: autoFitRowToContent ? 'auto' : 'single', + rowHeight: autoFitRowToContent ? RowHeightMode.auto : RowHeightMode.single, + headerRowHeight: autoFitRowToContent ? RowHeightMode.auto : RowHeightMode.single, }; }; diff --git a/src/plugins/visualizations/common/convert_to_lens/types/configurations.ts b/src/plugins/visualizations/common/convert_to_lens/types/configurations.ts index 61b7ea3789837..f4974cbd40b68 100644 --- a/src/plugins/visualizations/common/convert_to_lens/types/configurations.ts +++ b/src/plugins/visualizations/common/convert_to_lens/types/configurations.ts @@ -190,13 +190,19 @@ export interface ColumnState { palette?: PaletteOutput; } +enum RowHeightMode { + auto = 'auto', + single = 'single', + custom = 'custom', +} + export interface TableVisConfiguration { columns: ColumnState[]; layerId: string; layerType: 'data'; sorting?: SortingState; - rowHeight?: 'auto' | 'single' | 'custom'; - headerRowHeight?: 'auto' | 'single' | 'custom'; + rowHeight?: RowHeightMode; + headerRowHeight?: RowHeightMode; rowHeightLines?: number; headerRowHeightLines?: number; paging?: PagingState; diff --git a/test/api_integration/apis/esql/errors.ts b/test/api_integration/apis/esql/errors.ts index 9a79706a43ae3..0d1eea1a16242 100644 --- a/test/api_integration/apis/esql/errors.ts +++ b/test/api_integration/apis/esql/errors.ts @@ -62,6 +62,9 @@ function createIndexRequest( if (type === 'cartesian_point') { esType = 'point'; } + if (type === 'cartesian_shape') { + esType = 'shape'; + } if (type === 'unsupported') { esType = 'integer_range'; } diff --git a/test/functional/apps/discover/group2/_data_grid_field_tokens.ts b/test/functional/apps/discover/group2/_data_grid_field_tokens.ts index 0782180ab79f0..74586018761aa 100644 --- a/test/functional/apps/discover/group2/_data_grid_field_tokens.ts +++ b/test/functional/apps/discover/group2/_data_grid_field_tokens.ts @@ -32,12 +32,20 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }; async function findFirstColumnTokens() { + await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.discover.waitUntilSearchingHasFinished(); return await findFirstFieldIcons('euiDataGridBody > dataGridHeader'); } async function findFirstDocViewerTokens() { - await dataGrid.clickRowToggle({ rowIndex: 0 }); - return await findFirstFieldIcons('docTableDetailsFlyout'); + await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.discover.waitUntilSearchingHasFinished(); + let fieldTokens: string[] | undefined = []; + await retry.try(async () => { + await dataGrid.clickRowToggle({ rowIndex: 0 }); + fieldTokens = await findFirstFieldIcons('docTableDetailsFlyout'); + }); + return fieldTokens; } async function findFirstFieldIcons(elementSelector: string) { @@ -62,8 +70,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { return firstFieldIcons; } - // FLAKY: https://github.com/elastic/kibana/issues/180622 - describe.skip('discover data grid field tokens', function () { + describe('discover data grid field tokens', function () { before(async () => { await security.testUser.setRoles(['kibana_admin', 'test_logstash_reader']); await esArchiver.loadIfNeeded('test/functional/fixtures/es_archiver/logstash_functional'); diff --git a/test/functional/apps/discover/group4/_esql_view.ts b/test/functional/apps/discover/group4/_esql_view.ts index 09dcbe0d9577d..31f323500b119 100644 --- a/test/functional/apps/discover/group4/_esql_view.ts +++ b/test/functional/apps/discover/group4/_esql_view.ts @@ -18,6 +18,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { const testSubjects = getService('testSubjects'); const monacoEditor = getService('monacoEditor'); const security = getService('security'); + const inspector = getService('inspector'); const retry = getService('retry'); const browser = getService('browser'); const find = getService('find'); @@ -158,6 +159,19 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { 'machine.ram_range', ]); }); + + it('should work without a FROM statement', async function () { + await PageObjects.discover.selectTextBaseLang(); + const testQuery = `ROW a = 1, b = "two", c = null`; + + await monacoEditor.setCodeEditorValue(testQuery); + await testSubjects.click('querySubmitButton'); + await PageObjects.header.waitUntilLoadingHasFinished(); + + await PageObjects.discover.dragFieldToTable('a'); + const cell = await dataGrid.getCellElement(0, 2); + expect(await cell.getVisibleText()).to.be('1'); + }); }); describe('errors', () => { @@ -243,6 +257,23 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { }); }); + describe('inspector', () => { + beforeEach(async () => { + await PageObjects.common.navigateToApp('discover'); + await PageObjects.timePicker.setDefaultAbsoluteRange(); + }); + + it('shows Discover and Lens requests in Inspector', async () => { + await PageObjects.discover.selectTextBaseLang(); + await PageObjects.header.waitUntilLoadingHasFinished(); + await PageObjects.discover.waitUntilSearchingHasFinished(); + await inspector.open(); + const requestNames = await inspector.getRequestNames(); + expect(requestNames).to.contain('Table'); + expect(requestNames).to.contain('Visualization'); + }); + }); + describe('query history', () => { beforeEach(async () => { await PageObjects.common.navigateToApp('discover'); diff --git a/test/functional/page_objects/common_page.ts b/test/functional/page_objects/common_page.ts index eaa538537deed..55ef4b9ef2980 100644 --- a/test/functional/page_objects/common_page.ts +++ b/test/functional/page_objects/common_page.ts @@ -43,6 +43,7 @@ export class CommonPageObject extends FtrService { const NEW_FEATURES_TOUR_STORAGE_KEYS = { RULE_MANAGEMENT_PAGE: 'securitySolution.rulesManagementPage.newFeaturesTour.v8.9', TIMELINE: 'securitySolution.timeline.newFeaturesTour.v8.12', + FLYOUT: 'securitySolution.documentDetails.newFeaturesTour.v8.14', }; const tourStorageKeys = Object.values(NEW_FEATURES_TOUR_STORAGE_KEYS); diff --git a/tsconfig.base.json b/tsconfig.base.json index 45b0f4e18beaa..b47f8a14b2729 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -974,6 +974,8 @@ "@kbn/interpreter/*": ["packages/kbn-interpreter/*"], "@kbn/io-ts-utils": ["packages/kbn-io-ts-utils"], "@kbn/io-ts-utils/*": ["packages/kbn-io-ts-utils/*"], + "@kbn/ipynb": ["packages/kbn-ipynb"], + "@kbn/ipynb/*": ["packages/kbn-ipynb/*"], "@kbn/jest-serializers": ["packages/kbn-jest-serializers"], "@kbn/jest-serializers/*": ["packages/kbn-jest-serializers/*"], "@kbn/journeys": ["packages/kbn-journeys"], diff --git a/x-pack/.i18nrc.json b/x-pack/.i18nrc.json index 2e1f2d5855ddc..a653e8332e9c7 100644 --- a/x-pack/.i18nrc.json +++ b/x-pack/.i18nrc.json @@ -29,6 +29,7 @@ "xpack.crossClusterReplication": "plugins/cross_cluster_replication", "xpack.elasticAssistant": "packages/kbn-elastic-assistant", "xpack.elasticAssistantCommon": "packages/kbn-elastic-assistant-common", + "xpack.elasticAssistantPlugin": "plugins/elastic_assistant", "xpack.ecsDataQualityDashboard": "plugins/ecs_data_quality_dashboard", "xpack.embeddableEnhanced": "plugins/embeddable_enhanced", "xpack.endpoint": "plugins/endpoint", diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/capabilities/index.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/capabilities/index.ts index 2a6cce1adbdbb..348ac6188514d 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/capabilities/index.ts +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/capabilities/index.ts @@ -14,5 +14,6 @@ export type AssistantFeatures = { [K in keyof typeof defaultAssistantFeatures]: * Default features available to the elastic assistant */ export const defaultAssistantFeatures = Object.freeze({ + assistantAlertsInsights: false, assistantModelEvaluation: false, }); diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/get_anonymized_data/index.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/get_anonymized_data/index.ts index 071132193af1e..49a50ff08e601 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/get_anonymized_data/index.ts +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/get_anonymized_data/index.ts @@ -4,6 +4,7 @@ * 2.0; you may not use this file except in compliance with the Elastic License * 2.0. */ +import { Replacements } from '../../schemas'; import { AnonymizationFieldResponse } from '../../schemas/anonymization_fields/bulk_crud_anonymization_fields_route.gen'; import { isAllowed } from '../helpers'; import type { AnonymizedData, GetAnonymizedValues } from '../types'; @@ -16,12 +17,12 @@ export const getAnonymizedData = ({ rawData, }: { anonymizationFields?: AnonymizationFieldResponse[]; - currentReplacements: Record | undefined; + currentReplacements: Replacements | undefined; getAnonymizedValue: ({ currentReplacements, rawValue, }: { - currentReplacements: Record | undefined; + currentReplacements: Replacements | undefined; rawValue: string; }) => string; getAnonymizedValues: GetAnonymizedValues; diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/get_anonymized_value/index.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/get_anonymized_value/index.ts index 455e9700882fb..40fc18266cbc9 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/get_anonymized_value/index.ts +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/get_anonymized_value/index.ts @@ -7,12 +7,13 @@ import { invert } from 'lodash/fp'; import { v4 } from 'uuid'; +import { Replacements } from '../../schemas'; export const getAnonymizedValue = ({ currentReplacements, rawValue, }: { - currentReplacements: Record | undefined; + currentReplacements: Replacements | undefined; rawValue: string; }): string => { if (currentReplacements != null) { diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/transform_raw_data/index.tsx b/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/transform_raw_data/index.tsx index ba9376a120821..30663900795a0 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/transform_raw_data/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/transform_raw_data/index.tsx @@ -24,7 +24,7 @@ export const transformRawData = ({ currentReplacements, rawValue, }: { - currentReplacements: Record | undefined; + currentReplacements: Replacements | undefined; rawValue: string; }) => string; onNewReplacements?: (replacements: Replacements) => void; diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/types.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/types.ts index b39b5ecef3af8..321b9ff9e1452 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/types.ts +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/data_anonymization/types.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { Replacements } from '../schemas'; import { AnonymizationFieldResponse } from '../schemas/anonymization_fields/bulk_crud_anonymization_fields_route.gen'; export interface AnonymizedValues { @@ -12,7 +13,7 @@ export interface AnonymizedValues { anonymizedValues: string[]; /** A map from replacement value to original value */ - replacements: Record; + replacements: Replacements; } export interface AnonymizedData { @@ -20,7 +21,7 @@ export interface AnonymizedData { anonymizedData: Record; /** A map from replacement value to original value */ - replacements: Record; + replacements: Replacements; } export type GetAnonymizedValues = ({ @@ -31,13 +32,13 @@ export type GetAnonymizedValues = ({ rawData, }: { anonymizationFields?: AnonymizationFieldResponse[]; - currentReplacements: Record | undefined; + currentReplacements: Replacements | undefined; field: string; getAnonymizedValue: ({ currentReplacements, rawValue, }: { - currentReplacements: Record | undefined; + currentReplacements: Replacements | undefined; rawValue: string; }) => string; rawData: Record; diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/llm/actions_client_llm.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/llm/actions_client_llm.ts index 7dd11097eb661..ab77e90c1c3f4 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/llm/actions_client_llm.ts +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/llm/actions_client_llm.ts @@ -15,6 +15,9 @@ import { getMessageContentAndRole } from './helpers'; const LLM_TYPE = 'ActionsClientLlm'; +const DEFAULT_OPEN_AI_TEMPERATURE = 0.2; +const DEFAULT_TEMPERATURE = 0; + interface ActionsClientLlmParams { actions: ActionsPluginStart; connectorId: string; @@ -22,6 +25,7 @@ interface ActionsClientLlmParams { logger: Logger; request: KibanaRequest; model?: string; + temperature?: number; traceId?: string; } @@ -37,6 +41,7 @@ export class ActionsClientLlm extends LLM { protected llmType: string; model?: string; + temperature?: number; constructor({ actions, @@ -46,6 +51,7 @@ export class ActionsClientLlm extends LLM { logger, model, request, + temperature, }: ActionsClientLlmParams) { super({}); @@ -56,6 +62,7 @@ export class ActionsClientLlm extends LLM { this.#logger = logger; this.#request = request; this.model = model; + this.temperature = temperature; } _llmType() { @@ -87,8 +94,8 @@ export class ActionsClientLlm extends LLM { model: this.model, messages: [assistantMessage], // the assistant message ...(this.llmType === 'openai' - ? { n: 1, stop: null, temperature: 0.2 } - : { temperature: 0, stopSequences: [] }), + ? { n: 1, stop: null, temperature: this.temperature ?? DEFAULT_OPEN_AI_TEMPERATURE } + : { temperature: this.temperature ?? DEFAULT_TEMPERATURE, stopSequences: [] }), }, }, }; diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/mock/get_anonymized_value/index.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/mock/get_anonymized_value/index.ts index 1ec76a90d292b..3822c736b670e 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/mock/get_anonymized_value/index.ts +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/mock/get_anonymized_value/index.ts @@ -5,11 +5,13 @@ * 2.0. */ +import { Replacements } from '../../schemas'; + /** This mock returns the reverse of `value` */ export const mockGetAnonymizedValue = ({ currentReplacements, rawValue, }: { - currentReplacements: Record | undefined; + currentReplacements: Replacements | undefined; rawValue: string; }): string => rawValue.split('').reverse().join(''); diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/capabilities/get_capabilities_route.gen.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/capabilities/get_capabilities_route.gen.ts index 5d218afd48131..5a5eaac37b3a6 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/capabilities/get_capabilities_route.gen.ts +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/capabilities/get_capabilities_route.gen.ts @@ -18,5 +18,6 @@ import { z } from 'zod'; export type GetCapabilitiesResponse = z.infer; export const GetCapabilitiesResponse = z.object({ + assistantAlertsInsights: z.boolean(), assistantModelEvaluation: z.boolean(), }); diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/capabilities/get_capabilities_route.schema.yaml b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/capabilities/get_capabilities_route.schema.yaml index 4664405cfef33..65e9be9b2eb9c 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/capabilities/get_capabilities_route.schema.yaml +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/capabilities/get_capabilities_route.schema.yaml @@ -19,9 +19,12 @@ paths: schema: type: object properties: + assistantAlertsInsights: + type: boolean assistantModelEvaluation: type: boolean required: + - assistantAlertsInsights - assistantModelEvaluation '400': description: Generic Error diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/index.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/index.ts index 2a77b795de95f..c3d635fdf94a7 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/index.ts +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/index.ts @@ -18,6 +18,9 @@ export const API_VERSIONS = { export const PUBLIC_API_ACCESS = 'public'; export const INTERNAL_API_ACCESS = 'internal'; +// Alerts Insights Schemas +export * from './insights/alerts/post_alerts_insights_route.gen'; + // Evaluation Schemas export * from './evaluation/post_evaluate_route.gen'; export * from './evaluation/get_evaluate_route.gen'; diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/insights/alerts/post_alerts_insights_route.gen.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/insights/alerts/post_alerts_insights_route.gen.ts new file mode 100644 index 0000000000000..2f64f3c6e521d --- /dev/null +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/insights/alerts/post_alerts_insights_route.gen.ts @@ -0,0 +1,73 @@ +/* + * 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 { z } from 'zod'; + +/* + * NOTICE: Do not edit this file manually. + * This file is automatically generated by the OpenAPI Generator, @kbn/openapi-generator. + * + * info: + * title: Alerts insights API endpoint + * version: 1 + */ + +import { AnonymizationFieldResponse } from '../../anonymization_fields/bulk_crud_anonymization_fields_route.gen'; +import { Replacements, TraceData } from '../../conversations/common_attributes.gen'; + +/** + * An insight generated from one or more alerts + */ +export type AlertsInsight = z.infer; +export const AlertsInsight = z.object({ + /** + * The alert IDs that the insight is based on + */ + alertIds: z.array(z.string()), + /** + * A detailed insight with bulleted markdown that always uses special syntax for field names and values from the source data. + */ + detailsMarkdown: z.string(), + /** + * A short (no more than a sentence) summary of the insight featuring only the host.name and user.name fields (when they are applicable), using the same syntax + */ + entitySummaryMarkdown: z.string(), + /** + * An array of MITRE ATT&CK tactic for the insight + */ + mitreAttackTactics: z.array(z.string()).optional(), + /** + * A markdown summary of insight, using the same syntax + */ + summaryMarkdown: z.string(), + /** + * A title for the insight, in plain text + */ + title: z.string(), +}); + +export type AlertsInsightsPostRequestBody = z.infer; +export const AlertsInsightsPostRequestBody = z.object({ + alertsIndexPattern: z.string(), + anonymizationFields: z.array(AnonymizationFieldResponse), + connectorId: z.string(), + actionTypeId: z.string(), + model: z.string().optional(), + replacements: Replacements.optional(), + size: z.number(), + subAction: z.enum(['invokeAI', 'invokeStream']), +}); +export type AlertsInsightsPostRequestBodyInput = z.input; + +export type AlertsInsightsPostResponse = z.infer; +export const AlertsInsightsPostResponse = z.object({ + connector_id: z.string().optional(), + insights: z.array(AlertsInsight).optional(), + replacements: Replacements.optional(), + status: z.string().optional(), + trace_data: TraceData.optional(), +}); diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/insights/alerts/post_alerts_insights_route.schema.yaml b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/insights/alerts/post_alerts_insights_route.schema.yaml new file mode 100644 index 0000000000000..5ab58c6023ee5 --- /dev/null +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/schemas/insights/alerts/post_alerts_insights_route.schema.yaml @@ -0,0 +1,120 @@ +openapi: 3.0.0 +info: + title: Alerts insights API endpoint + version: '1' +components: + x-codegen-enabled: true + schemas: + AlertsInsight: + type: object + description: An insight generated from one or more alerts + required: + - 'alertIds' + - 'detailsMarkdown' + - 'entitySummaryMarkdown' + - 'summaryMarkdown' + - 'title' + properties: + alertIds: + description: The alert IDs that the insight is based on + items: + type: string + type: array + detailsMarkdown: + description: A detailed insight with bulleted markdown that always uses special syntax for field names and values from the source data. + type: string + entitySummaryMarkdown: + description: A short (no more than a sentence) summary of the insight featuring only the host.name and user.name fields (when they are applicable), using the same syntax + type: string + mitreAttackTactics: + description: An array of MITRE ATT&CK tactic for the insight + items: + type: string + type: array + summaryMarkdown: + description: A markdown summary of insight, using the same syntax + type: string + title: + description: A title for the insight, in plain text + type: string + + +paths: + /internal/elastic_assistant/insights/alerts: + post: + operationId: AlertsInsightsPost + x-codegen-enabled: true + description: Generate insights from alerts + summary: Generate insights from alerts via the Elastic Assistant + tags: + - insights + - alerts + requestBody: + required: true + content: + application/json: + schema: + type: object + required: + - actionTypeId + - alertsIndexPattern + - anonymizationFields + - connectorId + - size + - subAction + properties: + alertsIndexPattern: + type: string + anonymizationFields: + items: + $ref: '../../anonymization_fields/bulk_crud_anonymization_fields_route.schema.yaml#/components/schemas/AnonymizationFieldResponse' + type: array + connectorId: + type: string + actionTypeId: + type: string + model: + type: string + replacements: + $ref: '../../conversations/common_attributes.schema.yaml#/components/schemas/Replacements' + size: + type: number + subAction: + type: string + enum: + - invokeAI + - invokeStream + responses: + '200': + description: Successful response + content: + application/json: + schema: + type: object + properties: + connector_id: + type: string + insights: + type: array + items: + $ref: '#/components/schemas/AlertsInsight' + replacements: + $ref: '../../conversations/common_attributes.schema.yaml#/components/schemas/Replacements' + status: + type: string + trace_data: + $ref: '../../conversations/common_attributes.schema.yaml#/components/schemas/TraceData' + '400': + description: Bad request + content: + application/json: + schema: + type: object + properties: + statusCode: + type: number + error: + type: string + message: + type: string + diff --git a/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.test.tsx index cfdbcdc4a86b9..9c5bde379e1f4 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.test.tsx @@ -84,22 +84,4 @@ describe('AlertsSettings', () => { expect(screen.getByTestId('alertsRange')).not.toBeDisabled(); }); - - it('disables the alerts range slider when knowledgeBase.isEnabledRAGAlerts is false', () => { - const setUpdatedKnowledgeBaseSettings = jest.fn(); - const knowledgeBase: KnowledgeBaseConfig = { - isEnabledRAGAlerts: false, // <-- false - isEnabledKnowledgeBase: false, - latestAlerts: DEFAULT_LATEST_ALERTS, - }; - - render( - - ); - - expect(screen.getByTestId('alertsRange')).toBeDisabled(); - }); }); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.tsx b/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.tsx index 6895d2f595e73..b4330bbea0301 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/alerts/settings/alerts_settings.tsx @@ -81,7 +81,6 @@ const AlertsSettingsComponent = ({ knowledgeBase, setUpdatedKnowledgeBaseSetting aria-label={i18n.ALERTS_RANGE} compressed data-test-subj="alertsRange" - disabled={!knowledgeBase.isEnabledRAGAlerts} id={inputRangeSliderId} max={MAX_LATEST_ALERTS} min={MIN_LATEST_ALERTS} diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/anonymization_fields/use_fetch_anonymization_fields.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/anonymization_fields/use_fetch_anonymization_fields.test.tsx index ce6fbe6e46bcc..aabdcb6909ccb 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/anonymization_fields/use_fetch_anonymization_fields.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/anonymization_fields/use_fetch_anonymization_fields.test.tsx @@ -10,11 +10,9 @@ import { act, renderHook } from '@testing-library/react-hooks'; import { QueryClient, QueryClientProvider } from '@tanstack/react-query'; import type { ReactNode } from 'react'; import React from 'react'; -import { - UseFetchAnonymizationFieldsParams, - useFetchAnonymizationFields, -} from './use_fetch_anonymization_fields'; +import { useFetchAnonymizationFields } from './use_fetch_anonymization_fields'; import { HttpSetup } from '@kbn/core-http-browser'; +import { useAssistantContext } from '../../../assistant_context'; const statusResponse = { assistantModelEvaluation: true, assistantStreamingEnabled: false }; @@ -22,10 +20,7 @@ const http = { fetch: jest.fn().mockResolvedValue(statusResponse), } as unknown as HttpSetup; -const defaultProps = { - http, - isAssistantEnabled: true, -} as unknown as UseFetchAnonymizationFieldsParams; +jest.mock('../../../assistant_context'); const createWrapper = () => { const queryClient = new QueryClient(); @@ -36,28 +31,31 @@ const createWrapper = () => { }; describe('useFetchAnonymizationFields', () => { + (useAssistantContext as jest.Mock).mockReturnValue({ + http, + assistantAvailability: { + isAssistantEnabled: true, + }, + }); it(`should make http request to fetch anonymization fields`, async () => { - renderHook(() => useFetchAnonymizationFields(defaultProps), { + renderHook(() => useFetchAnonymizationFields(), { wrapper: createWrapper(), }); await act(async () => { - const { waitForNextUpdate } = renderHook(() => useFetchAnonymizationFields(defaultProps)); + const { waitForNextUpdate } = renderHook(() => useFetchAnonymizationFields()); await waitForNextUpdate(); - expect(defaultProps.http.fetch).toHaveBeenCalledWith( - '/api/elastic_assistant/anonymization_fields/_find', - { - method: 'GET', - query: { - page: 1, - per_page: 1000, - }, - version: '2023-10-31', - signal: undefined, - } - ); - - expect(defaultProps.http.fetch).toHaveBeenCalled(); + expect(http.fetch).toHaveBeenCalledWith('/api/elastic_assistant/anonymization_fields/_find', { + method: 'GET', + query: { + page: 1, + per_page: 1000, + }, + version: '2023-10-31', + signal: undefined, + }); + + expect(http.fetch).toHaveBeenCalled(); }); }); }); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/anonymization_fields/use_fetch_anonymization_fields.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/anonymization_fields/use_fetch_anonymization_fields.ts index 4da76876eccf4..657216b9079cd 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/anonymization_fields/use_fetch_anonymization_fields.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/anonymization_fields/use_fetch_anonymization_fields.ts @@ -6,16 +6,14 @@ */ import { FindAnonymizationFieldsResponse } from '@kbn/elastic-assistant-common/impl/schemas/anonymization_fields/find_anonymization_fields_route.gen'; -import { HttpSetup } from '@kbn/core/public'; import { useQuery } from '@tanstack/react-query'; import { API_VERSIONS, ELASTIC_AI_ASSISTANT_ANONYMIZATION_FIELDS_URL_FIND, } from '@kbn/elastic-assistant-common'; +import { useAssistantContext } from '../../../assistant_context'; export interface UseFetchAnonymizationFieldsParams { - http: HttpSetup; - isAssistantEnabled: boolean; signal?: AbortSignal | undefined; } @@ -28,36 +26,49 @@ export interface UseFetchAnonymizationFieldsParams { * * @returns {useQuery} hook for getting the status of the anonymization fields */ -export const useFetchAnonymizationFields = ({ - http, - signal, - isAssistantEnabled, -}: UseFetchAnonymizationFieldsParams) => { - const query = { - page: 1, - per_page: 1000, // Continue use in-memory paging till the new design will be ready - }; - const cachingKeys = [ - ELASTIC_AI_ASSISTANT_ANONYMIZATION_FIELDS_URL_FIND, - query.page, - query.per_page, - API_VERSIONS.public.v1, - ]; +const QUERY = { + page: 1, + per_page: 1000, // Continue use in-memory paging till the new design will be ready +}; - return useQuery([cachingKeys, query], async () => { - if (!isAssistantEnabled) { - return { page: 0, perPage: 0, total: 0, data: [] }; - } - const res = await http.fetch( - ELASTIC_AI_ASSISTANT_ANONYMIZATION_FIELDS_URL_FIND, - { +export const CACHING_KEYS = [ + ELASTIC_AI_ASSISTANT_ANONYMIZATION_FIELDS_URL_FIND, + QUERY.page, + QUERY.per_page, + API_VERSIONS.public.v1, +]; + +export const useFetchAnonymizationFields = (payload?: UseFetchAnonymizationFieldsParams) => { + const { + assistantAvailability: { isAssistantEnabled }, + http, + } = useAssistantContext(); + + return useQuery( + CACHING_KEYS, + async () => + http.fetch(ELASTIC_AI_ASSISTANT_ANONYMIZATION_FIELDS_URL_FIND, { method: 'GET', version: API_VERSIONS.public.v1, - query, - signal, - } - ); - return res; - }); + query: QUERY, + signal: payload?.signal, + }), + { + initialData: { + data: [], + page: 1, + perPage: 5, + total: 0, + }, + placeholderData: { + data: [], + page: 1, + perPage: 5, + total: 0, + }, + keepPreviousData: true, + enabled: isAssistantEnabled, + } + ); }; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/capabilities/use_capabilities.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/capabilities/use_capabilities.test.tsx index b7648983e6f7a..258788a09304f 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/capabilities/use_capabilities.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/capabilities/use_capabilities.test.tsx @@ -13,7 +13,11 @@ import React from 'react'; import { useCapabilities, UseCapabilitiesParams } from './use_capabilities'; import { API_VERSIONS } from '@kbn/elastic-assistant-common'; -const statusResponse = { assistantModelEvaluation: true, assistantStreamingEnabled: false }; +const statusResponse = { + assistantAlertsInsights: false, + assistantModelEvaluation: true, + assistantStreamingEnabled: false, +}; const http = { get: jest.fn().mockResolvedValue(statusResponse), diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/conversations/conversations.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/conversations/conversations.ts index d96da147c1b3d..6e07e9f4cd91d 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/conversations/conversations.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/conversations/conversations.ts @@ -60,7 +60,7 @@ export const getConversationById = async ({ export interface PostConversationParams { http: HttpSetup; - conversation: Conversation; + conversation: Partial; toasts?: IToasts; signal?: AbortSignal | undefined; } diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/conversations/use_fetch_current_user_conversations.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/conversations/use_fetch_current_user_conversations.ts index 40ccd2d20aa2d..68612e3e22397 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/conversations/use_fetch_current_user_conversations.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/api/conversations/use_fetch_current_user_conversations.ts @@ -38,42 +38,39 @@ export interface UseFetchCurrentUserConversationsParams { * * @returns {useQuery} hook for getting the status of the conversations */ +const query = { + page: 1, + perPage: 100, +}; + +export const CONVERSATIONS_QUERY_KEYS = [ + ELASTIC_AI_ASSISTANT_CONVERSATIONS_URL_FIND, + query.page, + query.perPage, + API_VERSIONS.public.v1, +]; + export const useFetchCurrentUserConversations = ({ http, onFetch, signal, refetchOnWindowFocus = true, isAssistantEnabled, -}: UseFetchCurrentUserConversationsParams) => { - const query = { - page: 1, - perPage: 100, - }; - - const cachingKeys = [ - ELASTIC_AI_ASSISTANT_CONVERSATIONS_URL_FIND, - query.page, - query.perPage, - API_VERSIONS.public.v1, - ]; - - return useQuery( - [cachingKeys, query], - async () => { - if (!isAssistantEnabled) { - return {}; - } - const res = await http.fetch( - ELASTIC_AI_ASSISTANT_CONVERSATIONS_URL_FIND, - { - method: 'GET', - version: API_VERSIONS.public.v1, - query, - signal, - } - ); - return onFetch(res); - }, - { refetchOnWindowFocus } +}: UseFetchCurrentUserConversationsParams) => + useQuery( + CONVERSATIONS_QUERY_KEYS, + async () => + http.fetch(ELASTIC_AI_ASSISTANT_CONVERSATIONS_URL_FIND, { + method: 'GET', + version: API_VERSIONS.public.v1, + query, + signal, + }), + { + select: (data) => onFetch(data), + keepPreviousData: true, + initialData: { page: 1, perPage: 100, total: 0, data: [] }, + refetchOnWindowFocus, + enabled: isAssistantEnabled, + } ); -}; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_animated_icon.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_animated_icon.tsx new file mode 100644 index 0000000000000..575362796ef5b --- /dev/null +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_animated_icon.tsx @@ -0,0 +1,131 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import styled from '@emotion/styled'; +import { euiThemeVars } from '@kbn/ui-theme'; +import { AssistantAvatar } from './assistant_avatar/assistant_avatar'; + +const Container = styled.div` + display: inline-block; + position: relative; + width: 56px; + height: 56px; + display: flex; + justify-content: center; + align-items: center; + + :before, + :after { + content: ''; + position: absolute; + } +`; + +const Animation = styled.div` + width: 99%; + height: 99%; + border-radius: 50px; + z-index: 1; + position: relative; + + &:before, + &:after { + content: ''; + position: absolute; + width: 100%; + height: 100%; + border: inherit; + top: 0; + left: 0; + z-index: 0; + border: 1px solid ${euiThemeVars.euiColorPrimary}; + border-radius: inherit; + animation: 4s cubic-bezier(0.42, 0, 0.37, 1) 0.5s infinite normal none running pulsing; + } + &:after { + animation: 4s cubic-bezier(0.42, 0, 0.37, 1) 0.5s infinite normal none running pulsing1; + } + + @keyframes pulsing { + 0% { + opacity: 1; + transform: scaleY(1) scaleX(1); + } + 20% { + opacity: 0.5; + } + 70% { + opacity: 0.2; + transform: scaleY(2) scaleX(2); + } + 80% { + opacity: 0; + transform: scaleY(2) scaleX(2); + } + 90% { + opacity: 0; + transform: scaleY(1) scaleX(1); + } + } + @keyframes pulsing1 { + 0% { + opacity: 1; + transform: scaleY(1) scaleX(1); + } + 15% { + opacity: 1; + transform: scaleY(1) scaleX(1); + } + 40% { + opacity: 0.5; + } + 70% { + opacity: 0.2; + transform: scaleY(1.5) scaleX(1.5); + } + 80% { + opacity: 0; + transform: scaleY(1.5) scaleX(1.5); + } + 90% { + opacity: 0; + transform: scaleY(1) scaleX(1); + } + } +`; + +const AvatarWrapper = styled.span` + width: 100%; + height: 100%; + position: absolute; + top: 0; + left: 0; + z-index: 2; + background: #fff; + display: flex; + align-items: center; + justify-content: center; + border-radius: 50%; + + :before, + :after { + content: ''; + position: absolute; + } +`; + +export const AssistantAnimatedIcon = React.memo(() => ( + + + + + + +)); + +AssistantAnimatedIcon.displayName = 'AssistantAnimatedIcon'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx index 20b378447b7b8..0c66b412fc5d2 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_avatar/assistant_avatar.tsx @@ -12,6 +12,7 @@ export interface AssistantAvatarProps { // Required for EuiAvatar `iconType` prop // eslint-disable-next-line react/no-unused-prop-types children?: ReactNode; + className?: string; } export const sizeMap = { @@ -20,6 +21,7 @@ export const sizeMap = { m: 32, s: 24, xs: 16, + xxs: 12, }; /** @@ -27,8 +29,9 @@ export const sizeMap = { * * TODO: Can be removed once added to EUI */ -export const AssistantAvatar = ({ size = 's' }: AssistantAvatarProps) => ( +export const AssistantAvatar = ({ className, size = 's' }: AssistantAvatarProps) => ( ; + isDisabled: boolean; + isSettingsModalVisible: boolean; + onToggleShowAnonymizedValues: () => void; + setIsSettingsModalVisible: React.Dispatch>; + showAnonymizedValues: boolean; + onChatCleared: () => void; + onCloseFlyout?: () => void; + chatHistoryVisible?: boolean; + setChatHistoryVisible?: React.Dispatch>; + onConversationSelected: ({ cId, cTitle }: { cId: string; cTitle: string }) => void; + conversations: Record; + refetchConversationsState: () => Promise; + onConversationCreate: () => Promise; +} + +type Props = OwnProps; +/** + * Renders the header of the Elastic AI Assistant. + * Provide a user interface for selecting and managing conversations, + * toggling the display of anonymized values, and accessing the assistant settings. + */ +export const AssistantHeaderFlyout: React.FC = ({ + selectedConversation, + defaultConnector, + docLinks, + isDisabled, + isSettingsModalVisible, + onToggleShowAnonymizedValues, + setIsSettingsModalVisible, + showAnonymizedValues, + onChatCleared, + chatHistoryVisible, + setChatHistoryVisible, + onCloseFlyout, + onConversationSelected, + conversations, + refetchConversationsState, + onConversationCreate, +}) => { + const showAnonymizedValuesChecked = useMemo( + () => + selectedConversation?.replacements != null && + Object.keys(selectedConversation?.replacements).length > 0 && + showAnonymizedValues, + [selectedConversation?.replacements, showAnonymizedValues] + ); + + const selectedConnectorId = useMemo( + () => selectedConversation?.apiConfig?.connectorId, + [selectedConversation?.apiConfig?.connectorId] + ); + + const [isPopoverOpen, setPopover] = useState(false); + + const onButtonClick = useCallback(() => { + setPopover(!isPopoverOpen); + }, [isPopoverOpen]); + + const closePopover = useCallback(() => { + setPopover(false); + }, []); + + const [isResetConversationModalVisible, setIsResetConversationModalVisible] = useState(false); + + const closeDestroyModal = useCallback(() => setIsResetConversationModalVisible(false), []); + const showDestroyModal = useCallback(() => setIsResetConversationModalVisible(true), []); + + const onConversationChange = useCallback( + (updatedConversation) => { + onConversationSelected({ + cId: updatedConversation.id, + cTitle: updatedConversation.title, + }); + }, + [onConversationSelected] + ); + + const panels = useMemo( + () => [ + { + id: 0, + items: [ + { + name: i18n.RESET_CONVERSATION, + css: css` + color: ${euiThemeVars.euiColorDanger}; + `, + onClick: showDestroyModal, + icon: 'refresh', + }, + ], + }, + ], + [showDestroyModal] + ); + + const handleReset = useCallback(() => { + onChatCleared(); + closeDestroyModal(); + closePopover(); + }, [onChatCleared, closeDestroyModal, closePopover]); + + return ( + <> + + + + + + + {onCloseFlyout && ( + + + + )} + + + + + + + + + + + + + + + + + + + + + } + isOpen={isPopoverOpen} + closePopover={closePopover} + panelPaddingSize="none" + anchorPosition="downLeft" + > + + + + + + + + {isResetConversationModalVisible && ( + +

{i18n.CLEAR_CHAT_CONFIRMATION}

+ + )} + + ); +}; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.test.tsx index def8a5157d908..4cf6afada5367 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.test.tsx @@ -14,7 +14,6 @@ import { useLoadConnectors } from '../../connectorland/use_load_connectors'; import { mockConnectors } from '../../mock/connectors'; const onConversationSelected = jest.fn(); -const setCurrentConversation = jest.fn(); const mockConversations = { [alertConvo.title]: alertConvo, [welcomeConvo.title]: welcomeConvo, @@ -32,7 +31,6 @@ const testProps = { onToggleShowAnonymizedValues: jest.fn(), selectedConversationId: emptyWelcomeConvo.id, setIsSettingsModalVisible: jest.fn(), - setCurrentConversation, onConversationDeleted: jest.fn(), showAnonymizedValues: false, conversations: mockConversations, @@ -121,7 +119,6 @@ describe('AssistantHeader', () => { await act(async () => { fireEvent.click(getByTestId('connectorId')); }); - expect(setCurrentConversation).toHaveBeenCalledWith(alertConvo); expect(onConversationSelected).toHaveBeenCalledWith({ cId: alertConvo.id, cTitle: alertConvo.title, diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx index adf8b003e7af6..bb2e72e2936d3 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx @@ -12,37 +12,33 @@ import { EuiHorizontalRule, EuiSpacer, EuiSwitch, - EuiSwitchEvent, EuiToolTip, } from '@elastic/eui'; import { css } from '@emotion/react'; import { DocLinksStart } from '@kbn/core-doc-links-browser'; -import { FindAnonymizationFieldsResponse } from '@kbn/elastic-assistant-common/impl/schemas/anonymization_fields/find_anonymization_fields_route.gen'; +import { isEmpty } from 'lodash'; import { AIConnector } from '../../connectorland/connector_selector'; import { Conversation } from '../../..'; import { AssistantTitle } from '../assistant_title'; import { ConversationSelector } from '../conversations/conversation_selector'; import { AssistantSettingsButton } from '../settings/assistant_settings_button'; -import * as i18n from '../translations'; +import * as i18n from './translations'; interface OwnProps { - currentConversation: Conversation; + currentConversation?: Conversation; defaultConnector?: AIConnector; docLinks: Omit; isDisabled: boolean; isSettingsModalVisible: boolean; onConversationSelected: ({ cId, cTitle }: { cId: string; cTitle: string }) => void; onConversationDeleted: (conversationId: string) => void; - onToggleShowAnonymizedValues: (e: EuiSwitchEvent) => void; + onToggleShowAnonymizedValues: () => void; setIsSettingsModalVisible: React.Dispatch>; - setCurrentConversation: React.Dispatch>; shouldDisableKeyboardShortcut?: () => boolean; showAnonymizedValues: boolean; - title: string | JSX.Element; + title: string; conversations: Record; refetchConversationsState: () => Promise; - anonymizationFields: FindAnonymizationFieldsResponse; - refetchAnonymizationFieldsResults: () => Promise; } type Props = OwnProps; @@ -64,29 +60,31 @@ export const AssistantHeader: React.FC = ({ shouldDisableKeyboardShortcut, showAnonymizedValues, title, - setCurrentConversation, conversations, refetchConversationsState, - anonymizationFields, - refetchAnonymizationFieldsResults, }) => { const showAnonymizedValuesChecked = useMemo( () => - currentConversation.replacements != null && - Object.keys(currentConversation.replacements).length > 0 && + currentConversation?.replacements != null && + Object.keys(currentConversation?.replacements).length > 0 && showAnonymizedValues, - [currentConversation.replacements, showAnonymizedValues] + [currentConversation?.replacements, showAnonymizedValues] ); const onConversationChange = useCallback( (updatedConversation) => { - setCurrentConversation(updatedConversation); onConversationSelected({ cId: updatedConversation.id, cTitle: updatedConversation.title, }); }, - [onConversationSelected, setCurrentConversation] + [onConversationSelected] ); + const selectedConversationId = useMemo( + () => + !isEmpty(currentConversation?.id) ? currentConversation?.id : currentConversation?.title, + [currentConversation?.id, currentConversation?.title] + ); + return ( <> = ({ selectedConversation={currentConversation} onChange={onConversationChange} title={title} + isFlyoutMode={false} + refetchConversationsState={refetchConversationsState} /> @@ -114,7 +114,7 @@ export const AssistantHeader: React.FC = ({ > = ({ data-test-subj="showAnonymizedValues" checked={showAnonymizedValuesChecked} compressed={true} - disabled={currentConversation.replacements == null} + disabled={isEmpty(currentConversation?.replacements)} label={i18n.SHOW_ANONYMIZED} onChange={onToggleShowAnonymizedValues} /> @@ -147,13 +147,12 @@ export const AssistantHeader: React.FC = ({ defaultConnector={defaultConnector} isDisabled={isDisabled} isSettingsModalVisible={isSettingsModalVisible} - selectedConversation={currentConversation} + selectedConversationId={selectedConversationId} setIsSettingsModalVisible={setIsSettingsModalVisible} onConversationSelected={onConversationSelected} conversations={conversations} refetchConversationsState={refetchConversationsState} - anonymizationFields={anonymizationFields} - refetchAnonymizationFieldsResults={refetchAnonymizationFieldsResults} + isFlyoutMode={false} /> diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/translations.ts b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/translations.ts new file mode 100644 index 0000000000000..a50d4cc2e21d9 --- /dev/null +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/translations.ts @@ -0,0 +1,72 @@ +/* + * 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 { i18n } from '@kbn/i18n'; + +export const ANONYMIZED_VALUES = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.anonymizedValues', + { + defaultMessage: 'Anonymized values', + } +); + +export const RESET_CONVERSATION = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.resetConversation', + { + defaultMessage: 'Reset conversation', + } +); + +export const CONNECTOR_TITLE = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.connectorTitle', + { + defaultMessage: 'Connector', + } +); + +export const SHOW_ANONYMIZED = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.showAnonymizedToggleLabel', + { + defaultMessage: 'Show anonymized', + } +); + +export const SHOW_REAL_VALUES = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.showAnonymizedToggleRealValuesLabel', + { + defaultMessage: 'Show real values', + } +); + +export const SHOW_ANONYMIZED_TOOLTIP = i18n.translate( + 'xpack.elasticAssistant.assistant.settings.showAnonymizedTooltip', + { + defaultMessage: 'Show the anonymized values sent to and from the assistant', + } +); + +export const CANCEL_BUTTON_TEXT = i18n.translate( + 'xpack.elasticAssistant.assistant.resetConversationModal.cancelButtonText', + { + defaultMessage: 'Cancel', + } +); + +export const RESET_BUTTON_TEXT = i18n.translate( + 'xpack.elasticAssistant.assistant.resetConversationModal.resetButtonText', + { + defaultMessage: 'Reset', + } +); + +export const CLEAR_CHAT_CONFIRMATION = i18n.translate( + 'xpack.elasticAssistant.assistant.resetConversationModal.clearChatConfirmation', + { + defaultMessage: + 'Are you sure you want to clear the current chat? All conversation data will be lost.', + } +); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/flyout_navigation.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/flyout_navigation.tsx new file mode 100644 index 0000000000000..8ea88f6154c34 --- /dev/null +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/flyout_navigation.tsx @@ -0,0 +1,114 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { memo, useCallback, useMemo } from 'react'; +import { EuiPanel, EuiFlexGroup, EuiFlexItem, EuiButtonIcon, EuiButtonEmpty } from '@elastic/eui'; +import { css } from '@emotion/react'; +import styled from '@emotion/styled'; +import { i18n } from '@kbn/i18n'; +import { euiThemeVars } from '@kbn/ui-theme'; +import { NEW_CHAT } from '../conversations/conversation_sidepanel/translations'; + +export interface FlyoutNavigationProps { + isExpanded: boolean; + setIsExpanded?: (value: boolean) => void; + children: React.ReactNode; + onConversationCreate?: () => Promise; +} + +const VerticalSeparator = styled.div` + :before { + content: ''; + height: 100%; + border-left: 1px solid ${euiThemeVars.euiColorLightShade}; + } +`; + +/** + * Navigation menu on the right panel only, with expand/collapse button and option to + * pass in a list of actions to be displayed on top. + */ + +export const FlyoutNavigation = memo( + ({ isExpanded, setIsExpanded, children, onConversationCreate }) => { + const onToggle = useCallback( + () => setIsExpanded && setIsExpanded(!isExpanded), + [isExpanded, setIsExpanded] + ); + + const toggleButton = useMemo( + () => ( + + ), + [isExpanded, onToggle] + ); + + return ( + + + + + {setIsExpanded && {toggleButton}} + {onConversationCreate && ( + <> + + + + + + {NEW_CHAT} + + + + )} + + + {children && {children}} + + + ); + } +); + +FlyoutNavigation.displayName = 'FlyoutNavigation'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.test.tsx index 34d56d100cbae..679901bc02748 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.test.tsx @@ -24,7 +24,7 @@ describe('AssistantOverlay', () => { it('renders when isAssistantEnabled prop is true and keyboard shortcut is pressed', () => { const { getByTestId } = render( - + ); fireEvent.keyDown(document, { key: ';', ctrlKey: true }); @@ -35,7 +35,7 @@ describe('AssistantOverlay', () => { it('modal closes when close button is clicked', () => { const { getByLabelText, queryByTestId } = render( - + ); fireEvent.keyDown(document, { key: ';', ctrlKey: true }); @@ -48,7 +48,7 @@ describe('AssistantOverlay', () => { it('Assistant invoked from shortcut tracking happens on modal open only (not close)', () => { render( - + ); fireEvent.keyDown(document, { key: ';', ctrlKey: true }); @@ -64,7 +64,7 @@ describe('AssistantOverlay', () => { it('modal closes when shortcut is pressed and modal is already open', () => { const { queryByTestId } = render( - + ); fireEvent.keyDown(document, { key: ';', ctrlKey: true }); @@ -76,7 +76,7 @@ describe('AssistantOverlay', () => { it('modal does not open when incorrect shortcut is pressed', () => { const { queryByTestId } = render( - + ); fireEvent.keyDown(document, { key: 'a', ctrlKey: true }); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx index 5f02af5d3175d..44907d8b1fd00 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_overlay/index.tsx @@ -5,14 +5,19 @@ * 2.0. */ -import React, { useCallback, useEffect, useState } from 'react'; -import { EuiModal } from '@elastic/eui'; +import React, { useCallback, useEffect, useRef, useState } from 'react'; +import { EuiModal, EuiFlyoutResizable, useEuiTheme } from '@elastic/eui'; import useEvent from 'react-use/lib/useEvent'; // eslint-disable-next-line @kbn/eslint/module_migration import styled from 'styled-components'; -import { ShowAssistantOverlayProps, useAssistantContext } from '../../assistant_context'; -import { Assistant } from '..'; +import { css } from '@emotion/react'; +import { + ShowAssistantOverlayProps, + useAssistantContext, + UserAvatar, +} from '../../assistant_context'; +import { Assistant, CONVERSATION_SIDE_PANEL_WIDTH } from '..'; import { WELCOME_CONVERSATION_TITLE } from '../use_conversation/translations'; const isMac = navigator.platform.toLowerCase().indexOf('mac') >= 0; @@ -27,15 +32,23 @@ const StyledEuiModal = styled(EuiModal)` * Modal container for Elastic AI Assistant conversations, receiving the page contents as context, plus whatever * component currently has focus and any specific context it may provide through the SAssInterface. */ -export const AssistantOverlay = React.memo(() => { +export interface Props { + isFlyoutMode: boolean; + currentUserAvatar?: UserAvatar; +} + +export const AssistantOverlay = React.memo(({ isFlyoutMode, currentUserAvatar }) => { + const { euiTheme } = useEuiTheme(); const [isModalVisible, setIsModalVisible] = useState(false); const [conversationTitle, setConversationTitle] = useState( WELCOME_CONVERSATION_TITLE ); const [promptContextId, setPromptContextId] = useState(); - const { assistantTelemetry, setShowAssistantOverlay, getLastConversationTitle } = + const { assistantTelemetry, setShowAssistantOverlay, getLastConversationId } = useAssistantContext(); + const [chatHistoryVisible, setChatHistoryVisible] = useState(false); + // Bind `showAssistantOverlay` in SecurityAssistantContext to this modal instance const showOverlay = useCallback( () => @@ -44,7 +57,7 @@ export const AssistantOverlay = React.memo(() => { promptContextId: pid, conversationTitle: cTitle, }: ShowAssistantOverlayProps) => { - const newConversationTitle = getLastConversationTitle(cTitle); + const newConversationTitle = getLastConversationId(cTitle); if (so) assistantTelemetry?.reportAssistantInvoked({ conversationId: newConversationTitle, @@ -55,7 +68,7 @@ export const AssistantOverlay = React.memo(() => { setPromptContextId(pid); setConversationTitle(newConversationTitle); }, - [assistantTelemetry, getLastConversationTitle] + [assistantTelemetry, getLastConversationId] ); useEffect(() => { setShowAssistantOverlay(showOverlay); @@ -65,15 +78,15 @@ export const AssistantOverlay = React.memo(() => { const handleShortcutPress = useCallback(() => { // Try to restore the last conversation on shortcut pressed if (!isModalVisible) { - setConversationTitle(getLastConversationTitle()); + setConversationTitle(getLastConversationId()); assistantTelemetry?.reportAssistantInvoked({ invokedBy: 'shortcut', - conversationId: getLastConversationTitle(), + conversationId: getLastConversationId(), }); } setIsModalVisible(!isModalVisible); - }, [isModalVisible, getLastConversationTitle, assistantTelemetry]); + }, [isModalVisible, getLastConversationId, assistantTelemetry]); // Register keyboard listener to show the modal when cmd + ; is pressed const onKeyDown = useCallback( @@ -98,11 +111,67 @@ export const AssistantOverlay = React.memo(() => { cleanupAndCloseModal(); }, [cleanupAndCloseModal]); + const toggleChatHistory = useCallback(() => { + setChatHistoryVisible((prev) => { + if (flyoutRef?.current) { + const currentValue = parseInt(flyoutRef.current.style.inlineSize.split('px')[0], 10); + flyoutRef.current.style.inlineSize = `${ + prev + ? currentValue - CONVERSATION_SIDE_PANEL_WIDTH + : currentValue + CONVERSATION_SIDE_PANEL_WIDTH + }px`; + } + + return !prev; + }); + }, []); + + const flyoutRef = useRef(); + + if (!isModalVisible) return null; + + if (isFlyoutMode) { + return ( + div { + height: 100%; + } + `} + onClose={handleCloseModal} + data-test-subj="ai-assistant-flyout" + paddingSize="none" + hideCloseButton + // EUI TODO: This z-index override of EuiOverlayMask is a workaround, and ideally should be resolved with a cleaner UI/UX flow long-term + maskProps={{ style: `z-index: ${(euiTheme.levels.flyout as number) + 3}` }} // we need this flyout to be above the timeline flyout (which has a z-index of 1002) + > + + + ); + } + return ( <> {isModalVisible && ( - + )} diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.test.tsx index fa5f4347d5069..ee4a998a1439f 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.test.tsx @@ -14,7 +14,9 @@ const testProps = { title: 'Test Title', docLinks: { ELASTIC_WEBSITE_URL: 'https://www.elastic.co/', DOC_LINK_VERSION: '7.15' }, selectedConversation: undefined, + isFlyoutMode: false, onChange: jest.fn(), + refetchConversationsState: jest.fn(), }; describe('AssistantTitle', () => { diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.tsx index d4dee2453fd0e..7e9934afcaa90 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_title/index.tsx @@ -5,11 +5,12 @@ * 2.0. */ -import React, { useCallback, useMemo, useState } from 'react'; +import React, { useCallback, useEffect, useMemo, useState } from 'react'; import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem, + EuiInlineEditTitle, EuiLink, EuiModalHeaderTitle, EuiPopover, @@ -18,10 +19,13 @@ import { } from '@elastic/eui'; import type { DocLinksStart } from '@kbn/core-doc-links-browser'; import { FormattedMessage } from '@kbn/i18n-react'; +import { css } from '@emotion/react'; import * as i18n from '../translations'; import type { Conversation } from '../../..'; import { ConnectorSelectorInline } from '../../connectorland/connector_selector_inline/connector_selector_inline'; import { AssistantAvatar } from '../assistant_avatar/assistant_avatar'; +import { useConversation } from '../use_conversation'; +import { NEW_CHAT } from '../conversations/conversation_sidepanel/translations'; /** * Renders a header title, a tooltip button, and a popover with @@ -29,11 +33,25 @@ import { AssistantAvatar } from '../assistant_avatar/assistant_avatar'; */ export const AssistantTitle: React.FC<{ isDisabled?: boolean; - title: string | JSX.Element; + title?: string; docLinks: Omit; selectedConversation: Conversation | undefined; + isFlyoutMode: boolean; onChange: (updatedConversation: Conversation) => void; -}> = ({ isDisabled = false, title, docLinks, selectedConversation, onChange }) => { + refetchConversationsState: () => Promise; +}> = ({ + isDisabled = false, + title, + docLinks, + selectedConversation, + isFlyoutMode, + onChange, + refetchConversationsState, +}) => { + const [newTitle, setNewTitle] = useState(title); + const [newTitleError, setNewTitleError] = useState(false); + const { updateConversationTitle } = useConversation(); + const selectedConnectorId = selectedConversation?.apiConfig?.connectorId; const { ELASTIC_WEBSITE_URL, DOC_LINK_VERSION } = docLinks; @@ -71,52 +89,127 @@ export const AssistantTitle: React.FC<{ const onButtonClick = useCallback(() => setIsPopoverOpen((isOpen: boolean) => !isOpen), []); const closePopover = useCallback(() => setIsPopoverOpen(false), []); + const handleUpdateTitle = useCallback( + async (updatedTitle: string) => { + setNewTitleError(false); + + if (selectedConversation) { + await updateConversationTitle({ + conversationId: selectedConversation.id, + updatedTitle, + }); + await refetchConversationsState(); + } + }, + [refetchConversationsState, selectedConversation, updateConversationTitle] + ); + + useEffect(() => { + // Reset the title when the prop changes + setNewTitle(title); + }, [title]); + + if (isFlyoutMode) { + return ( + + + + + + setNewTitle(e.currentTarget.nodeValue || '')} + onCancel={() => setNewTitle(title)} + onSave={handleUpdateTitle} + editModeProps={{ + formRowProps: { + fullWidth: true, + }, + }} + /> + + + ); + } + return ( - + - + - - - - - -

{title}

-
-
- - - } - isOpen={isPopoverOpen} - closePopover={closePopover} - anchorPosition="rightUp" - > - - -

{content}

+ + + + + + +

{title}

+
+
+ + + } + isOpen={isPopoverOpen} + closePopover={closePopover} + anchorPosition="rightUp" + > + + +

{content}

+
-
-
+ +
+
+
+ {!isFlyoutMode && ( + + -
- - - - -
+ )} +
+
); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_actions/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_actions/index.test.tsx index b32febc9a0826..36936c7565112 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_actions/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_actions/index.test.tsx @@ -16,6 +16,8 @@ const testProps = { isLoading: false, onChatCleared, onSendMessage, + isFlyoutMode: false, + promptValue: 'prompt', }; describe('ChatActions', () => { diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_actions/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_actions/index.tsx index 7bb2eec51a9ce..e7ff0922b30ae 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_actions/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_actions/index.tsx @@ -5,14 +5,15 @@ * 2.0. */ -import React from 'react'; -import { css } from '@emotion/react'; +import React, { useCallback, useRef } from 'react'; import { EuiButtonIcon, EuiFlexGroup, EuiFlexItem, EuiToolTip } from '@elastic/eui'; import { CLEAR_CHAT, SUBMIT_MESSAGE } from '../translations'; interface OwnProps { isDisabled: boolean; isLoading: boolean; + isFlyoutMode: boolean; + promptValue?: string; onChatCleared: () => void; onSendMessage: () => void; } @@ -27,37 +28,48 @@ export const ChatActions: React.FC = ({ isLoading, onChatCleared, onSendMessage, + isFlyoutMode, + promptValue, }) => { + const submitTooltipRef = useRef(null); + + const closeTooltip = useCallback(() => { + submitTooltipRef?.current?.hideToolTip(); + }, []); + return ( - - - - - - + + {!isFlyoutMode && ( + + + + + + )} - + diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/index.test.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/index.test.tsx index a7eac5c362ca0..45d738807d37e 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/index.test.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/index.test.tsx @@ -27,6 +27,7 @@ const testProps: Props = { isDisabled: false, shouldRefocusPrompt: false, userPrompt: '', + isFlyoutMode: false, }; describe('ChatSend', () => { beforeEach(() => { diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/index.tsx index eb93b92392fe6..0ab018263acd2 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/index.tsx @@ -8,14 +8,17 @@ import React, { useCallback, useEffect, useMemo, useRef } from 'react'; import { css } from '@emotion/react'; import { EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; +import { euiThemeVars } from '@kbn/ui-theme'; import { UseChatSend } from './use_chat_send'; import { ChatActions } from '../chat_actions'; import { PromptTextArea } from '../prompt_textarea'; +import { useAutosizeTextArea } from './use_autosize_textarea'; export interface Props extends Omit { isDisabled: boolean; shouldRefocusPrompt: boolean; userPrompt: string | null; + isFlyoutMode: boolean; } /** @@ -29,6 +32,7 @@ export const ChatSend: React.FC = ({ handleSendMessage, isDisabled, isLoading, + isFlyoutMode, shouldRefocusPrompt, userPrompt, }) => { @@ -45,28 +49,45 @@ export const ChatSend: React.FC = ({ handleButtonSendMessage(promptTextAreaRef.current?.value?.trim() ?? ''); }, [handleButtonSendMessage, promptTextAreaRef]); + useAutosizeTextArea(promptTextAreaRef?.current, promptValue); + return ( - + = ({ isDisabled={isDisabled} isLoading={isLoading} onSendMessage={onSendMessage} + isFlyoutMode={isFlyoutMode} + promptValue={promptValue} /> diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/use_autosize_textarea.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/use_autosize_textarea.tsx new file mode 100644 index 0000000000000..8035763211637 --- /dev/null +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/chat_send/use_autosize_textarea.tsx @@ -0,0 +1,23 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { useEffect } from 'react'; + +// Updates the height of a