diff --git a/.backportrc.json b/.backportrc.json index d388b1554d817..a62729789a26c 100644 --- a/.backportrc.json +++ b/.backportrc.json @@ -3,6 +3,7 @@ "repoName": "kibana", "targetBranchChoices": [ "main", + "8.14", "8.13", "8.12", "8.11", @@ -50,7 +51,7 @@ "backport" ], "branchLabelMapping": { - "^v8.14.0$": "main", + "^v8.15.0$": "main", "^v(\\d+).(\\d+).\\d+$": "$1.$2" }, "autoMerge": true, diff --git a/.buildkite/pipeline-resource-definitions/kibana-es-serverless-snapshots.yml b/.buildkite/pipeline-resource-definitions/kibana-es-serverless-snapshots.yml index 0cbf4bad865d0..b4d0978ecdbf4 100644 --- a/.buildkite/pipeline-resource-definitions/kibana-es-serverless-snapshots.yml +++ b/.buildkite/pipeline-resource-definitions/kibana-es-serverless-snapshots.yml @@ -22,7 +22,7 @@ spec: SLACK_NOTIFICATIONS_CHANNEL: '#kibana-operations-alerts' ES_SERVERLESS_IMAGE: latest ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true' - allow_rebuilds: false + allow_rebuilds: true branch_configuration: main default_branch: main repository: elastic/kibana @@ -35,7 +35,7 @@ spec: trigger_mode: none build_tags: false prefix_pull_request_fork_branch_names: false - skip_pull_request_builds_for_existing_commits: true + skip_pull_request_builds_for_existing_commits: false teams: everyone: access_level: BUILD_AND_READ diff --git a/.buildkite/pipeline-resource-definitions/kibana-es-snapshots.yml b/.buildkite/pipeline-resource-definitions/kibana-es-snapshots.yml index 6691a460776ac..e76b32bd30532 100644 --- a/.buildkite/pipeline-resource-definitions/kibana-es-snapshots.yml +++ b/.buildkite/pipeline-resource-definitions/kibana-es-snapshots.yml @@ -21,8 +21,8 @@ spec: env: SLACK_NOTIFICATIONS_CHANNEL: '#kibana-operations-alerts' ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true' - allow_rebuilds: false - branch_configuration: main 8.13 7.17 + allow_rebuilds: true + branch_configuration: main 8.14 7.17 default_branch: main repository: elastic/kibana pipeline_file: .buildkite/pipelines/es_snapshots/build.yml @@ -34,7 +34,7 @@ spec: trigger_mode: none build_tags: false prefix_pull_request_fork_branch_names: false - skip_pull_request_builds_for_existing_commits: true + skip_pull_request_builds_for_existing_commits: false teams: everyone: access_level: BUILD_AND_READ @@ -49,10 +49,10 @@ spec: cronline: 0 9 * * * America/New_York message: Daily build branch: main - Daily build (8.13): + Daily build (8.14): cronline: 0 9 * * * America/New_York message: Daily build - branch: '8.13' + branch: '8.14' Daily build (7.17): cronline: 0 9 * * * America/New_York message: Daily build @@ -81,8 +81,8 @@ spec: env: SLACK_NOTIFICATIONS_CHANNEL: '#kibana-operations-alerts' ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true' - allow_rebuilds: false - branch_configuration: main 8.13 7.17 + allow_rebuilds: true + branch_configuration: main 8.14 7.17 default_branch: main repository: elastic/kibana pipeline_file: .buildkite/pipelines/es_snapshots/promote.yml @@ -94,7 +94,7 @@ spec: trigger_mode: none build_tags: false prefix_pull_request_fork_branch_names: false - skip_pull_request_builds_for_existing_commits: true + skip_pull_request_builds_for_existing_commits: false teams: everyone: access_level: BUILD_AND_READ @@ -128,8 +128,8 @@ spec: env: SLACK_NOTIFICATIONS_CHANNEL: '#kibana-operations-alerts' ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true' - allow_rebuilds: false - branch_configuration: main 8.13 7.17 + allow_rebuilds: true + branch_configuration: main 8.14 7.17 default_branch: main repository: elastic/kibana pipeline_file: .buildkite/pipelines/es_snapshots/verify.yml @@ -141,7 +141,7 @@ spec: trigger_mode: none build_tags: false prefix_pull_request_fork_branch_names: false - skip_pull_request_builds_for_existing_commits: true + skip_pull_request_builds_for_existing_commits: false teams: everyone: access_level: BUILD_AND_READ diff --git a/.buildkite/pipeline-resource-definitions/kibana-flaky.yml b/.buildkite/pipeline-resource-definitions/kibana-flaky.yml index e31d4c635562f..82797c03f2378 100644 --- a/.buildkite/pipeline-resource-definitions/kibana-flaky.yml +++ b/.buildkite/pipeline-resource-definitions/kibana-flaky.yml @@ -18,17 +18,18 @@ spec: name: kibana / flaky-test-suite-runner description: ':warning: Trigger a new build here: https://ci-stats.kibana.dev/trigger_flaky_test_runner :warning:' spec: - allow_rebuilds: false + allow_rebuilds: true default_branch: refs/pull/INSERT_PR_NUMBER/head repository: elastic/kibana pipeline_file: .buildkite/pipelines/flaky_tests/pipeline.sh skip_intermediate_builds: false provider_settings: + build_branches: true build_pull_requests: false publish_commit_status: false trigger_mode: none prefix_pull_request_fork_branch_names: false - skip_pull_request_builds_for_existing_commits: true + skip_pull_request_builds_for_existing_commits: false teams: everyone: access_level: BUILD_AND_READ diff --git a/.buildkite/pipeline-resource-definitions/kibana-on-merge-unsupported-ftrs.yml b/.buildkite/pipeline-resource-definitions/kibana-on-merge-unsupported-ftrs.yml index 3188a44a5dbb3..9171e5ba2008d 100644 --- a/.buildkite/pipeline-resource-definitions/kibana-on-merge-unsupported-ftrs.yml +++ b/.buildkite/pipeline-resource-definitions/kibana-on-merge-unsupported-ftrs.yml @@ -21,8 +21,8 @@ spec: env: SLACK_NOTIFICATIONS_CHANNEL: '#kibana-unsupported-ftrs-alerts' ELASTIC_SLACK_NOTIFICATIONS_ENABLED: 'true' - allow_rebuilds: false - branch_configuration: main 8.13 7.17 + allow_rebuilds: true + branch_configuration: main 8.14 7.17 default_branch: main repository: elastic/kibana pipeline_file: .buildkite/pipelines/on_merge_unsupported_ftrs.yml @@ -34,7 +34,7 @@ spec: trigger_mode: none build_tags: false prefix_pull_request_fork_branch_names: false - skip_pull_request_builds_for_existing_commits: true + skip_pull_request_builds_for_existing_commits: false teams: everyone: access_level: BUILD_AND_READ diff --git a/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-defend-workflows.yml b/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-defend-workflows.yml index f3e9358fa4f30..32cd883223c18 100644 --- a/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-defend-workflows.yml +++ b/.buildkite/pipeline-resource-definitions/security-solution-quality-gate/kibana-serverless-security-solution-quality-gate-defend-workflows.yml @@ -16,7 +16,7 @@ spec: description: "[MKI] Executes Cypress tests for the Defend Workflows team" spec: repository: elastic/kibana - pipeline_file: .buildkite/pipelines/security_solution_quality_gate/mki_security_solution_explore.yml + pipeline_file: .buildkite/pipelines/security_solution_quality_gate/mki_security_solution_defend_workflows.yml provider_settings: build_branches: false build_pull_requests: false diff --git a/.buildkite/scripts/steps/checks/prettier_topology.sh b/.buildkite/scripts/steps/checks/prettier_topology.sh new file mode 100755 index 0000000000000..646e258572a45 --- /dev/null +++ b/.buildkite/scripts/steps/checks/prettier_topology.sh @@ -0,0 +1,8 @@ +#!/usr/bin/env bash + +set -euo pipefail + +source .buildkite/scripts/common/util.sh + +echo --- Check Prettier Configuration Topology +node scripts/prettier_topology_check diff --git a/.buildkite/scripts/steps/quick_checks.sh b/.buildkite/scripts/steps/quick_checks.sh index d96657ea70157..c9719e5c08fa9 100755 --- a/.buildkite/scripts/steps/quick_checks.sh +++ b/.buildkite/scripts/steps/quick_checks.sh @@ -22,3 +22,4 @@ export DISABLE_BOOTSTRAP_VALIDATION=false .buildkite/scripts/steps/checks/test_hardening.sh .buildkite/scripts/steps/checks/ftr_configs.sh .buildkite/scripts/steps/checks/yarn_deduplicate.sh +.buildkite/scripts/steps/checks/prettier_topology.sh diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index e60f6f108c473..ae22f91bb038d 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -481,6 +481,7 @@ x-pack/plugins/index_lifecycle_management @elastic/kibana-management x-pack/packages/index-management @elastic/kibana-management x-pack/plugins/index_management @elastic/kibana-management test/plugin_functional/plugins/index_patterns @elastic/kibana-data-discovery +x-pack/packages/ml/inference_integration_flyout @elastic/ml-ui x-pack/packages/kbn-infra-forge @elastic/obs-ux-management-team x-pack/plugins/observability_solution/infra @elastic/obs-ux-logs-team @elastic/obs-ux-infra_services-team x-pack/plugins/ingest_pipelines @elastic/kibana-management @@ -803,7 +804,6 @@ packages/kbn-shared-ux-utility @elastic/appex-sharedux x-pack/plugins/observability_solution/slo @elastic/obs-ux-management-team x-pack/packages/kbn-slo-schema @elastic/obs-ux-management-team x-pack/plugins/snapshot_restore @elastic/kibana-management -packages/solution-nav/analytics @elastic/appex-sharedux @elastic/kibana-data-discovery @elastic/kibana-presentation @elastic/kibana-visualizations packages/solution-nav/es @elastic/appex-sharedux @elastic/enterprise-search-frontend packages/solution-nav/oblt @elastic/appex-sharedux @elastic/obs-ux-management-team packages/kbn-some-dev-log @elastic/kibana-operations @@ -1086,13 +1086,12 @@ packages/kbn-monaco/src/esql @elastic/kibana-esql /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 - +/x-pack/test_serverless/**/test_suites/observability/infra/ @elastic/obs-ux-infra_services-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 +/x-pack/test/functional/apps/monitoring @elastic/stack-monitoring +/x-pack/test/api_integration/apis/monitoring @elastic/stack-monitoring +/x-pack/test/api_integration/apis/monitoring_collection @elastic/stack-monitoring # Fleet /fleet_packages.json @elastic/fleet diff --git a/api_docs/actions.mdx b/api_docs/actions.mdx index 049c087cf34a1..bd0016a9a5059 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'actions'] --- import actionsObj from './actions.devdocs.json'; diff --git a/api_docs/advanced_settings.mdx b/api_docs/advanced_settings.mdx index 92dd412030a8b..fcce9870f47c9 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-17 +date: 2024-04-22 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 d33579948efbd..2ba654fd9b930 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-17 +date: 2024-04-22 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 552a4a3dea0e5..c8e1a20805fc7 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'aiops'] --- import aiopsObj from './aiops.devdocs.json'; diff --git a/api_docs/alerting.mdx b/api_docs/alerting.mdx index 0591bfa59d2f3..251090d81dfd6 100644 --- a/api_docs/alerting.mdx +++ b/api_docs/alerting.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/alerting title: "alerting" image: https://source.unsplash.com/400x175/?github description: API docs for the alerting plugin -date: 2024-04-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'alerting'] --- import alertingObj from './alerting.devdocs.json'; diff --git a/api_docs/apm.mdx b/api_docs/apm.mdx index b0ccacb089c5d..5195b82264ef5 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'apm'] --- import apmObj from './apm.devdocs.json'; diff --git a/api_docs/apm_data_access.mdx b/api_docs/apm_data_access.mdx index 35b95ab78cac5..7544780dca76a 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-17 +date: 2024-04-22 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 546ec86f4c550..cc48de54bbb9b 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-17 +date: 2024-04-22 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 dec5601776841..c4ae83fc93f83 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-17 +date: 2024-04-22 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 5ba5f17aa3836..aeb491fa781a6 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-17 +date: 2024-04-22 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 ea0a18fe616b7..234bf1f5fd7ce 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-17 +date: 2024-04-22 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 0db7648ebd958..90e8ca2897140 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-17 +date: 2024-04-22 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 5c19809463c18..63d5d5e2539cd 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-17 +date: 2024-04-22 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 f9a263f6e2d3b..40071d9a2111d 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-17 +date: 2024-04-22 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 63b783ee8a248..0594b4bcd8345 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-17 +date: 2024-04-22 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 0b2a71606cc00..c492802d85215 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-17 +date: 2024-04-22 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 2387643e8cd70..6df2dc117f7a4 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\" | \"observability_onboarding.experimental_onboarding_flow_enabled\" | \"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\" | \"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\" | \"observability_onboarding.experimental_onboarding_flow_enabled\" | \"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\" | \"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\" | \"observability_onboarding.experimental_onboarding_flow_enabled\" | \"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\" | \"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 dcf68db3fd141..e424473edc710 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-17 +date: 2024-04-22 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 4f3e3dd267b49..e64415ef1791e 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'cloudSecurityPosture'] --- import cloudSecurityPostureObj from './cloud_security_posture.devdocs.json'; diff --git a/api_docs/console.mdx b/api_docs/console.mdx index dba92e7101549..cec66b4286429 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'console'] --- import consoleObj from './console.devdocs.json'; diff --git a/api_docs/content_management.mdx b/api_docs/content_management.mdx index ba0fa80fde17c..6497ef2953442 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-17 +date: 2024-04-22 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 599e27841cb9d..7ccedc7a0c04d 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-17 +date: 2024-04-22 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 43992cd8486b4..8102322ee1242 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-17 +date: 2024-04-22 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 fca0e921893b8..a53fa71bc6085 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-17 +date: 2024-04-22 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 addc4921d89d6..1ea206d5e15df 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-17 +date: 2024-04-22 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 e845695d4fb2b..51d11c982ef0e 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data'] --- import dataObj from './data.devdocs.json'; diff --git a/api_docs/data_query.mdx b/api_docs/data_query.mdx index c99c968daa6e7..d1d3b6b3b8f66 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.query'] --- import dataQueryObj from './data_query.devdocs.json'; diff --git a/api_docs/data_search.mdx b/api_docs/data_search.mdx index 67f5c353e2948..367a17e01ce8e 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'data.search'] --- import dataSearchObj from './data_search.devdocs.json'; diff --git a/api_docs/data_view_editor.mdx b/api_docs/data_view_editor.mdx index 53766e94454b4..fc02e2954b9a1 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-17 +date: 2024-04-22 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 cc8c90807de8c..bb27ed4b5336b 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-17 +date: 2024-04-22 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 19d6afc089500..cbd9a09056574 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-17 +date: 2024-04-22 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 e81a260ddff6a..1863d726b2d97 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataViews'] --- import dataViewsObj from './data_views.devdocs.json'; diff --git a/api_docs/data_visualizer.mdx b/api_docs/data_visualizer.mdx index bde85adec93b8..ea5cc0641a881 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'dataVisualizer'] --- import dataVisualizerObj from './data_visualizer.devdocs.json'; diff --git a/api_docs/dataset_quality.devdocs.json b/api_docs/dataset_quality.devdocs.json index 005fc660f306a..8b24872620a3a 100644 --- a/api_docs/dataset_quality.devdocs.json +++ b/api_docs/dataset_quality.devdocs.json @@ -151,6 +151,16 @@ "DatasetQualityRouteHandlerResources", " & { params: { path: { integration: string; }; }; }) => Promise<{ dashboards: { id: string; title: string; }[]; }>; } & ", "DatasetQualityRouteCreateOptions", + "; \"GET /internal/dataset_quality/integrations\": { endpoint: \"GET /internal/dataset_quality/integrations\"; params?: ", + "TypeC", + "<{ query: ", + "PartialC", + "<{ type: ", + "KeyofC", + "<{ logs: null; metrics: null; traces: null; synthetics: null; profiling: null; }>; }>; }> | undefined; handler: ({}: ", + "DatasetQualityRouteHandlerResources", + " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; }; }; }) => Promise<{ integrations: ({ name: string; } & { title?: string | undefined; version?: string | undefined; icons?: ({ path: string; src: string; } & { title?: string | undefined; size?: string | undefined; type?: string | undefined; })[] | undefined; datasets?: { [x: string]: string; } | undefined; dashboards?: { id: string; title: string; }[] | undefined; })[]; }>; } & ", + "DatasetQualityRouteCreateOptions", "; \"GET /internal/dataset_quality/data_streams/estimated_data\": { endpoint: \"GET /internal/dataset_quality/data_streams/estimated_data\"; params?: ", "TypeC", "<{ query: ", @@ -215,7 +225,7 @@ "StringC", "; }>]>; }> | undefined; handler: ({}: ", "DatasetQualityRouteHandlerResources", - " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ dataStreamsStats: ({ name: string; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; })[]; integrations: ({ name: string; } & { title?: string | undefined; version?: string | undefined; icons?: ({ path: string; src: string; } & { title?: string | undefined; size?: string | undefined; type?: string | undefined; })[] | undefined; datasets?: { [x: string]: string; } | undefined; dashboards?: { id: string; title: string; }[] | undefined; })[]; }>; } & ", + " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ dataStreamsStats: ({ name: string; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; })[]; }>; } & ", "DatasetQualityRouteCreateOptions", "; }[TEndpoint] extends { endpoint: any; params?: infer TRouteParamsRT extends ", { @@ -260,6 +270,16 @@ "DatasetQualityRouteHandlerResources", " & { params: { path: { integration: string; }; }; }) => Promise<{ dashboards: { id: string; title: string; }[]; }>; } & ", "DatasetQualityRouteCreateOptions", + "; \"GET /internal/dataset_quality/integrations\": { endpoint: \"GET /internal/dataset_quality/integrations\"; params?: ", + "TypeC", + "<{ query: ", + "PartialC", + "<{ type: ", + "KeyofC", + "<{ logs: null; metrics: null; traces: null; synthetics: null; profiling: null; }>; }>; }> | undefined; handler: ({}: ", + "DatasetQualityRouteHandlerResources", + " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; }; }; }) => Promise<{ integrations: ({ name: string; } & { title?: string | undefined; version?: string | undefined; icons?: ({ path: string; src: string; } & { title?: string | undefined; size?: string | undefined; type?: string | undefined; })[] | undefined; datasets?: { [x: string]: string; } | undefined; dashboards?: { id: string; title: string; }[] | undefined; })[]; }>; } & ", + "DatasetQualityRouteCreateOptions", "; \"GET /internal/dataset_quality/data_streams/estimated_data\": { endpoint: \"GET /internal/dataset_quality/data_streams/estimated_data\"; params?: ", "TypeC", "<{ query: ", @@ -324,7 +344,7 @@ "StringC", "; }>]>; }> | undefined; handler: ({}: ", "DatasetQualityRouteHandlerResources", - " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ dataStreamsStats: ({ name: string; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; })[]; integrations: ({ name: string; } & { title?: string | undefined; version?: string | undefined; icons?: ({ path: string; src: string; } & { title?: string | undefined; size?: string | undefined; type?: string | undefined; })[] | undefined; datasets?: { [x: string]: string; } | undefined; dashboards?: { id: string; title: string; }[] | undefined; })[]; }>; } & ", + " & { params: { query: { type?: \"metrics\" | \"synthetics\" | \"traces\" | \"logs\" | \"profiling\" | undefined; } & { datasetQuery?: string | undefined; }; }; }) => Promise<{ dataStreamsStats: ({ name: string; } & { size?: string | undefined; sizeBytes?: number | undefined; lastActivity?: number | undefined; integration?: string | undefined; })[]; }>; } & ", "DatasetQualityRouteCreateOptions", "; }[TEndpoint] extends { endpoint: any; params?: any; handler: ({}: any) => Promise; } & ", "ServerRouteCreateOptions", diff --git a/api_docs/dataset_quality.mdx b/api_docs/dataset_quality.mdx index ef26dd8aceae7..e898d7171c260 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-17 +date: 2024-04-22 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 5ad7128f2b485..b5eeeb69f887d 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -17,7 +17,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Referencing plugin(s) | Remove By | | ---------------|-----------|-----------| | | ml, stackAlerts | - | -| | uiActions, home, serverless, spaces, savedObjects, devTools, console, security, visualizations, savedObjectsTagging, expressionXY, lens, expressionMetricVis, expressionGauge, dashboard, aiops, maps, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, dataVisualizer, ml, fleet, crossClusterReplication, graph, grokdebugger, ingestPipelines, metricsDataAccess, exploratoryView, osquery, infra, monitoring, painlessLab, searchprofiler, newsfeed, securitySolution, transform, profiling, apm, observabilityOnboarding, synthetics, uptime, ux, filesManagement, kibanaOverview, visDefaultEditor, expressionHeatmap, expressionLegacyMetricVis, expressionPartitionVis, expressionTagcloud, visTypeTable, visTypeTimelion, visTypeTimeseries, visTypeVega, visTypeVislib | - | +| | visualizations, expressionXY, lens, expressionMetricVis, expressionGauge, dashboard, aiops, maps, expressionImage, expressionMetric, expressionError, expressionRevealImage, expressionRepeatImage, expressionShape, dataVisualizer, ml, fleet, devTools, console, crossClusterReplication, graph, grokdebugger, ingestPipelines, metricsDataAccess, osquery, infra, painlessLab, searchprofiler, securitySolution, transform, apm, observabilityOnboarding, filesManagement, 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, savedObjectsTagging, triggersActionsUi, reporting | - | +| | triggersActionsUi, reporting | - | | | @kbn/core, visualizations, triggersActionsUi | - | | | ruleRegistry, securitySolution, synthetics, uptime, slo | - | | | alerting, discover, securitySolution | - | @@ -36,7 +36,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | @kbn/core-saved-objects-api-browser, @kbn/core-saved-objects-browser-internal, @kbn/core-saved-objects-browser-mocks, @kbn/core-saved-objects-api-server-internal, @kbn/core-saved-objects-import-export-server-internal, @kbn/core-saved-objects-server-internal, fleet, graph, lists, osquery, securitySolution, alerting | - | | | alerting, discover, securitySolution | - | | | securitySolution | - | -| | inspector, data, savedObjects, console, dataViewEditor, unifiedSearch, embeddable, licensing, security, visualizations, savedObjectsTagging, dataViewFieldEditor, lens, dashboard, observabilityShared, banners, maps, @kbn/reporting-public, reporting, timelines, fleet, telemetry, cloudSecurityPosture, runtimeFields, indexManagement, dashboardEnhanced, graph, exploratoryView, monitoring, securitySolution, synthetics, uptime, dataViewManagement, eventAnnotationListing, filesManagement, uiActions, visTypeVislib | - | +| | inspector, data, dataViewEditor, unifiedSearch, embeddable, visualizations, dataViewFieldEditor, lens, dashboard, observabilityShared, maps, @kbn/reporting-public, reporting, timelines, fleet, cloudSecurityPosture, console, runtimeFields, indexManagement, dashboardEnhanced, graph, securitySolution, dataViewManagement, eventAnnotationListing, filesManagement, visTypeVislib | - | | | @kbn/securitysolution-data-table, securitySolution | - | | | @kbn/securitysolution-data-table, securitySolution | - | | | securitySolution | - | @@ -131,13 +131,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | canvas | - | | | canvas | - | | | spaces, savedObjectsManagement | - | -| | @kbn/core-elasticsearch-server-internal, @kbn/core-plugins-server-internal, enterpriseSearch, observabilityOnboarding, console | - | | | reporting | - | | | @kbn/reporting-export-types-csv, reporting | - | | | @kbn/reporting-export-types-csv, reporting | - | | | reporting | - | | | reporting | - | | | @kbn/reporting-export-types-pdf, reporting | - | +| | @kbn/core-elasticsearch-server-internal, @kbn/core-plugins-server-internal, enterpriseSearch, observabilityOnboarding, console | - | | | @kbn/content-management-table-list-view, filesManagement | - | | | @kbn/react-kibana-context-styled, kibanaReact | - | | | enterpriseSearch | - | diff --git a/api_docs/deprecations_by_plugin.mdx b/api_docs/deprecations_by_plugin.mdx index 7f3179e59fbcc..4cddd4f200bb8 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -459,14 +459,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] -## banners - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/banners/public/plugin.tsx#:~:text=toMountPoint), [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/banners/public/plugin.tsx#:~:text=toMountPoint) | - | - - - ## canvas | Deprecated API | Reference location(s) | Remove By | @@ -743,8 +735,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [use_discover_link.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/hooks/use_discover_link.tsx#:~:text=indexPatternId) | - | -| | [add_to_case_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx#:~:text=toMountPoint), [add_to_case_action.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx#:~:text=toMountPoint) | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/exploratory_view/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/exploratory_view/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/exploratory_view/public/application/index.tsx#:~:text=KibanaThemeProvider) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/exploratory_view/public/application/types.ts#:~:text=SavedObjectsStart), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/exploratory_view/public/application/types.ts#:~:text=SavedObjectsStart) | - | @@ -941,7 +931,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/application.tsx#:~:text=KibanaThemeProvider), [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/application.tsx#:~:text=KibanaThemeProvider), [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/application.tsx#:~:text=KibanaThemeProvider) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/plugin.ts#:~:text=savedObjects) | - | | | [kibana_services.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/kibana_services.ts#:~:text=SavedObjectsClientContract), [kibana_services.ts](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/kibana_services.ts#:~:text=SavedObjectsClientContract) | - | | | [home_app.js](https://github.com/elastic/kibana/tree/main/src/plugins/home/public/application/components/home_app.js#:~:text=bulkCreate) | - | @@ -1012,7 +1001,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_overview/public/application.tsx#:~:text=KibanaThemeProvider), [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_overview/public/application.tsx#:~:text=KibanaThemeProvider), [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_overview/public/application.tsx#:~:text=KibanaThemeProvider) | - | | | [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_overview/public/application.tsx#:~:text=appBasePath) | 8.8.0 | @@ -1058,14 +1046,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] -## licensing - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [expired_banner.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/licensing/public/expired_banner.tsx#:~:text=toMountPoint), [expired_banner.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/licensing/public/expired_banner.tsx#:~:text=toMountPoint) | - | - - - ## links | Deprecated API | Reference location(s) | Remove By | @@ -1170,16 +1150,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [url_state.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/url_state.ts#:~:text=syncQueryStateWithUrl), [url_state.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/url_state.ts#:~:text=syncQueryStateWithUrl) | - | -| | [use_request_error_handler.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx#:~:text=toMountPoint), [use_request_error_handler.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx#:~:text=toMountPoint), [use_request_error_handler.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx#:~:text=toMountPoint), [alerts_toast.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/alerts/lib/alerts_toast.tsx#:~:text=toMountPoint), [alerts_toast.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/alerts/lib/alerts_toast.tsx#:~:text=toMountPoint), [ingest_pipeline_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx#:~:text=toMountPoint), [ingest_pipeline_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx#:~:text=toMountPoint), [listing.js](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/components/cluster/listing/listing.js#:~:text=toMountPoint), [listing.js](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/components/cluster/listing/listing.js#:~:text=toMountPoint), [listing.js](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/components/cluster/listing/listing.js#:~:text=toMountPoint) | - | -| | [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/application/index.tsx#:~:text=KibanaThemeProvider), [index.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/monitoring/public/application/index.tsx#:~:text=KibanaThemeProvider) | - | - - - -## newsfeed - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/newsfeed/public/plugin.tsx#:~:text=KibanaThemeProvider), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/newsfeed/public/plugin.tsx#:~:text=KibanaThemeProvider), [plugin.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/newsfeed/public/plugin.tsx#:~:text=KibanaThemeProvider) | - | @@ -1234,7 +1204,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/profiling/public/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/profiling/public/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/profiling/public/app.tsx#:~:text=KibanaThemeProvider) | - | | | [license_context.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/profiling/public/components/contexts/license/license_context.tsx#:~:text=license%24) | 8.8.0 | @@ -1291,8 +1260,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=indexPatterns), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=indexPatterns) | - | -| | [confirm_modal_promise.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/confirm_modal_promise.tsx#:~:text=toMountPoint), [confirm_modal_promise.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/confirm_modal_promise.tsx#:~:text=toMountPoint) | - | -| | [show_saved_object_save_modal.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx#:~:text=KibanaThemeProvider), [show_saved_object_save_modal.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx#:~:text=KibanaThemeProvider), [show_saved_object_save_modal.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx#:~:text=KibanaThemeProvider) | - | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/plugin.ts#:~:text=savedObjects) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectsClientContract), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/types.ts#:~:text=SavedObjectsClientContract), [initialize_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts#:~:text=SavedObjectsClientContract), [initialize_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/initialize_saved_object.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.ts#:~:text=SavedObjectsClientContract), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=SavedObjectsClientContract), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=SavedObjectsClientContract), [find_object_by_title.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/find_object_by_title.test.ts#:~:text=SavedObjectsClientContract)+ 5 more | - | | | [create_source.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts#:~:text=create), [create_source.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts#:~:text=create), [save_saved_object.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_saved_object.ts#:~:text=create), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=create), [save_with_confirmation.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create), [saved_object.test.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects/public/saved_object/saved_object.test.ts#:~:text=create)+ 9 more | - | @@ -1325,9 +1292,6 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| -| | [open_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/components/edition_modal/open_modal.tsx#:~:text=toMountPoint), [open_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/components/edition_modal/open_modal.tsx#:~:text=toMountPoint), [open_modal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/components/edition_modal/open_modal.tsx#:~:text=toMountPoint), [open_assign_flyout.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/components/assign_flyout/open_assign_flyout.tsx#:~:text=toMountPoint), [open_assign_flyout.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/components/assign_flyout/open_assign_flyout.tsx#:~:text=toMountPoint) | - | -| | [mount_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/management/mount_section.tsx#:~:text=KibanaThemeProvider), [mount_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/management/mount_section.tsx#:~:text=KibanaThemeProvider), [mount_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/management/mount_section.tsx#:~:text=KibanaThemeProvider) | - | -| | [mount_section.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/management/mount_section.tsx#:~:text=theme%24) | - | | | [request_handler_context.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/server/request_handler_context.ts#:~:text=authz) | - | | | [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/types.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObject), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject), [utils.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.test.ts#:~:text=SavedObject)+ 3 more | - | | | [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObjectReference), [get_table_column_definition.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/ui_api/get_table_column_definition.tsx#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [references.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/common/references.ts#:~:text=SavedObjectReference), [utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/saved_objects_tagging/public/utils.ts#:~:text=SavedObjectReference)+ 12 more | - | @@ -1389,13 +1353,10 @@ This is relied on by the reporting feature, and should be removed once reporting migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/issues/19914 | | | [app_authorization.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/app_authorization.ts#:~:text=getKibanaFeatures), [privileges.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/privileges/privileges.ts#:~:text=getKibanaFeatures), [authorization_service.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/authorization_service.tsx#:~:text=getKibanaFeatures), [app_authorization.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/app_authorization.test.ts#:~:text=getKibanaFeatures), [privileges.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/privileges/privileges.test.ts#:~:text=getKibanaFeatures), [privileges.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/privileges/privileges.test.ts#:~:text=getKibanaFeatures), [privileges.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/privileges/privileges.test.ts#:~:text=getKibanaFeatures), [privileges.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/privileges/privileges.test.ts#:~:text=getKibanaFeatures), [privileges.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/privileges/privileges.test.ts#:~:text=getKibanaFeatures), [privileges.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/privileges/privileges.test.ts#:~:text=getKibanaFeatures)+ 15 more | 8.8.0 | | | [authorization_service.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/authorization/authorization_service.tsx#:~:text=getElasticsearchFeatures) | 8.8.0 | -| | [session_expiration_toast.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/session/session_expiration_toast.tsx#:~:text=toMountPoint), [session_expiration_toast.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/session/session_expiration_toast.tsx#:~:text=toMountPoint) | - | -| | [api_keys_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx#:~:text=KibanaThemeProvider), [api_keys_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx#:~:text=KibanaThemeProvider), [api_keys_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx#:~:text=KibanaThemeProvider), [users_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/users/users_management_app.tsx#:~:text=KibanaThemeProvider), [users_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/users/users_management_app.tsx#:~:text=KibanaThemeProvider), [users_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/users/users_management_app.tsx#:~:text=KibanaThemeProvider), [roles_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/roles_management_app.tsx#:~:text=KibanaThemeProvider), [roles_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/roles_management_app.tsx#:~:text=KibanaThemeProvider), [roles_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/roles_management_app.tsx#:~:text=KibanaThemeProvider), [role_mappings_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx#:~:text=KibanaThemeProvider)+ 17 more | - | | | [license_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode) | 8.8.0 | | | [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/plugin.tsx#:~:text=license%24) | 8.8.0 | | | [license_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode), [license_service.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/common/licensing/license_service.test.ts#:~:text=mode) | 8.8.0 | | | [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/server/plugin.ts#:~:text=license%24) | 8.8.0 | -| | [api_keys_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx#:~:text=theme%24), [users_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/users/users_management_app.tsx#:~:text=theme%24), [roles_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/roles/roles_management_app.tsx#:~:text=theme%24), [role_mappings_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx#:~:text=theme%24) | - | | | [logout_app.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security/public/authentication/logout/logout_app.test.ts#:~:text=appBasePath) | 8.8.0 | @@ -1417,7 +1378,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | | [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider), [app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/public/app/app.tsx#:~:text=KibanaThemeProvider) | - | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | -| | [create_threat_signals.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/threat_mapping/create_threat_signals.ts#:~:text=license%24), [query.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts#:~:text=license%24), [threshold.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/threshold.ts#:~:text=license%24), [get_is_alert_suppression_active.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.ts#:~:text=license%24) | 8.8.0 | +| | [get_is_alert_suppression_active.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.ts#:~:text=license%24), [create_threat_signals.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/threat_mapping/create_threat_signals.ts#:~:text=license%24), [query.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts#:~:text=license%24), [threshold.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/threshold.ts#:~:text=license%24), [get_is_alert_suppression_active.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.test.ts#:~:text=license%24), [get_is_alert_suppression_active.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.test.ts#:~:text=license%24), [get_is_alert_suppression_active.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.test.ts#:~:text=license%24) | 8.8.0 | | | [request_context_factory.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/request_context_factory.ts#:~:text=authc), [route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_preview/api/preview_rules/route.ts#:~:text=authc), [create_signals_migration_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/create_signals_migration_route.ts#:~:text=authc), [delete_signals_migration_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/delete_signals_migration_route.ts#:~:text=authc), [finalize_signals_migration_route.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/routes/signals/finalize_signals_migration_route.ts#:~:text=authc), [common.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/timeline/utils/common.ts#:~:text=authc) | - | | | [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) | - | @@ -1447,14 +1408,6 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ -## serverless - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/serverless/public/plugin.tsx#:~:text=KibanaThemeProvider), [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/serverless/public/plugin.tsx#:~:text=KibanaThemeProvider), [plugin.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/serverless/public/plugin.tsx#:~:text=KibanaThemeProvider) | - | - - - ## share | Deprecated API | Reference location(s) | Remove By | @@ -1486,9 +1439,7 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [on_post_auth_interceptor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/server/lib/request_interceptors/on_post_auth_interceptor.ts#:~:text=getKibanaFeatures), [spaces_usage_collector.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/server/usage_collection/spaces_usage_collector.ts#:~:text=getKibanaFeatures), [on_post_auth_interceptor.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/server/lib/request_interceptors/on_post_auth_interceptor.test.ts#:~:text=getKibanaFeatures) | 8.8.0 | -| | [spaces_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/management/spaces_management_app.tsx#:~:text=KibanaThemeProvider), [spaces_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/management/spaces_management_app.tsx#:~:text=KibanaThemeProvider), [spaces_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/management/spaces_management_app.tsx#:~:text=KibanaThemeProvider), [nav_control.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/nav_control/nav_control.tsx#:~:text=KibanaThemeProvider), [nav_control.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/nav_control/nav_control.tsx#:~:text=KibanaThemeProvider), [nav_control.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/nav_control/nav_control.tsx#:~:text=KibanaThemeProvider), [space_selector.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/space_selector/space_selector.tsx#:~:text=KibanaThemeProvider), [space_selector.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/space_selector/space_selector.tsx#:~:text=KibanaThemeProvider), [space_selector.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/space_selector/space_selector.tsx#:~:text=KibanaThemeProvider) | - | | | [spaces_usage_collector.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/server/usage_collection/spaces_usage_collector.ts#:~:text=license%24), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/server/plugin.ts#:~:text=license%24), [plugin.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/server/plugin.ts#:~:text=license%24), [spaces_usage_collector.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/server/usage_collection/spaces_usage_collector.test.ts#:~:text=license%24) | 8.8.0 | -| | [spaces_management_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/management/spaces_management_app.tsx#:~:text=theme%24) | - | | | [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/legacy_urls/types.ts#:~:text=ResolvedSimpleSavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/legacy_urls/types.ts#:~:text=ResolvedSimpleSavedObject) | - | | | [copy_to_space_flyout_internal.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/public/copy_saved_objects_to_space/components/copy_to_space_flyout_internal.tsx#:~:text=createNewCopy) | - | | | [saved_objects_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/server/saved_objects/saved_objects_service.ts#:~:text=migrations), [saved_objects_service.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/spaces/server/saved_objects/saved_objects_service.ts#:~:text=migrations) | - | @@ -1514,8 +1465,6 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | ---------------|-----------|-----------| | | [common.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/common.ts#:~:text=alertFactory), [message_utils.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/message_utils.ts#:~:text=alertFactory), [tls_rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/tls_rule/tls_rule.ts#:~:text=alertFactory), [monitor_status_rule.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/alert_rules/status_rule/monitor_status_rule.ts#:~:text=alertFactory) | - | | | [stderr_logs.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/common/components/stderr_logs.tsx#:~:text=indexPatternId) | - | -| | [toast_title.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx#:~:text=toMountPoint), [toast_title.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx#:~:text=toMountPoint), [browser_test_results.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx#:~:text=toMountPoint), [browser_test_results.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx#:~:text=toMountPoint), [delete_monitor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx#:~:text=toMountPoint), [delete_monitor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx#:~:text=toMountPoint), [delete_monitor.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx#:~:text=toMountPoint), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=toMountPoint), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=toMountPoint), [delete_param.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx#:~:text=toMountPoint)+ 6 more | - | -| | [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=KibanaThemeProvider), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=KibanaThemeProvider), [synthetics_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/synthetics_app.tsx#:~:text=KibanaThemeProvider) | - | | | [synthetics_monitor.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/synthetics/server/saved_objects/synthetics_monitor.ts#:~:text=migrations) | - | @@ -1529,14 +1478,6 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ -## telemetry - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [render_opt_in_status_notice_banner.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx#:~:text=toMountPoint), [render_opt_in_status_notice_banner.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx#:~:text=toMountPoint) | - | - - - ## timelines | Deprecated API | Reference location(s) | Remove By | @@ -1566,15 +1507,6 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ -## uiActions - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [hello_world_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/ui_actions/public/tests/test_samples/hello_world_action.tsx#:~:text=toMountPoint), [hello_world_action.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/ui_actions/public/tests/test_samples/hello_world_action.tsx#:~:text=toMountPoint) | - | -| | [open_context_menu.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx#:~:text=KibanaThemeProvider), [open_context_menu.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx#:~:text=KibanaThemeProvider), [open_context_menu.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx#:~:text=KibanaThemeProvider) | - | - - - ## uiActionsEnhanced | Deprecated API | Reference location(s) | Remove By | @@ -1608,20 +1540,10 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | Deprecated API | Reference location(s) | Remove By | | ---------------|-----------|-----------| | | [common.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/common.ts#:~:text=alertFactory), [status_check.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/status_check.ts#:~:text=alertFactory), [tls.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/tls.ts#:~:text=alertFactory), [duration_anomaly.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/alerts/duration_anomaly.ts#:~:text=alertFactory) | - | -| | [alert_messages.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/alert_messages.tsx#:~:text=toMountPoint), [alert_messages.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/alert_messages.tsx#:~:text=toMountPoint), [ml_flyout_container.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx#:~:text=toMountPoint), [ml_flyout_container.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx#:~:text=toMountPoint), [ml_flyout_container.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx#:~:text=toMountPoint) | - | -| | [uptime_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_app.tsx#:~:text=KibanaThemeProvider), [uptime_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_app.tsx#:~:text=KibanaThemeProvider), [uptime_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_app.tsx#:~:text=KibanaThemeProvider) | - | | | [uptime_settings.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/uptime/server/legacy_uptime/lib/saved_objects/uptime_settings.ts#:~:text=migrations) | - | -## ux - -| Deprecated API | Reference location(s) | Remove By | -| ---------------|-----------|-----------| -| | [ux_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/ux/public/application/ux_app.tsx#:~:text=KibanaThemeProvider), [ux_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/ux/public/application/ux_app.tsx#:~:text=KibanaThemeProvider), [ux_app.tsx](https://github.com/elastic/kibana/tree/main/x-pack/plugins/observability_solution/ux/public/application/ux_app.tsx#:~:text=KibanaThemeProvider) | - | - - - ## visDefaultEditor | Deprecated API | Reference location(s) | Remove By | diff --git a/api_docs/deprecations_by_team.mdx b/api_docs/deprecations_by_team.mdx index b95993211bcad..e3d994d9d52e3 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -16,8 +16,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Plugin | Deprecated API | Reference location(s) | Remove By | | --------|-------|-----------|-----------| -| kibanaOverview | | [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_overview/public/application.tsx#:~:text=appBasePath) | 8.8.0 | | savedObjectsTaggingOss | | [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [types.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/decorator/types.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject), [api.ts](https://github.com/elastic/kibana/tree/main/src/plugins/saved_objects_tagging_oss/public/api.ts#:~:text=SavedObject) | 8.8.0 | +| kibanaOverview | | [application.tsx](https://github.com/elastic/kibana/tree/main/src/plugins/kibana_overview/public/application.tsx#:~:text=appBasePath) | 8.8.0 | @@ -173,4 +173,4 @@ migrates to using the Kibana Privilege model: https://github.com/elastic/kibana/ | --------|-------|-----------|-----------| | securitySolution | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | | securitySolution | | [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [policy_config.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/common/license/policy_config.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [fleet_integration.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/fleet_integration.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [create_default_policy.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/fleet_integration/handlers/create_default_policy.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode), [license_watch.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/endpoint/lib/policy/license_watch.test.ts#:~:text=mode)+ 7 more | 8.8.0 | -| securitySolution | | [create_threat_signals.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/threat_mapping/create_threat_signals.ts#:~:text=license%24), [query.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts#:~:text=license%24), [threshold.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/threshold.ts#:~:text=license%24), [get_is_alert_suppression_active.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.ts#:~:text=license%24) | 8.8.0 | \ No newline at end of file +| securitySolution | | [get_is_alert_suppression_active.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.ts#:~:text=license%24), [create_threat_signals.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/threat_mapping/create_threat_signals.ts#:~:text=license%24), [query.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts#:~:text=license%24), [threshold.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/threshold.ts#:~:text=license%24), [get_is_alert_suppression_active.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.test.ts#:~:text=license%24), [get_is_alert_suppression_active.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.test.ts#:~:text=license%24), [get_is_alert_suppression_active.test.ts](https://github.com/elastic/kibana/tree/main/x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.test.ts#:~:text=license%24) | 8.8.0 | \ No newline at end of file diff --git a/api_docs/dev_tools.mdx b/api_docs/dev_tools.mdx index 55614165d71cb..eb1b8016b1878 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-17 +date: 2024-04-22 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 1151874bc1775..bb30fdda3c861 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-17 +date: 2024-04-22 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 e7bb0106db8f9..43cbff6a96881 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-17 +date: 2024-04-22 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 6358160c2c9fb..860bcea7b4383 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ecsDataQualityDashboard'] --- import ecsDataQualityDashboardObj from './ecs_data_quality_dashboard.devdocs.json'; diff --git a/api_docs/elastic_assistant.devdocs.json b/api_docs/elastic_assistant.devdocs.json index 26f70dd454243..571320925c0ed 100644 --- a/api_docs/elastic_assistant.devdocs.json +++ b/api_docs/elastic_assistant.devdocs.json @@ -1556,7 +1556,7 @@ "section": "def-common.KibanaRequest", "text": "KibanaRequest" }, - " | undefined; }, any>" + " | undefined; }, any>" ], "path": "x-pack/plugins/elastic_assistant/server/types.ts", "deprecated": false, diff --git a/api_docs/elastic_assistant.mdx b/api_docs/elastic_assistant.mdx index 6bb54a56b09d9..9dd9bf74d761d 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-17 +date: 2024-04-22 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 b16917c9f7b6a..7de047b72dc3c 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-17 +date: 2024-04-22 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 fb44baaf376fa..4b73575bbf35a 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-17 +date: 2024-04-22 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 2edab4a6ffb34..b43e81f2ee69d 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-17 +date: 2024-04-22 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 383a415603e08..a1d13c6da6ab5 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-17 +date: 2024-04-22 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 3b66cce56f6e7..44030729cd778 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-17 +date: 2024-04-22 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 2230e02b4dc30..86b41cd2e3813 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-17 +date: 2024-04-22 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 24e05e459e6a0..7530e4dbd519b 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-17 +date: 2024-04-22 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 587e10249ecfd..ad9cad86d3a9a 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-17 +date: 2024-04-22 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 5789fb0566c27..8b457211f90e3 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-17 +date: 2024-04-22 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 6cdc1f6118fdd..31be944ba847e 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-17 +date: 2024-04-22 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 79e56aabac485..43c1cbf007812 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-17 +date: 2024-04-22 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 6b6ef04678951..e70d0c1c32255 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-17 +date: 2024-04-22 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 cc67ad2e6764a..8ecd138b63264 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-17 +date: 2024-04-22 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 06577175c28a8..ff2f85f9b7535 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-17 +date: 2024-04-22 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 9aff3e11ff581..cf06adb9ccfb5 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-17 +date: 2024-04-22 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 c6c0e2a7c058d..360dd58b663ee 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-17 +date: 2024-04-22 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 fb425e1f56221..28a4dc9631c0e 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-17 +date: 2024-04-22 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 0c0dd345128b0..49d9c335f30a5 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-17 +date: 2024-04-22 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 3902c8f063a26..1e7a0eea70533 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-17 +date: 2024-04-22 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 c589a1d9970fe..e21118b6632ae 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-17 +date: 2024-04-22 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 bd26a7122e5fa..bb066bc9de6cf 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-17 +date: 2024-04-22 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 0cbbe03e3cefb..a05caa3d4daa3 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-17 +date: 2024-04-22 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 d94935af7ceea..0da463425d588 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-17 +date: 2024-04-22 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 3330f880ef363..0982bf4fcf469 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-17 +date: 2024-04-22 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 aa5f8e5187f5b..f4eb3ff168891 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-17 +date: 2024-04-22 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 ec484d3cf37ab..32eabcf14c034 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-17 +date: 2024-04-22 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 49eb33f528d9d..916d6c68ee6ec 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-17 +date: 2024-04-22 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 4b7bdcf3b4eff..d4f5f04c8e1bc 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'filesManagement'] --- import filesManagementObj from './files_management.devdocs.json'; diff --git a/api_docs/fleet.mdx b/api_docs/fleet.mdx index 42667679e4b5b..cbea78b7bd778 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'fleet'] --- import fleetObj from './fleet.devdocs.json'; diff --git a/api_docs/global_search.mdx b/api_docs/global_search.mdx index f6a3bebf37aaa..8afdcd9096d36 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-17 +date: 2024-04-22 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 6968dae193f1f..b0e07517c3a20 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'guidedOnboarding'] --- import guidedOnboardingObj from './guided_onboarding.devdocs.json'; diff --git a/api_docs/home.mdx b/api_docs/home.mdx index 9218fc6b2c321..dcd522070cbf5 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'home'] --- import homeObj from './home.devdocs.json'; diff --git a/api_docs/image_embeddable.mdx b/api_docs/image_embeddable.mdx index d2b5a3622b2a6..3b010b95ed516 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-17 +date: 2024-04-22 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 111399b210c4b..37040e1d757ba 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-17 +date: 2024-04-22 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 0a03cf4f846c8..e2ca79431020b 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-17 +date: 2024-04-22 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 12007057f983d..717062b1c53a4 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-17 +date: 2024-04-22 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 af527d5dedf75..55b6c499f334f 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-17 +date: 2024-04-22 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 9e0af2641b565..10f4c0f195c29 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-17 +date: 2024-04-22 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 547c3059405cc..d3ee2c96642f5 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-17 +date: 2024-04-22 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 500cd003bf7a1..72258ac9c762b 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-17 +date: 2024-04-22 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 ee18be70eac5b..20e26868917ba 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/actions-types'] --- import kbnActionsTypesObj from './kbn_actions_types.devdocs.json'; diff --git a/api_docs/kbn_aiops_components.devdocs.json b/api_docs/kbn_aiops_components.devdocs.json index 50e11c1159148..a8befeaa7e91a 100644 --- a/api_docs/kbn_aiops_components.devdocs.json +++ b/api_docs/kbn_aiops_components.devdocs.json @@ -74,6 +74,61 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.DocumentCountChartWithAutoAnalysisStart", + "type": "Function", + "tags": [], + "label": "DocumentCountChartWithAutoAnalysisStart", + "description": [ + "\nFunctional component that renders a `DocumentCountChart` with additional properties\nmanaged by the log rate analysis state. It leverages the `useLogRateAnalysisStateContext`\nto acquire state variables like `initialAnalysisStart` and functions such as\n`setAutoRunAnalysis`. These values are then passed as props to the `DocumentCountChart`.\n" + ], + "signature": [ + "(props: React.PropsWithChildren<", + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.DocumentCountChartProps", + "text": "DocumentCountChartProps" + }, + ">) => JSX.Element" + ], + "path": "x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.DocumentCountChartWithAutoAnalysisStart.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [ + "- The properties passed to the DocumentCountChart component." + ], + "signature": [ + "React.PropsWithChildren<", + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.DocumentCountChartProps", + "text": "DocumentCountChartProps" + }, + ">" + ], + "path": "x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "The DocumentCountChart component enhanced with automatic analysis start capabilities." + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/aiops-components", "id": "def-common.DualBrush", @@ -152,6 +207,45 @@ ], "initialIsOpen": false }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.LogRateAnalysisStateProvider", + "type": "Function", + "tags": [], + "label": "LogRateAnalysisStateProvider", + "description": [ + "\nContext provider component that manages and provides global state for Log Rate Analysis.\nThis provider handles several pieces of state important for controlling and displaying\nlog rate analysis data, such as the control of automatic analysis runs, and the management\nof both pinned and selected significant items and groups.\n\nThe state includes mechanisms for setting initial analysis parameters, toggling analysis,\nand managing the current selection and pinned state of significant items and groups.\n" + ], + "signature": [ + "(props: React.PropsWithChildren) => JSX.Element" + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/log_rate_analysis_state_provider.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.LogRateAnalysisStateProvider.$1", + "type": "CompoundType", + "tags": [], + "label": "props", + "description": [ + "- Props object containing initial settings for the analysis,\nincluding children components to be wrapped by the Provider." + ], + "signature": [ + "React.PropsWithChildren" + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/log_rate_analysis_state_provider.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [ + "A context provider wrapping children with access to log rate analysis state." + ], + "initialIsOpen": false + }, { "parentPluginId": "@kbn/aiops-components", "id": "def-common.ProgressControls", @@ -190,6 +284,29 @@ "The ProgressControls component." ], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.useLogRateAnalysisStateContext", + "type": "Function", + "tags": [ + "throws" + ], + "label": "useLogRateAnalysisStateContext", + "description": [ + "\nCustom hook for accessing the state of log rate analysis from the LogRateAnalysisStateContext.\nThis hook must be used within a component that is a descendant of the LogRateAnalysisStateContext provider.\n" + ], + "signature": [ + "() => LogRateAnalysisState" + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/log_rate_analysis_state_provider.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [ + "The current state of the log rate analysis." + ], + "initialIsOpen": false } ], "interfaces": [ @@ -487,6 +604,22 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.DocumentCountChartProps.setAutoRunAnalysis", + "type": "Function", + "tags": [], + "label": "setAutoRunAnalysis", + "description": [ + "Callback to set the autoRunAnalysis flag" + ], + "signature": [ + "SetAutoRunAnalysisFn | undefined" + ], + "path": "x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/aiops-components", "id": "def-common.DocumentCountChartProps.autoAnalysisStart", @@ -647,6 +780,123 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.GroupTableItem", + "type": "Interface", + "tags": [], + "label": "GroupTableItem", + "description": [ + "\nRepresents a single item in the group table." + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.GroupTableItem.id", + "type": "string", + "tags": [], + "label": "id", + "description": [ + "Unique identifier for the group table item." + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.GroupTableItem.docCount", + "type": "number", + "tags": [], + "label": "docCount", + "description": [ + "Document count associated with the item." + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.GroupTableItem.pValue", + "type": "CompoundType", + "tags": [], + "label": "pValue", + "description": [ + "Statistical p-value indicating the significance of the item, nullable." + ], + "signature": [ + "number | null" + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.GroupTableItem.uniqueItemsCount", + "type": "number", + "tags": [], + "label": "uniqueItemsCount", + "description": [ + "Count of unique items within the group." + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.GroupTableItem.groupItemsSortedByUniqueness", + "type": "Array", + "tags": [], + "label": "groupItemsSortedByUniqueness", + "description": [ + "Array of items within the group, sorted by uniqueness." + ], + "signature": [ + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.GroupTableItemGroup", + "text": "GroupTableItemGroup" + }, + "[]" + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.GroupTableItem.histogram", + "type": "Array", + "tags": [], + "label": "histogram", + "description": [ + "Histogram data for the significant item." + ], + "signature": [ + { + "pluginId": "@kbn/ml-agg-utils", + "scope": "common", + "docId": "kibKbnMlAggUtilsPluginApi", + "section": "def-common.SignificantItemHistogramItem", + "text": "SignificantItemHistogramItem" + }, + "[] | undefined" + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false } ], "enums": [], @@ -737,6 +987,178 @@ } ], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.GroupTableItemGroup", + "type": "Type", + "tags": [], + "label": "GroupTableItemGroup", + "description": [ + "\nType for defining attributes picked from\nSignificantItemGroupItem used in the grouped table." + ], + "signature": [ + "{ type: ", + { + "pluginId": "@kbn/ml-agg-utils", + "scope": "common", + "docId": "kibKbnMlAggUtilsPluginApi", + "section": "def-common.SignificantItemType", + "text": "SignificantItemType" + }, + "; key: string; fieldName: string; fieldValue: string | number; docCount: number; pValue: number | null; duplicate?: number | undefined; }" + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/aiops-components", + "id": "def-common.TableItemAction", + "type": "Type", + "tags": [], + "label": "TableItemAction", + "description": [ + "\nType for action columns in a table that involves SignificantItem or GroupTableItem." + ], + "signature": [ + "(", + "DisambiguateSet", + "<", + "DefaultItemEmptyButtonAction", + "<", + { + "pluginId": "@kbn/ml-agg-utils", + "scope": "common", + "docId": "kibKbnMlAggUtilsPluginApi", + "section": "def-common.SignificantItem", + "text": "SignificantItem" + }, + " | ", + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.GroupTableItem", + "text": "GroupTableItem" + }, + ">, ", + "DefaultItemIconButtonAction", + "<", + { + "pluginId": "@kbn/ml-agg-utils", + "scope": "common", + "docId": "kibKbnMlAggUtilsPluginApi", + "section": "def-common.SignificantItem", + "text": "SignificantItem" + }, + " | ", + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.GroupTableItem", + "text": "GroupTableItem" + }, + ">> & ", + "DefaultItemIconButtonAction", + "<", + { + "pluginId": "@kbn/ml-agg-utils", + "scope": "common", + "docId": "kibKbnMlAggUtilsPluginApi", + "section": "def-common.SignificantItem", + "text": "SignificantItem" + }, + " | ", + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.GroupTableItem", + "text": "GroupTableItem" + }, + ">) | (", + "DisambiguateSet", + "<", + "DefaultItemIconButtonAction", + "<", + { + "pluginId": "@kbn/ml-agg-utils", + "scope": "common", + "docId": "kibKbnMlAggUtilsPluginApi", + "section": "def-common.SignificantItem", + "text": "SignificantItem" + }, + " | ", + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.GroupTableItem", + "text": "GroupTableItem" + }, + ">, ", + "DefaultItemEmptyButtonAction", + "<", + { + "pluginId": "@kbn/ml-agg-utils", + "scope": "common", + "docId": "kibKbnMlAggUtilsPluginApi", + "section": "def-common.SignificantItem", + "text": "SignificantItem" + }, + " | ", + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.GroupTableItem", + "text": "GroupTableItem" + }, + ">> & ", + "DefaultItemEmptyButtonAction", + "<", + { + "pluginId": "@kbn/ml-agg-utils", + "scope": "common", + "docId": "kibKbnMlAggUtilsPluginApi", + "section": "def-common.SignificantItem", + "text": "SignificantItem" + }, + " | ", + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.GroupTableItem", + "text": "GroupTableItem" + }, + ">) | ", + "CustomItemAction", + "<", + { + "pluginId": "@kbn/ml-agg-utils", + "scope": "common", + "docId": "kibKbnMlAggUtilsPluginApi", + "section": "def-common.SignificantItem", + "text": "SignificantItem" + }, + " | ", + { + "pluginId": "@kbn/aiops-components", + "scope": "common", + "docId": "kibKbnAiopsComponentsPluginApi", + "section": "def-common.GroupTableItem", + "text": "GroupTableItem" + }, + ">" + ], + "path": "x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ], "objects": [] diff --git a/api_docs/kbn_aiops_components.mdx b/api_docs/kbn_aiops_components.mdx index 3ea167868b10e..5a27adfe30b65 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/aiops-components'] --- import kbnAiopsComponentsObj from './kbn_aiops_components.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 | |-------------------|-----------|------------------------|-----------------| -| 36 | 0 | 0 | 0 | +| 51 | 0 | 0 | 0 | ## Common diff --git a/api_docs/kbn_aiops_log_pattern_analysis.mdx b/api_docs/kbn_aiops_log_pattern_analysis.mdx index 07b9b9cb79209..8a1a6288d55e0 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-17 +date: 2024-04-22 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 00e787b203a61..6a6a4edfe92d9 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-17 +date: 2024-04-22 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 5395d050dec97..064f3aa8ab137 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-17 +date: 2024-04-22 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 ddbae4d420eab..49fbc982b5f0e 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-17 +date: 2024-04-22 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 f6876a9346fab..3b4e356db8ff6 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-17 +date: 2024-04-22 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 5e7e7a5c2ba3f..1c85fbe74958c 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-17 +date: 2024-04-22 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 81e85c8afb175..a11c85f24e3c1 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-17 +date: 2024-04-22 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 950e0341e8f41..183865e66f7ba 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/analytics'] --- import kbnAnalyticsObj from './kbn_analytics.devdocs.json'; diff --git a/api_docs/kbn_analytics_client.mdx b/api_docs/kbn_analytics_client.mdx index d79d2660e0852..9e2655ddf3276 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-17 +date: 2024-04-22 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 820c1b222284c..2934bdd3df4d5 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-17 +date: 2024-04-22 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 563bfa5354a8e..2d952060c331c 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-17 +date: 2024-04-22 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 1a39784f5a2e0..101545553865a 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-17 +date: 2024-04-22 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 a18ffe4378009..0a654fa1c7e6f 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-17 +date: 2024-04-22 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 bec5ee1356d9b..37a298493acfa 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-17 +date: 2024-04-22 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 83fb1e6070b33..a5daa8c1b6090 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-17 +date: 2024-04-22 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 336f44dafaa63..64a1594f97404 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-17 +date: 2024-04-22 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 3a4e2e8a6c7c5..1e862cd965d5c 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-17 +date: 2024-04-22 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 d43a90f3f8594..bb20ffe6ce865 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-17 +date: 2024-04-22 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 971659dd6dc99..f11a9cf669b19 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-17 +date: 2024-04-22 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 dfeb999d48a44..4162ceca706f6 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-17 +date: 2024-04-22 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 6ece7b23d8e2d..790de0ecdad48 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-17 +date: 2024-04-22 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 7e28ba82e8683..bab0fbfdc85f4 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-17 +date: 2024-04-22 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 45d1e4aa78a94..aaed2aa170cab 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-17 +date: 2024-04-22 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 dad729d5d56fa..f1be51668d5f6 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-17 +date: 2024-04-22 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 0110373a3560e..f726a91cf05df 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-17 +date: 2024-04-22 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 032d978c1184d..68331633fcfbc 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-17 +date: 2024-04-22 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 db3845cb0ab26..1c11febe428ca 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-17 +date: 2024-04-22 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 6ea379c616162..e3c735dd3f234 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-17 +date: 2024-04-22 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 ffb35c8c4bd55..39c87ff928cd2 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-17 +date: 2024-04-22 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 526e72306b6ae..a481582c8974d 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-17 +date: 2024-04-22 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 0f3cbac6f389f..d965fbc055357 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-17 +date: 2024-04-22 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 084092c211359..2dd7484f2e487 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-17 +date: 2024-04-22 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 e70c69f9d1a92..9813ae46c6b7a 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-17 +date: 2024-04-22 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 3eb314c7b7f38..d8ad0fef941f8 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-17 +date: 2024-04-22 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 e94d368f802c8..cf36fc73270d2 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-17 +date: 2024-04-22 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 c535d120c8a22..23c5c1fe68690 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-17 +date: 2024-04-22 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 0e145b98b315c..fec7adc098a98 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-mocks'] --- import kbnConfigMocksObj from './kbn_config_mocks.devdocs.json'; diff --git a/api_docs/kbn_config_schema.devdocs.json b/api_docs/kbn_config_schema.devdocs.json index 2a6b482c1a98e..7d311ed14d483 100644 --- a/api_docs/kbn_config_schema.devdocs.json +++ b/api_docs/kbn_config_schema.devdocs.json @@ -1225,6 +1225,26 @@ ], "returnComment": [] }, + { + "parentPluginId": "@kbn/config-schema", + "id": "def-common.Type.getSchema", + "type": "Function", + "tags": [ + "note" + ], + "label": "getSchema", + "description": [], + "signature": [ + "() => ", + "AnySchema", + "" + ], + "path": "packages/kbn-config-schema/src/types/type.ts", + "deprecated": false, + "trackAdoption": false, + "children": [], + "returnComment": [] + }, { "parentPluginId": "@kbn/config-schema", "id": "def-common.Type.getSchemaStructure", @@ -1967,7 +1987,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2057,7 +2077,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2139,7 +2159,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2213,7 +2233,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2279,7 +2299,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2337,7 +2357,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2387,7 +2407,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2429,7 +2449,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2463,7 +2483,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2489,7 +2509,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2507,7 +2527,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -2610,7 +2630,7 @@ "label": "metaFields", "description": [], "signature": [ - "{ readonly META_FIELD_X_OAS_OPTIONAL: \"x-oas-optional\"; readonly META_FIELD_X_OAS_MAX_LENGTH: \"x-oas-max-length\"; readonly META_FIELD_X_OAS_MIN_LENGTH: \"x-oas-min-length\"; readonly META_FIELD_X_OAS_GET_ADDITIONAL_PROPERTIES: \"x-oas-get-additional-properties\"; }" + "{ readonly META_FIELD_X_OAS_REF_ID: \"x-oas-ref-id\"; readonly META_FIELD_X_OAS_OPTIONAL: \"x-oas-optional\"; readonly META_FIELD_X_OAS_MAX_LENGTH: \"x-oas-max-length\"; readonly META_FIELD_X_OAS_MIN_LENGTH: \"x-oas-min-length\"; readonly META_FIELD_X_OAS_GET_ADDITIONAL_PROPERTIES: \"x-oas-get-additional-properties\"; }" ], "path": "packages/kbn-config-schema/index.ts", "deprecated": false, @@ -3615,7 +3635,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -3705,7 +3725,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -3787,7 +3807,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -3861,7 +3881,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -3927,7 +3947,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -3985,7 +4005,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -4035,7 +4055,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -4077,7 +4097,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -4111,7 +4131,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -4137,7 +4157,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", @@ -4155,7 +4175,7 @@ "text": "Type" }, "], options?: ", - "TypeOptions", + "UnionTypeOptions", " | undefined): ", { "pluginId": "@kbn/config-schema", diff --git a/api_docs/kbn_config_schema.mdx b/api_docs/kbn_config_schema.mdx index b6bf6feeceffa..49e16caca9062 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/config-schema'] --- import kbnConfigSchemaObj from './kbn_config_schema.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 | |-------------------|-----------|------------------------|-----------------| -| 141 | 3 | 138 | 18 | +| 142 | 3 | 139 | 19 | ## Common diff --git a/api_docs/kbn_content_management_content_editor.mdx b/api_docs/kbn_content_management_content_editor.mdx index 612406ab20156..521cd317bca98 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-17 +date: 2024-04-22 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 89ba67ee8e553..fb1ca6ace0f40 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-17 +date: 2024-04-22 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 48ee6fce2dc37..110fa05cc21f8 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-17 +date: 2024-04-22 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 a4d65d6c822ed..2ff6791f2ee7b 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-17 +date: 2024-04-22 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 80c3060d1616d..63e14f96f9c32 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-17 +date: 2024-04-22 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 eaa5bd46faf9a..965774f4db835 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-17 +date: 2024-04-22 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 807807eca1ceb..3237fba671646 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-17 +date: 2024-04-22 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 b60668c6e5865..cda0b6273cc73 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-17 +date: 2024-04-22 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 7b282adf18079..ff585370cf34a 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-17 +date: 2024-04-22 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 775d201406d67..9520c0badf379 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-17 +date: 2024-04-22 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 cbc887dcf5d12..d0bae87f7988a 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-17 +date: 2024-04-22 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 96de9cd3a806d..cb31a8935a802 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-17 +date: 2024-04-22 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 feb7495611c54..18edc0d90ad87 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-17 +date: 2024-04-22 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 0e206a4688a02..0e23932ddc4a1 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-17 +date: 2024-04-22 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 969bf22a976d0..4352f554ded8f 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-17 +date: 2024-04-22 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 ab8147fb4b9b1..ab7a3358c615f 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-17 +date: 2024-04-22 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 819916f07ff77..bb8140d735242 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-17 +date: 2024-04-22 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 1a8deeaab45a0..3b51f691a74d5 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-17 +date: 2024-04-22 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 1cd58dbd750a8..4326da4cd8849 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-17 +date: 2024-04-22 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 dbbd0ea9c1c7a..e699b31008d38 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-17 +date: 2024-04-22 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 be240c8716dcf..0e2db136b6659 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-17 +date: 2024-04-22 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 4aa20db1eef89..b715b36a4628a 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-17 +date: 2024-04-22 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 ed257cdd5a7c3..0ff44c62c368f 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-17 +date: 2024-04-22 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 d5c35594ddb70..873a8a0f164b4 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-17 +date: 2024-04-22 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 af1deb88520b1..5f73c9019dd64 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-17 +date: 2024-04-22 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 0e33d9c68fbb0..78fda93e37293 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-17 +date: 2024-04-22 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 899bd9bb652a4..1dc52d384064c 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-capabilities-server-mocks'] --- import kbnCoreCapabilitiesServerMocksObj from './kbn_core_capabilities_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_chrome_browser.mdx b/api_docs/kbn_core_chrome_browser.mdx index 47faec13270e5..be343740a9de4 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-17 +date: 2024-04-22 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 106eeb510a767..f20b67700d86c 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-17 +date: 2024-04-22 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 afbaf722309cd..8927528abc095 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-17 +date: 2024-04-22 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 ef443f81ba372..502862b5a35d3 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-17 +date: 2024-04-22 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 fccfd4a898369..c6e3938b5129d 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-17 +date: 2024-04-22 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 57e450133be0c..05c94768dce91 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-17 +date: 2024-04-22 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 93b2ad70a6923..0e70ce4b2dda3 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-17 +date: 2024-04-22 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 5a21b64eab42d..31f8c18a79397 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-17 +date: 2024-04-22 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 835a9c147f82d..6f33bb2c25a33 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-17 +date: 2024-04-22 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 635cf16092fa6..e70103399a092 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-17 +date: 2024-04-22 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 56397ed69f1d0..5ecacaef9cfcb 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-17 +date: 2024-04-22 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 7c74e1ef5c8fb..32e117430dc8a 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-17 +date: 2024-04-22 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 f23937b2b1284..d41008396e6f1 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-17 +date: 2024-04-22 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 ed77b76d35b7f..568d199a1c485 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-17 +date: 2024-04-22 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 87473e06541f2..61f298cd7a898 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-17 +date: 2024-04-22 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 2a5c332a754d1..77be7789756c9 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-17 +date: 2024-04-22 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 5a47cb3ae49ba..78c7423e9be2a 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-17 +date: 2024-04-22 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 8cd25c474227b..3cfec8dde7442 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-17 +date: 2024-04-22 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 f5c9891907cc6..6d95fa7f36014 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-17 +date: 2024-04-22 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 4a94690100003..43461f6df50eb 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-17 +date: 2024-04-22 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 43d0afbecf24c..fb0615ca1b900 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-17 +date: 2024-04-22 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 e73e281f1aa04..4a24bdb28c145 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-17 +date: 2024-04-22 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 0493c5aa6d3db..800dc3bbe2d5e 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-17 +date: 2024-04-22 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 b8d3129e73d9d..52ccc5416f797 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-17 +date: 2024-04-22 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 a5efc99b73f80..a699b65f9ebda 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-17 +date: 2024-04-22 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 1bc4a99b31975..291fb9cdada54 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-17 +date: 2024-04-22 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 e879e83fec70f..622c7ecf278c5 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-17 +date: 2024-04-22 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 a7e18545590af..ca8aa9486e0c5 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-17 +date: 2024-04-22 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 d47e2a4f8ab67..a5711b1740613 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-17 +date: 2024-04-22 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 6c75c75491e80..35861fc5b9c7e 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-17 +date: 2024-04-22 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 ab4c911606f1e..ee4f78fd9bb4c 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-17 +date: 2024-04-22 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 a34746224db40..74c29cb4263b2 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-17 +date: 2024-04-22 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 4293cad5c7440..66d215d06521c 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-17 +date: 2024-04-22 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 941cb104a6141..0a62dbbda8e9e 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-17 +date: 2024-04-22 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 55e364b270b8a..de090a0d4870c 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-17 +date: 2024-04-22 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 104a4f86ac458..bfc5b5106b3a4 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-17 +date: 2024-04-22 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 95f82b9af7ab8..c827c7038d448 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-17 +date: 2024-04-22 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 f53c2dfa32d96..141e4a7f6d3e4 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-17 +date: 2024-04-22 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 1dc91e83124fb..7ef1a13679857 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-17 +date: 2024-04-22 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 9340fecdcfa10..38c9dc3bdb79e 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-17 +date: 2024-04-22 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 ebbdefac71ac8..3c7a76bee2fb8 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-17 +date: 2024-04-22 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 db881141d153f..c7c65afa9019f 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-17 +date: 2024-04-22 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 528b43544a597..2cd6cc1c921a9 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-17 +date: 2024-04-22 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 b5a66268abc25..781c6383ecc59 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-17 +date: 2024-04-22 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 f99175ec8174e..e6a96a659ee44 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-17 +date: 2024-04-22 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 92db929fbb234..03c3ce2e92f2f 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-17 +date: 2024-04-22 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.devdocs.json b/api_docs/kbn_core_http_router_server_internal.devdocs.json index f45440495ad0c..140920799b518 100644 --- a/api_docs/kbn_core_http_router_server_internal.devdocs.json +++ b/api_docs/kbn_core_http_router_server_internal.devdocs.json @@ -69,6 +69,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-http-router-server-internal", + "id": "def-common.CoreVersionedRouter.pluginId", + "type": "Uncategorized", + "tags": [], + "label": "pluginId", + "description": [], + "signature": [ + "symbol | undefined" + ], + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-http-router-server-internal", "id": "def-common.CoreVersionedRouter.from", @@ -173,7 +187,7 @@ }, "<", "Method", - ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts", "deprecated": false, @@ -244,7 +258,7 @@ }, "<", "Method", - ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts", "deprecated": false, @@ -315,7 +329,7 @@ }, "<", "Method", - ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts", "deprecated": false, @@ -386,7 +400,7 @@ }, "<", "Method", - ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts", "deprecated": false, @@ -457,7 +471,7 @@ }, "<", "Method", - ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ">, \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts", "deprecated": false, diff --git a/api_docs/kbn_core_http_router_server_internal.mdx b/api_docs/kbn_core_http_router_server_internal.mdx index 48c9d52683a67..3b67aa7841fb8 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-router-server-internal'] --- import kbnCoreHttpRouterServerInternalObj from './kbn_core_http_router_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 | |-------------------|-----------|------------------------|-----------------| -| 49 | 7 | 49 | 5 | +| 50 | 7 | 50 | 6 | ## Common diff --git a/api_docs/kbn_core_http_router_server_mocks.devdocs.json b/api_docs/kbn_core_http_router_server_mocks.devdocs.json index 8dbc1fe6e57a7..aa7f1a545bc39 100644 --- a/api_docs/kbn_core_http_router_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_router_server_mocks.devdocs.json @@ -80,7 +80,7 @@ "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, - ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-router-server-mocks/src/versioned_router.mock.ts", "deprecated": false, diff --git a/api_docs/kbn_core_http_router_server_mocks.mdx b/api_docs/kbn_core_http_router_server_mocks.mdx index 04afc1812df26..a71ef7ea0f577 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-17 +date: 2024-04-22 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 7be1f06076566..68157bfed74fd 100644 --- a/api_docs/kbn_core_http_server.devdocs.json +++ b/api_docs/kbn_core_http_server.devdocs.json @@ -173,6 +173,115 @@ ], "returnComment": [], "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.getResponseValidation", + "type": "Function", + "tags": [], + "label": "getResponseValidation", + "description": [ + "\nExtracts {@link RouteValidatorFullConfigRequest} from the validation container.\nThis utility is intended to be used by code introspecting router validation configuration." + ], + "signature": [ + "(value: ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteValidator", + "text": "RouteValidator" + }, + " | (() => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteValidator", + "text": "RouteValidator" + }, + ")) => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteValidatorFullConfigResponse", + "text": "RouteValidatorFullConfigResponse" + }, + " | undefined" + ], + "path": "packages/core/http/core-http-server/src/router/utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.getResponseValidation.$1", + "type": "CompoundType", + "tags": [], + "label": "value", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteValidator", + "text": "RouteValidator" + }, + " | (() => ", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RouteValidator", + "text": "RouteValidator" + }, + ")" + ], + "path": "packages/core/http/core-http-server/src/router/utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.isFullValidatorContainer", + "type": "Function", + "tags": [], + "label": "isFullValidatorContainer", + "description": [ + "\n{@link RouteValidator} is a union type of all possible ways that validation\nconfiguration can be registered. This helper utility narrows down the type\nby indicating whether it is {@link RouteValidatorRequestAndResponses} or not." + ], + "signature": [ + "(value: AnyRouteValidator) => boolean" + ], + "path": "packages/core/http/core-http-server/src/router/utils.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-http-server", + "id": "def-common.isFullValidatorContainer.$1", + "type": "CompoundType", + "tags": [], + "label": "value", + "description": [], + "signature": [ + "AnyRouteValidator" + ], + "path": "packages/core/http/core-http-server/src/router/utils.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false } ], "interfaces": [ @@ -216,7 +325,9 @@ "parentPluginId": "@kbn/core-http-server", "id": "def-common.AddVersionOpts.validate", "type": "CompoundType", - "tags": [], + "tags": [ + "note" + ], "label": "validate", "description": [ "\nValidation for this version of a route" @@ -7176,6 +7287,10 @@ "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/router.test.ts" }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/router.test.ts" + }, { "plugin": "@kbn/core-http-server-internal", "path": "packages/core/http/core-http-server-internal/src/http_server.test.ts" @@ -7248,6 +7363,10 @@ "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, { "plugin": "@kbn/core-http-router-server-mocks", "path": "packages/core/http/core-http-router-server-mocks/src/router.mock.ts" @@ -12481,7 +12600,9 @@ "parentPluginId": "@kbn/core-http-server", "id": "def-common.RouterRoute.validationSchemas", "type": "CompoundType", - "tags": [], + "tags": [ + "note" + ], "label": "validationSchemas", "description": [], "signature": [ @@ -14488,7 +14609,7 @@ "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, - ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, @@ -14600,6 +14721,10 @@ "plugin": "ml", "path": "x-pack/plugins/ml/server/routes/anomaly_detectors.ts" }, + { + "plugin": "ml", + "path": "x-pack/plugins/ml/server/routes/inference_models.ts" + }, { "plugin": "metricsDataAccess", "path": "x-pack/plugins/metrics_data_access/server/lib/adapters/framework/kibana_framework_adapter.ts" @@ -14767,7 +14892,7 @@ "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, - ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, @@ -15711,6 +15836,10 @@ "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" }, + { + "plugin": "@kbn/core-http-router-server-internal", + "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_route.test.ts" + }, { "plugin": "@kbn/core-http-router-server-internal", "path": "packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.test.ts" @@ -15762,7 +15891,7 @@ "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, - ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, @@ -15889,7 +16018,7 @@ "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, - ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, @@ -16148,7 +16277,7 @@ "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, - ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, @@ -18750,7 +18879,7 @@ "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, - ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, @@ -18818,7 +18947,7 @@ "section": "def-common.RouteConfigOptions", "text": "RouteConfigOptions" }, - ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; }" + ", \"access\"> | undefined; access: \"internal\" | \"public\"; enableQueryVersion?: boolean | undefined; description?: string | undefined; }" ], "path": "packages/core/http/core-http-server/src/versioning/types.ts", "deprecated": false, diff --git a/api_docs/kbn_core_http_server.mdx b/api_docs/kbn_core_http_server.mdx index cc39914d22afc..09ea835cc0681 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server'] --- import kbnCoreHttpServerObj from './kbn_core_http_server.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 471 | 1 | 187 | 0 | +| 475 | 1 | 189 | 0 | ## Common diff --git a/api_docs/kbn_core_http_server_internal.devdocs.json b/api_docs/kbn_core_http_server_internal.devdocs.json index d232d020ceb42..934ce3c188daa 100644 --- a/api_docs/kbn_core_http_server_internal.devdocs.json +++ b/api_docs/kbn_core_http_server_internal.devdocs.json @@ -344,6 +344,20 @@ "deprecated": false, "trackAdoption": false }, + { + "parentPluginId": "@kbn/core-http-server-internal", + "id": "def-common.HttpConfig.oas", + "type": "Object", + "tags": [], + "label": "oas", + "description": [], + "signature": [ + "{ enabled: boolean; }" + ], + "path": "packages/core/http/core-http-server-internal/src/http_config.ts", + "deprecated": false, + "trackAdoption": false + }, { "parentPluginId": "@kbn/core-http-server-internal", "id": "def-common.HttpConfig.securityResponseHeaders", @@ -768,6 +782,58 @@ "trackAdoption": false, "children": [], "returnComment": [] + }, + { + "parentPluginId": "@kbn/core-http-server-internal", + "id": "def-common.HttpServer.getRouters", + "type": "Function", + "tags": [], + "label": "getRouters", + "description": [], + "signature": [ + "({ pluginId }?: ", + "GetRoutersOptions", + ") => { routers: ", + "Router", + "<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RequestHandlerContextBase", + "text": "RequestHandlerContextBase" + }, + ">[]; versionedRouters: ", + { + "pluginId": "@kbn/core-http-router-server-internal", + "scope": "common", + "docId": "kibKbnCoreHttpRouterServerInternalPluginApi", + "section": "def-common.CoreVersionedRouter", + "text": "CoreVersionedRouter" + }, + "[]; }" + ], + "path": "packages/core/http/core-http-server-internal/src/http_server.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/core-http-server-internal", + "id": "def-common.HttpServer.getRouters.$1", + "type": "Object", + "tags": [], + "label": "{ pluginId }", + "description": [], + "signature": [ + "GetRoutersOptions" + ], + "path": "packages/core/http/core-http-server-internal/src/http_server.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [] } ], "initialIsOpen": false @@ -1349,7 +1415,7 @@ "label": "HttpConfigType", "description": [], "signature": [ - "{ readonly uuid?: string | undefined; readonly basePath?: string | undefined; readonly publicBaseUrl?: string | undefined; readonly name: string; readonly ssl: Readonly<{ key?: string | undefined; certificateAuthorities?: string | string[] | undefined; certificate?: string | undefined; keyPassphrase?: string | undefined; redirectHttpFromPort?: number | undefined; } & { enabled: boolean; keystore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; truststore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; cipherSuites: string[]; supportedProtocols: string[]; clientAuthentication: \"none\" | \"optional\" | \"required\"; }>; readonly host: string; readonly compression: Readonly<{ referrerWhitelist?: string[] | undefined; } & { enabled: boolean; brotli: Readonly<{} & { enabled: boolean; quality: number; }>; }>; readonly port: number; readonly cors: Readonly<{} & { enabled: boolean; allowCredentials: boolean; allowOrigin: string[] | \"*\"[]; }>; readonly versioned: Readonly<{} & { useVersionResolutionStrategyForInternalPaths: string[]; versionResolution: \"none\" | \"oldest\" | \"newest\"; strictClientVersionCheck: boolean; }>; readonly autoListen: boolean; readonly shutdownTimeout: moment.Duration; readonly cdn: Readonly<{ url?: string | undefined; } & {}>; readonly securityResponseHeaders: Readonly<{} & { referrerPolicy: \"origin\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\" | null; strictTransportSecurity: string | null; xContentTypeOptions: \"nosniff\" | null; permissionsPolicy: string | null; disableEmbedding: boolean; crossOriginOpenerPolicy: \"same-origin\" | \"unsafe-none\" | \"same-origin-allow-popups\" | null; }>; readonly customResponseHeaders: Record; readonly maxPayload: ", + "{ readonly uuid?: string | undefined; readonly basePath?: string | undefined; readonly publicBaseUrl?: string | undefined; readonly name: string; readonly ssl: Readonly<{ key?: string | undefined; certificateAuthorities?: string | string[] | undefined; certificate?: string | undefined; keyPassphrase?: string | undefined; redirectHttpFromPort?: number | undefined; } & { enabled: boolean; keystore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; truststore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; cipherSuites: string[]; supportedProtocols: string[]; clientAuthentication: \"none\" | \"optional\" | \"required\"; }>; readonly host: string; readonly compression: Readonly<{ referrerWhitelist?: string[] | undefined; } & { enabled: boolean; brotli: Readonly<{} & { enabled: boolean; quality: number; }>; }>; readonly port: number; readonly cors: Readonly<{} & { enabled: boolean; allowCredentials: boolean; allowOrigin: string[] | \"*\"[]; }>; readonly versioned: Readonly<{} & { useVersionResolutionStrategyForInternalPaths: string[]; versionResolution: \"none\" | \"oldest\" | \"newest\"; strictClientVersionCheck: boolean; }>; readonly autoListen: boolean; readonly shutdownTimeout: moment.Duration; readonly cdn: Readonly<{ url?: string | undefined; } & {}>; readonly oas: Readonly<{} & { enabled: boolean; }>; readonly securityResponseHeaders: Readonly<{} & { referrerPolicy: \"origin\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\" | null; strictTransportSecurity: string | null; xContentTypeOptions: \"nosniff\" | null; permissionsPolicy: string | null; disableEmbedding: boolean; crossOriginOpenerPolicy: \"same-origin\" | \"unsafe-none\" | \"same-origin-allow-popups\" | null; }>; readonly customResponseHeaders: Record; readonly maxPayload: ", { "pluginId": "@kbn/config-schema", "scope": "common", diff --git a/api_docs/kbn_core_http_server_internal.mdx b/api_docs/kbn_core_http_server_internal.mdx index 2bf8029c1458e..1ae31802f8dda 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-http-server-internal'] --- import kbnCoreHttpServerInternalObj from './kbn_core_http_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 | |-------------------|-----------|------------------------|-----------------| -| 86 | 0 | 74 | 9 | +| 89 | 0 | 77 | 10 | ## Common diff --git a/api_docs/kbn_core_http_server_mocks.devdocs.json b/api_docs/kbn_core_http_server_mocks.devdocs.json index 471ad2ad2a74e..45b54fad65d91 100644 --- a/api_docs/kbn_core_http_server_mocks.devdocs.json +++ b/api_docs/kbn_core_http_server_mocks.devdocs.json @@ -27,7 +27,7 @@ "label": "createConfigService", "description": [], "signature": [ - "({ server, externalUrl, csp, }?: Partial<{ server: Partial; truststore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; cipherSuites: string[]; supportedProtocols: string[]; clientAuthentication: \"none\" | \"optional\" | \"required\"; }>; host: string; compression: Readonly<{ referrerWhitelist?: string[] | undefined; } & { enabled: boolean; brotli: Readonly<{} & { enabled: boolean; quality: number; }>; }>; port: number; cors: Readonly<{} & { enabled: boolean; allowCredentials: boolean; allowOrigin: string[] | \"*\"[]; }>; versioned: Readonly<{} & { useVersionResolutionStrategyForInternalPaths: string[]; versionResolution: \"none\" | \"oldest\" | \"newest\"; strictClientVersionCheck: boolean; }>; autoListen: boolean; shutdownTimeout: moment.Duration; cdn: Readonly<{ url?: string | undefined; } & {}>; securityResponseHeaders: Readonly<{} & { referrerPolicy: \"origin\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\" | null; strictTransportSecurity: string | null; xContentTypeOptions: \"nosniff\" | null; permissionsPolicy: string | null; disableEmbedding: boolean; crossOriginOpenerPolicy: \"same-origin\" | \"unsafe-none\" | \"same-origin-allow-popups\" | null; }>; customResponseHeaders: Record; maxPayload: ", + "({ server, externalUrl, csp, }?: Partial<{ server: Partial; truststore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; cipherSuites: string[]; supportedProtocols: string[]; clientAuthentication: \"none\" | \"optional\" | \"required\"; }>; host: string; compression: Readonly<{ referrerWhitelist?: string[] | undefined; } & { enabled: boolean; brotli: Readonly<{} & { enabled: boolean; quality: number; }>; }>; port: number; cors: Readonly<{} & { enabled: boolean; allowCredentials: boolean; allowOrigin: string[] | \"*\"[]; }>; versioned: Readonly<{} & { useVersionResolutionStrategyForInternalPaths: string[]; versionResolution: \"none\" | \"oldest\" | \"newest\"; strictClientVersionCheck: boolean; }>; autoListen: boolean; shutdownTimeout: moment.Duration; cdn: Readonly<{ url?: string | undefined; } & {}>; oas: Readonly<{} & { enabled: boolean; }>; securityResponseHeaders: Readonly<{} & { referrerPolicy: \"origin\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\" | null; strictTransportSecurity: string | null; xContentTypeOptions: \"nosniff\" | null; permissionsPolicy: string | null; disableEmbedding: boolean; crossOriginOpenerPolicy: \"same-origin\" | \"unsafe-none\" | \"same-origin-allow-popups\" | null; }>; customResponseHeaders: Record; maxPayload: ", { "pluginId": "@kbn/config-schema", "scope": "common", @@ -64,7 +64,7 @@ "label": "{\n server,\n externalUrl,\n csp,\n}", "description": [], "signature": [ - "Partial<{ server: Partial; truststore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; cipherSuites: string[]; supportedProtocols: string[]; clientAuthentication: \"none\" | \"optional\" | \"required\"; }>; host: string; compression: Readonly<{ referrerWhitelist?: string[] | undefined; } & { enabled: boolean; brotli: Readonly<{} & { enabled: boolean; quality: number; }>; }>; port: number; cors: Readonly<{} & { enabled: boolean; allowCredentials: boolean; allowOrigin: string[] | \"*\"[]; }>; versioned: Readonly<{} & { useVersionResolutionStrategyForInternalPaths: string[]; versionResolution: \"none\" | \"oldest\" | \"newest\"; strictClientVersionCheck: boolean; }>; autoListen: boolean; shutdownTimeout: moment.Duration; cdn: Readonly<{ url?: string | undefined; } & {}>; securityResponseHeaders: Readonly<{} & { referrerPolicy: \"origin\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\" | null; strictTransportSecurity: string | null; xContentTypeOptions: \"nosniff\" | null; permissionsPolicy: string | null; disableEmbedding: boolean; crossOriginOpenerPolicy: \"same-origin\" | \"unsafe-none\" | \"same-origin-allow-popups\" | null; }>; customResponseHeaders: Record; maxPayload: ", + "Partial<{ server: Partial; truststore: Readonly<{ path?: string | undefined; password?: string | undefined; } & {}>; cipherSuites: string[]; supportedProtocols: string[]; clientAuthentication: \"none\" | \"optional\" | \"required\"; }>; host: string; compression: Readonly<{ referrerWhitelist?: string[] | undefined; } & { enabled: boolean; brotli: Readonly<{} & { enabled: boolean; quality: number; }>; }>; port: number; cors: Readonly<{} & { enabled: boolean; allowCredentials: boolean; allowOrigin: string[] | \"*\"[]; }>; versioned: Readonly<{} & { useVersionResolutionStrategyForInternalPaths: string[]; versionResolution: \"none\" | \"oldest\" | \"newest\"; strictClientVersionCheck: boolean; }>; autoListen: boolean; shutdownTimeout: moment.Duration; cdn: Readonly<{ url?: string | undefined; } & {}>; oas: Readonly<{} & { enabled: boolean; }>; securityResponseHeaders: Readonly<{} & { referrerPolicy: \"origin\" | \"no-referrer\" | \"no-referrer-when-downgrade\" | \"origin-when-cross-origin\" | \"same-origin\" | \"strict-origin\" | \"strict-origin-when-cross-origin\" | \"unsafe-url\" | null; strictTransportSecurity: string | null; xContentTypeOptions: \"nosniff\" | null; permissionsPolicy: string | null; disableEmbedding: boolean; crossOriginOpenerPolicy: \"same-origin\" | \"unsafe-none\" | \"same-origin-allow-popups\" | null; }>; customResponseHeaders: Record; maxPayload: ", { "pluginId": "@kbn/config-schema", "scope": "common", @@ -131,12 +131,12 @@ }, { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-common.createHttpServer", + "id": "def-common.createHttpService", "type": "Function", "tags": [], - "label": "createHttpServer", + "label": "createHttpService", "description": [ - "\nCreates a concrete HttpServer with a mocked context." + "\nCreates a concrete HttpService with a mocked context." ], "signature": [ "({ buildNum, ...overrides }?: Partial<", @@ -150,7 +150,7 @@ "children": [ { "parentPluginId": "@kbn/core-http-server-mocks", - "id": "def-common.createHttpServer.$1", + "id": "def-common.createHttpService.$1", "type": "Object", "tags": [], "label": "{\n buildNum,\n ...overrides\n}", diff --git a/api_docs/kbn_core_http_server_mocks.mdx b/api_docs/kbn_core_http_server_mocks.mdx index aa6c5ea76933e..b42329bbe3e8e 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-17 +date: 2024-04-22 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 b57640ef93e6b..bbca6bb8438aa 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-17 +date: 2024-04-22 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 476477c3a7035..295f9211933be 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-17 +date: 2024-04-22 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 2740049cf1b72..dcb6d133f74d1 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-17 +date: 2024-04-22 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 2a55a34fe17f2..112a774056847 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-17 +date: 2024-04-22 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 7e8c8ece6e300..db54dec07bb90 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-17 +date: 2024-04-22 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 64142ea5f42aa..43fb6d2841c99 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-17 +date: 2024-04-22 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 c03f55dd28e74..764bf0898dd0f 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-17 +date: 2024-04-22 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 d55ec96322f66..f351cbc80bcf6 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-17 +date: 2024-04-22 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 7a2fef80e5919..33bfa22c35129 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-17 +date: 2024-04-22 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 93bc1fa6a5f86..dde3f98abe7f1 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-17 +date: 2024-04-22 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 95cf0710ad1df..74b2e2150c31f 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-17 +date: 2024-04-22 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 18152039522f3..a84b815761f38 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-17 +date: 2024-04-22 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 1c35e9182bd64..494bf6552b974 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-17 +date: 2024-04-22 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 9128607d12edd..160fa5e8ce197 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-17 +date: 2024-04-22 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 8e3ee1504e69a..32eee8313507b 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-17 +date: 2024-04-22 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 a3b2725b02580..355328818a0d3 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-17 +date: 2024-04-22 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 0ecf1611409c0..ac68173812d9c 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-17 +date: 2024-04-22 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 a19a636bb4bfc..6fc7c14d0fa5f 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-17 +date: 2024-04-22 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 437a88576ada9..4d011c8912ffa 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-17 +date: 2024-04-22 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 625e1dfd8db56..2e465b065e032 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-17 +date: 2024-04-22 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 96d23b57e093a..1b33ca02e3ad5 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-17 +date: 2024-04-22 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 0867dad13e10c..b166bc111d35f 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-17 +date: 2024-04-22 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 cdf8675b3e5a0..36237b9afc729 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-17 +date: 2024-04-22 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 1e4e10318e78e..59557d8c881f6 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-17 +date: 2024-04-22 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 ba4b0c7a20eb4..9347e32b4d1b0 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-17 +date: 2024-04-22 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 35232355bb1f5..eb71022960eb7 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-17 +date: 2024-04-22 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 3b2f9052809c6..5ceba06396ce1 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-17 +date: 2024-04-22 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 501c6394b3d73..b5fc0b684c077 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-17 +date: 2024-04-22 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 d24b93b2d1661..5e34e8574f6ac 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-17 +date: 2024-04-22 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 a1291bee148aa..a65d96f36ec62 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-17 +date: 2024-04-22 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 60c01ec333981..32e5f881173b1 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-17 +date: 2024-04-22 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 66ee745a5d640..50c66718f1934 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-17 +date: 2024-04-22 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 a7cd8d35f6bb1..23cf9e3e1ca3f 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-17 +date: 2024-04-22 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 26b7d2d2e3782..c185a5944fd5b 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-17 +date: 2024-04-22 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 3711c9d91e6aa..92fb9a3a98a05 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-17 +date: 2024-04-22 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 80a6e87f0c924..2c20ef3502edb 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-17 +date: 2024-04-22 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 1ae1e09cde39a..3615e23967927 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-17 +date: 2024-04-22 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 660ff974922a4..cbfa2cf1ed356 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-17 +date: 2024-04-22 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 6dd79a161f266..b15d8ce84ccdc 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-17 +date: 2024-04-22 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 28e5b5b1f2de4..4b6c05d4c63de 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-17 +date: 2024-04-22 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 64dd32ec73d69..caf6cd33a8464 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-17 +date: 2024-04-22 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 587e16df19dd7..d076119d3b36f 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-17 +date: 2024-04-22 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 c5cba8f50fa6b..49d62ef68be3e 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-17 +date: 2024-04-22 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 6815f413214a5..f72ff31d83488 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-17 +date: 2024-04-22 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 8e43a7d943aad..ad31c50249b0d 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-17 +date: 2024-04-22 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 25bc4c0c7023c..c23d74f47a9fd 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-17 +date: 2024-04-22 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 35560e6657a6f..ea7e364270278 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-api-server-mocks'] --- import kbnCoreSavedObjectsApiServerMocksObj from './kbn_core_saved_objects_api_server_mocks.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_internal.mdx b/api_docs/kbn_core_saved_objects_base_server_internal.mdx index f8f4eaaeae1df..37a7e30be9415 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/core-saved-objects-base-server-internal'] --- import kbnCoreSavedObjectsBaseServerInternalObj from './kbn_core_saved_objects_base_server_internal.devdocs.json'; diff --git a/api_docs/kbn_core_saved_objects_base_server_mocks.mdx b/api_docs/kbn_core_saved_objects_base_server_mocks.mdx index d2ed1bda3bbce..9f0090c0a5791 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-17 +date: 2024-04-22 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 8475493767503..1a42726d9fbfc 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-17 +date: 2024-04-22 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 91afdbc7db6e9..05b08badb327e 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-17 +date: 2024-04-22 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 6a5e0f5e2904b..e2418c8214f78 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-17 +date: 2024-04-22 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 748dc2359a67f..f980f3f848ed0 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-17 +date: 2024-04-22 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 23650b8d6abbb..c8c50f0fdc2fa 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-17 +date: 2024-04-22 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 0b40e7fce89d6..14ed74f6a5f40 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-17 +date: 2024-04-22 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 a87b714647b18..a10e7d0334c80 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-17 +date: 2024-04-22 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 8b5fa3c51ae77..0f82c01dbb8d4 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-17 +date: 2024-04-22 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 256d083e1e82e..caaf27d4ad56d 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-17 +date: 2024-04-22 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 a220b28a59564..4576b4cf0c817 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-17 +date: 2024-04-22 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 b1518d6dc2e68..7cbbf87c8ae33 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-17 +date: 2024-04-22 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 2850144ec5d9d..712e2f01285bd 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-17 +date: 2024-04-22 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 21a5a9bb6b905..5ab82570d5212 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-17 +date: 2024-04-22 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 ed659661024c7..0af65e743004f 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-17 +date: 2024-04-22 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 f6d5daf87f778..2ba210cab6f2e 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-17 +date: 2024-04-22 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 27aa7935fa7f9..3a7aa0433c93a 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-17 +date: 2024-04-22 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 9d4fa6c4177e5..583ebfbd80db9 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-17 +date: 2024-04-22 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 4e22dc8e3d7f9..9feb13ee325cc 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-17 +date: 2024-04-22 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 5b0279090ecab..f24476e944d18 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-17 +date: 2024-04-22 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 2208e795657eb..6411650d9514e 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-17 +date: 2024-04-22 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 b0340d98914ff..1d76c8f13940f 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-17 +date: 2024-04-22 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 204ca0c3255d2..192a785cce7fe 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-17 +date: 2024-04-22 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 7cf3dfde61ad6..c474f045c3377 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-17 +date: 2024-04-22 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 152881b78ee9e..cca79232a28be 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-17 +date: 2024-04-22 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 ecf2a0c94915b..953e33c0ea634 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-17 +date: 2024-04-22 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 4363bf8d88b9c..0545872105ddd 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-17 +date: 2024-04-22 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 cdb209c44f4f9..aa2224c7ca2cd 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-17 +date: 2024-04-22 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 0cc968f49a307..e344e354929fa 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-17 +date: 2024-04-22 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 9d3fc067e102c..e240489f4c92a 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-17 +date: 2024-04-22 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 79714c1ee0340..781d9368d8cbe 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-17 +date: 2024-04-22 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 39928caf9ab0e..4d52b1346dbe2 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-17 +date: 2024-04-22 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 cc5ee12a1caea..23f92ce292821 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-17 +date: 2024-04-22 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 e11596b1a16cf..bb9facb718ca6 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-17 +date: 2024-04-22 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 3a50960e80099..af6be9f92ba58 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-17 +date: 2024-04-22 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 91a3b4d30b394..fe21b40c8a852 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-17 +date: 2024-04-22 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 c70f77626fad9..75437fbcb0919 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-17 +date: 2024-04-22 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 2adc5a34de206..8c2c37ae6f4dd 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-17 +date: 2024-04-22 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 4b5ab3585eef8..39d5f1e711b90 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-17 +date: 2024-04-22 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 6f08ab8dbf71a..92ecd4a7fb1cb 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-17 +date: 2024-04-22 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 a8c93039dceac..54a7d391db378 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-17 +date: 2024-04-22 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 0fa5a33b3b644..7e3cfd5549a82 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-17 +date: 2024-04-22 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 0364f36716b42..b619cf558b11b 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-17 +date: 2024-04-22 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 ba5da4bca13a4..c3a486e61a482 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-17 +date: 2024-04-22 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 3d42140d27f46..d90f0372dc2ff 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-17 +date: 2024-04-22 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 292692b3391f0..9544284c35cbf 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-17 +date: 2024-04-22 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 bbef571b80434..593cf9050d972 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-17 +date: 2024-04-22 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 68c468acf41e4..0f57ee34c339b 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-17 +date: 2024-04-22 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 f9d8e894a165c..3ca4934609fa3 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-17 +date: 2024-04-22 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 08adc01d31ca1..5bd550ec663ca 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-17 +date: 2024-04-22 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 ceb31b6ab131e..7e690479a4605 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-17 +date: 2024-04-22 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 ee997d4d23cb9..943ec171cee15 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-17 +date: 2024-04-22 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 6da053c2eae75..0e3fdb4d2c3d9 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-17 +date: 2024-04-22 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 7007c521265ca..d56e38e56e76f 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-17 +date: 2024-04-22 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 e379dd09a5051..1fe34a86f041b 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-17 +date: 2024-04-22 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 7abc8815d6c87..fcf10607a9dc9 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-17 +date: 2024-04-22 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 79cefd97b1d4b..d7e2d36d167bb 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-17 +date: 2024-04-22 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 fe6e3601aa4a4..4f064c776dcaa 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-17 +date: 2024-04-22 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 fe861583676ab..16aae555b0c19 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-17 +date: 2024-04-22 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 637b13208352e..e075a832c5e97 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-17 +date: 2024-04-22 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 357af198a1792..17a6a66ea019b 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-17 +date: 2024-04-22 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 62f97980a997f..db48020e29112 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-17 +date: 2024-04-22 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 763618bb6a068..386c5ab617469 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/deeplinks-search'] --- import kbnDeeplinksSearchObj from './kbn_deeplinks_search.devdocs.json'; diff --git a/api_docs/kbn_deeplinks_security.mdx b/api_docs/kbn_deeplinks_security.mdx index 85db482efeeef..74c4b21da82b4 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-17 +date: 2024-04-22 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 9ba78360c09ac..7a516c36cdcea 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-17 +date: 2024-04-22 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 a58da45c07614..edac257c81595 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-17 +date: 2024-04-22 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 3750a024b6b46..448cdfb6090cf 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-17 +date: 2024-04-22 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 25ddf091ac63d..eff8a1253ca9e 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-17 +date: 2024-04-22 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 7468c9775959d..89f32381c0162 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-17 +date: 2024-04-22 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 a44f5bf295543..b454f4b823495 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-17 +date: 2024-04-22 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 9953a7e49f975..d701a3bc91445 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-17 +date: 2024-04-22 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 3644ca074fc41..8cfc84a58182d 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-17 +date: 2024-04-22 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 9371275d81f39..ff24bb0a7a731 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-17 +date: 2024-04-22 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 df366128350fb..397fff043500f 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/discover-utils'] --- import kbnDiscoverUtilsObj from './kbn_discover_utils.devdocs.json'; diff --git a/api_docs/kbn_doc_links.mdx b/api_docs/kbn_doc_links.mdx index 63b856be3cbd3..56f92937bdbaa 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-17 +date: 2024-04-22 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 6eb8bb396a9e9..eded8dc2dbf00 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-17 +date: 2024-04-22 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 65c7b20b67a03..ba35e84525a6a 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-17 +date: 2024-04-22 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 908a77dfba0bd..34782198e6a64 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-17 +date: 2024-04-22 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 7f76582127d47..3ce06696c4218 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-17 +date: 2024-04-22 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 65810f0f7799d..e58bcace8fdcd 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-17 +date: 2024-04-22 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.mdx b/api_docs/kbn_elastic_assistant.mdx index d8a5159ba37c4..c864662806436 100644 --- a/api_docs/kbn_elastic_assistant.mdx +++ b/api_docs/kbn_elastic_assistant.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant title: "@kbn/elastic-assistant" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant plugin -date: 2024-04-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant'] --- import kbnElasticAssistantObj from './kbn_elastic_assistant.devdocs.json'; diff --git a/api_docs/kbn_elastic_assistant_common.devdocs.json b/api_docs/kbn_elastic_assistant_common.devdocs.json index 4ce5d86b810d9..52217e8560f9f 100644 --- a/api_docs/kbn_elastic_assistant_common.devdocs.json +++ b/api_docs/kbn_elastic_assistant_common.devdocs.json @@ -701,7 +701,7 @@ "label": "AlertsInsightsPostRequestBody", "description": [], "signature": [ - "{ connectorId: string; actionTypeId: string; size: number; subAction: \"invokeAI\" | \"invokeStream\"; alertsIndexPattern: string; anonymizationFields: { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }[]; model?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }" + "{ connectorId: string; actionTypeId: string; size: number; subAction: \"invokeAI\" | \"invokeStream\"; alertsIndexPattern: string; anonymizationFields: { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }[]; langSmithProject?: string | undefined; langSmithApiKey?: string | undefined; model?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }" ], "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/insights/alerts/post_alerts_insights_route.gen.ts", "deprecated": false, @@ -716,7 +716,7 @@ "label": "AlertsInsightsPostRequestBodyInput", "description": [], "signature": [ - "{ connectorId: string; actionTypeId: string; size: number; subAction: \"invokeAI\" | \"invokeStream\"; alertsIndexPattern: string; anonymizationFields: { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }[]; model?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }" + "{ connectorId: string; actionTypeId: string; size: number; subAction: \"invokeAI\" | \"invokeStream\"; alertsIndexPattern: string; anonymizationFields: { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }[]; langSmithProject?: string | undefined; langSmithApiKey?: string | undefined; model?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }" ], "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/insights/alerts/post_alerts_insights_route.gen.ts", "deprecated": false, @@ -2314,7 +2314,7 @@ "label": "AlertsInsightsPostRequestBody", "description": [], "signature": [ - "Zod.ZodObject<{ alertsIndexPattern: Zod.ZodString; anonymizationFields: Zod.ZodArray; field: Zod.ZodString; allowed: Zod.ZodOptional; anonymized: Zod.ZodOptional; updatedAt: Zod.ZodOptional; updatedBy: Zod.ZodOptional; createdAt: Zod.ZodOptional; createdBy: Zod.ZodOptional; namespace: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }, { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }>, \"many\">; connectorId: Zod.ZodString; actionTypeId: Zod.ZodString; model: Zod.ZodOptional; replacements: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodString, \"strip\">>>; size: Zod.ZodNumber; subAction: Zod.ZodEnum<[\"invokeAI\", \"invokeStream\"]>; }, \"strip\", Zod.ZodTypeAny, { connectorId: string; actionTypeId: string; size: number; subAction: \"invokeAI\" | \"invokeStream\"; alertsIndexPattern: string; anonymizationFields: { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }[]; model?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }, { connectorId: string; actionTypeId: string; size: number; subAction: \"invokeAI\" | \"invokeStream\"; alertsIndexPattern: string; anonymizationFields: { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }[]; model?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }>" + "Zod.ZodObject<{ alertsIndexPattern: Zod.ZodString; anonymizationFields: Zod.ZodArray; field: Zod.ZodString; allowed: Zod.ZodOptional; anonymized: Zod.ZodOptional; updatedAt: Zod.ZodOptional; updatedBy: Zod.ZodOptional; createdAt: Zod.ZodOptional; createdBy: Zod.ZodOptional; namespace: Zod.ZodOptional; }, \"strip\", Zod.ZodTypeAny, { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }, { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }>, \"many\">; connectorId: Zod.ZodString; actionTypeId: Zod.ZodString; langSmithProject: Zod.ZodOptional; langSmithApiKey: Zod.ZodOptional; model: Zod.ZodOptional; replacements: Zod.ZodOptional, Zod.objectInputType<{}, Zod.ZodString, \"strip\">>>; size: Zod.ZodNumber; subAction: Zod.ZodEnum<[\"invokeAI\", \"invokeStream\"]>; }, \"strip\", Zod.ZodTypeAny, { connectorId: string; actionTypeId: string; size: number; subAction: \"invokeAI\" | \"invokeStream\"; alertsIndexPattern: string; anonymizationFields: { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }[]; langSmithProject?: string | undefined; langSmithApiKey?: string | undefined; model?: string | undefined; replacements?: Zod.objectOutputType<{}, Zod.ZodString, \"strip\"> | undefined; }, { connectorId: string; actionTypeId: string; size: number; subAction: \"invokeAI\" | \"invokeStream\"; alertsIndexPattern: string; anonymizationFields: { id: string; field: string; timestamp?: string | undefined; allowed?: boolean | undefined; anonymized?: boolean | undefined; updatedAt?: string | undefined; updatedBy?: string | undefined; createdAt?: string | undefined; createdBy?: string | undefined; namespace?: string | undefined; }[]; langSmithProject?: string | undefined; langSmithApiKey?: string | undefined; model?: string | undefined; replacements?: Zod.objectInputType<{}, Zod.ZodString, \"strip\"> | undefined; }>" ], "path": "x-pack/packages/kbn-elastic-assistant-common/impl/schemas/insights/alerts/post_alerts_insights_route.gen.ts", "deprecated": false, diff --git a/api_docs/kbn_elastic_assistant_common.mdx b/api_docs/kbn_elastic_assistant_common.mdx index 36b3f1614a112..c598f80d79455 100644 --- a/api_docs/kbn_elastic_assistant_common.mdx +++ b/api_docs/kbn_elastic_assistant_common.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-elastic-assistant-common title: "@kbn/elastic-assistant-common" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/elastic-assistant-common plugin -date: 2024-04-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/elastic-assistant-common'] --- import kbnElasticAssistantCommonObj from './kbn_elastic_assistant_common.devdocs.json'; diff --git a/api_docs/kbn_es.mdx b/api_docs/kbn_es.mdx index ffe0acd2047f8..830f9e0a2c825 100644 --- a/api_docs/kbn_es.mdx +++ b/api_docs/kbn_es.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es title: "@kbn/es" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es plugin -date: 2024-04-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es'] --- import kbnEsObj from './kbn_es.devdocs.json'; diff --git a/api_docs/kbn_es_archiver.mdx b/api_docs/kbn_es_archiver.mdx index d2d941516f835..ba775a7d95348 100644 --- a/api_docs/kbn_es_archiver.mdx +++ b/api_docs/kbn_es_archiver.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-archiver title: "@kbn/es-archiver" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-archiver plugin -date: 2024-04-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-archiver'] --- import kbnEsArchiverObj from './kbn_es_archiver.devdocs.json'; diff --git a/api_docs/kbn_es_errors.mdx b/api_docs/kbn_es_errors.mdx index 5ad3f5f7b68bb..00ae5e2439961 100644 --- a/api_docs/kbn_es_errors.mdx +++ b/api_docs/kbn_es_errors.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-errors title: "@kbn/es-errors" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-errors plugin -date: 2024-04-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-errors'] --- import kbnEsErrorsObj from './kbn_es_errors.devdocs.json'; diff --git a/api_docs/kbn_es_query.mdx b/api_docs/kbn_es_query.mdx index 889270a5ba35a..c55cebe65f6fa 100644 --- a/api_docs/kbn_es_query.mdx +++ b/api_docs/kbn_es_query.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-es-query title: "@kbn/es-query" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/es-query plugin -date: 2024-04-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-query'] --- import kbnEsQueryObj from './kbn_es_query.devdocs.json'; diff --git a/api_docs/kbn_es_types.mdx b/api_docs/kbn_es_types.mdx index cf496bc888761..17a156f3cd26f 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/es-types'] --- import kbnEsTypesObj from './kbn_es_types.devdocs.json'; diff --git a/api_docs/kbn_eslint_plugin_imports.mdx b/api_docs/kbn_eslint_plugin_imports.mdx index 228b011bfb07c..ecdcc8d888d11 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-17 +date: 2024-04-22 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 2dac6f0d99d5c..a9aaaf74b93b3 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-17 +date: 2024-04-22 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 851271dfc2d51..18fc0cfa8de0e 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-17 +date: 2024-04-22 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 3ad8a206d358e..8dc27cb036144 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-17 +date: 2024-04-22 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 5e7bd5f66ec04..16684a50a767f 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-17 +date: 2024-04-22 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 3397288fc4aef..52324e1a996f0 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-17 +date: 2024-04-22 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 304d0ecf70e15..157c6b64383cc 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-17 +date: 2024-04-22 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 4343cf8f8d017..41fa205d2d1da 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-17 +date: 2024-04-22 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 a72eedd315ece..aa4256a5784de 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-17 +date: 2024-04-22 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 8094c097303e5..0c97db0cb317b 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-17 +date: 2024-04-22 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 af5847aedf15e..1da588f8aac3b 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-17 +date: 2024-04-22 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 fcdb7784b5adb..d4439ac32d846 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-17 +date: 2024-04-22 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 90e6bac54d223..b3fa16b309ee2 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-17 +date: 2024-04-22 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 86797a6232e18..92026dff7d8b7 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-17 +date: 2024-04-22 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 7b9f09ee4878c..f3a47754a579c 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-17 +date: 2024-04-22 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 e657bf9ddc5de..69e89cffca504 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-17 +date: 2024-04-22 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 1792022f644c4..b802f26c598d4 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-17 +date: 2024-04-22 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 5918ea5d07886..d561e59a7d9df 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-17 +date: 2024-04-22 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 9abcde27201c3..aa3d2e3d7ad94 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-17 +date: 2024-04-22 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 4687b299db923..be34ef2475e0b 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-17 +date: 2024-04-22 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 d98813f6260cc..00f901d9ed76a 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-17 +date: 2024-04-22 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 a09e0901ebf5a..34630d59b21df 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-17 +date: 2024-04-22 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 1da1830342e20..659c504405d82 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-17 +date: 2024-04-22 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 6b400015fd31b..2e572c3694a88 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-17 +date: 2024-04-22 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 43f85861f3ba4..6af5cac260535 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/import-resolver'] --- import kbnImportResolverObj from './kbn_import_resolver.devdocs.json'; diff --git a/api_docs/kbn_index_management.devdocs.json b/api_docs/kbn_index_management.devdocs.json index 710b81245c2cf..2d7019685e48e 100644 --- a/api_docs/kbn_index_management.devdocs.json +++ b/api_docs/kbn_index_management.devdocs.json @@ -1806,293 +1806,6 @@ } ], "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.SetupDependencies", - "type": "Interface", - "tags": [], - "label": "SetupDependencies", - "description": [], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.SetupDependencies.fleet", - "type": "Unknown", - "tags": [], - "label": "fleet", - "description": [], - "signature": [ - "unknown" - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.SetupDependencies.usageCollection", - "type": "Object", - "tags": [], - "label": "usageCollection", - "description": [], - "signature": [ - { - "pluginId": "usageCollection", - "scope": "public", - "docId": "kibUsageCollectionPluginApi", - "section": "def-public.UsageCollectionSetup", - "text": "UsageCollectionSetup" - } - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.SetupDependencies.management", - "type": "Object", - "tags": [], - "label": "management", - "description": [], - "signature": [ - { - "pluginId": "management", - "scope": "public", - "docId": "kibManagementPluginApi", - "section": "def-public.ManagementSetup", - "text": "ManagementSetup" - } - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.SetupDependencies.share", - "type": "CompoundType", - "tags": [], - "label": "share", - "description": [], - "signature": [ - "{ register: (shareMenuProvider: ", - { - "pluginId": "share", - "scope": "public", - "docId": "kibSharePluginApi", - "section": "def-public.ShareMenuProvider", - "text": "ShareMenuProvider" - }, - ") => void; } & { url: ", - { - "pluginId": "share", - "scope": "public", - "docId": "kibSharePluginApi", - "section": "def-public.BrowserUrlService", - "text": "BrowserUrlService" - }, - "; navigate(options: ", - "RedirectOptions", - "<", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - ">): void; setAnonymousAccessServiceProvider: (provider: () => ", - { - "pluginId": "share", - "scope": "common", - "docId": "kibSharePluginApi", - "section": "def-common.AnonymousAccessServiceContract", - "text": "AnonymousAccessServiceContract" - }, - ") => void; isNewVersion: () => boolean; }" - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.SetupDependencies.cloud", - "type": "Object", - "tags": [], - "label": "cloud", - "description": [], - "signature": [ - { - "pluginId": "cloud", - "scope": "public", - "docId": "kibCloudPluginApi", - "section": "def-public.CloudSetup", - "text": "CloudSetup" - }, - " | undefined" - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.StartDependencies", - "type": "Interface", - "tags": [], - "label": "StartDependencies", - "description": [], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.StartDependencies.cloud", - "type": "Object", - "tags": [], - "label": "cloud", - "description": [], - "signature": [ - { - "pluginId": "cloud", - "scope": "public", - "docId": "kibCloudPluginApi", - "section": "def-public.CloudSetup", - "text": "CloudSetup" - }, - " | undefined" - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.StartDependencies.console", - "type": "Object", - "tags": [], - "label": "console", - "description": [], - "signature": [ - { - "pluginId": "console", - "scope": "public", - "docId": "kibConsolePluginApi", - "section": "def-public.ConsolePluginStart", - "text": "ConsolePluginStart" - }, - " | undefined" - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.StartDependencies.share", - "type": "CompoundType", - "tags": [], - "label": "share", - "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" - }, - "; navigate(options: ", - "RedirectOptions", - "<", - { - "pluginId": "@kbn/utility-types", - "scope": "common", - "docId": "kibKbnUtilityTypesPluginApi", - "section": "def-common.SerializableRecord", - "text": "SerializableRecord" - }, - ">): void; }" - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.StartDependencies.fleet", - "type": "Unknown", - "tags": [], - "label": "fleet", - "description": [], - "signature": [ - "unknown" - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.StartDependencies.usageCollection", - "type": "Object", - "tags": [], - "label": "usageCollection", - "description": [], - "signature": [ - { - "pluginId": "usageCollection", - "scope": "public", - "docId": "kibUsageCollectionPluginApi", - "section": "def-public.UsageCollectionSetup", - "text": "UsageCollectionSetup" - } - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/index-management", - "id": "def-common.StartDependencies.management", - "type": "Object", - "tags": [], - "label": "management", - "description": [], - "signature": [ - { - "pluginId": "management", - "scope": "public", - "docId": "kibManagementPluginApi", - "section": "def-public.ManagementSetup", - "text": "ManagementSetup" - } - ], - "path": "x-pack/packages/index-management/src/types.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false } ], "enums": [ diff --git a/api_docs/kbn_index_management.mdx b/api_docs/kbn_index_management.mdx index ddfa8d993261b..df5cd888d197e 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/index-management'] --- import kbnIndexManagementObj from './kbn_index_management.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 | |-------------------|-----------|------------------------|-----------------| -| 122 | 3 | 122 | 0 | +| 109 | 3 | 109 | 0 | ## Common diff --git a/api_docs/kbn_inference_integration_flyout.devdocs.json b/api_docs/kbn_inference_integration_flyout.devdocs.json new file mode 100644 index 0000000000000..1e148d80c696c --- /dev/null +++ b/api_docs/kbn_inference_integration_flyout.devdocs.json @@ -0,0 +1,138 @@ +{ + "id": "@kbn/inference_integration_flyout", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/inference_integration_flyout", + "id": "def-common.ElandPythonClient", + "type": "Function", + "tags": [], + "label": "ElandPythonClient", + "description": [], + "signature": [ + "({ supportedNlpModels, nlpImportModel }: React.PropsWithChildren<{ supportedNlpModels: string; nlpImportModel: string; }>) => JSX.Element" + ], + "path": "x-pack/packages/ml/inference_integration_flyout/components/eland_python_client.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/inference_integration_flyout", + "id": "def-common.ElandPythonClient.$1", + "type": "CompoundType", + "tags": [], + "label": "{ supportedNlpModels, nlpImportModel }", + "description": [], + "signature": [ + "React.PropsWithChildren<{ supportedNlpModels: string; nlpImportModel: string; }>" + ], + "path": "x-pack/packages/ml/inference_integration_flyout/components/eland_python_client.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + }, + { + "parentPluginId": "@kbn/inference_integration_flyout", + "id": "def-common.InferenceFlyoutWrapper", + "type": "Function", + "tags": [], + "label": "InferenceFlyoutWrapper", + "description": [], + "signature": [ + "({ onSaveInferenceEndpoint, onFlyoutClose, isInferenceFlyoutVisible, e5documentationUrl, elserv2documentationUrl, supportedNlpModels, nlpImportModel, errorCallout, trainedModels, isCreateInferenceApiLoading, onInferenceEndpointChange, inferenceEndpointError, setInferenceEndpointError, }: React.PropsWithChildren<", + "InferenceFlyoutProps", + ">) => JSX.Element" + ], + "path": "x-pack/packages/ml/inference_integration_flyout/components/inference_flyout_wrapper.tsx", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/inference_integration_flyout", + "id": "def-common.InferenceFlyoutWrapper.$1", + "type": "CompoundType", + "tags": [], + "label": "{\n onSaveInferenceEndpoint,\n onFlyoutClose,\n isInferenceFlyoutVisible,\n e5documentationUrl = '',\n elserv2documentationUrl = '',\n supportedNlpModels = '',\n nlpImportModel = '',\n errorCallout,\n trainedModels = [],\n isCreateInferenceApiLoading,\n onInferenceEndpointChange,\n inferenceEndpointError = undefined,\n setInferenceEndpointError,\n}", + "description": [], + "signature": [ + "React.PropsWithChildren<", + "InferenceFlyoutProps", + ">" + ], + "path": "x-pack/packages/ml/inference_integration_flyout/components/inference_flyout_wrapper.tsx", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [ + { + "parentPluginId": "@kbn/inference_integration_flyout", + "id": "def-common.ModelConfig", + "type": "Interface", + "tags": [], + "label": "ModelConfig", + "description": [], + "path": "x-pack/packages/ml/inference_integration_flyout/types.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/inference_integration_flyout", + "id": "def-common.ModelConfig.service", + "type": "string", + "tags": [], + "label": "service", + "description": [], + "path": "x-pack/packages/ml/inference_integration_flyout/types.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/inference_integration_flyout", + "id": "def-common.ModelConfig.service_settings", + "type": "Any", + "tags": [], + "label": "service_settings", + "description": [], + "signature": [ + "any" + ], + "path": "x-pack/packages/ml/inference_integration_flyout/types.ts", + "deprecated": false, + "trackAdoption": false + } + ], + "initialIsOpen": false + } + ], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_inference_integration_flyout.mdx b/api_docs/kbn_inference_integration_flyout.mdx new file mode 100644 index 0000000000000..d2d9af639ee12 --- /dev/null +++ b/api_docs/kbn_inference_integration_flyout.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: kibKbnInferenceIntegrationFlyoutPluginApi +slug: /kibana-dev-docs/api/kbn-inference_integration_flyout +title: "@kbn/inference_integration_flyout" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/inference_integration_flyout plugin +date: 2024-04-22 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/inference_integration_flyout'] +--- +import kbnInferenceIntegrationFlyoutObj from './kbn_inference_integration_flyout.devdocs.json'; + + + +Contact [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 7 | 1 | 7 | 1 | + +## Common + +### Functions + + +### Interfaces + + diff --git a/api_docs/kbn_infra_forge.mdx b/api_docs/kbn_infra_forge.mdx index d63823f76d482..7f68061da792f 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-17 +date: 2024-04-22 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 4368d96ab2ca8..5e08def8a30a8 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-17 +date: 2024-04-22 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 0aa76880be661..23c058b227d70 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-17 +date: 2024-04-22 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.mdx b/api_docs/kbn_ipynb.mdx index 192b023f2e202..76a3d0efd0e92 100644 --- a/api_docs/kbn_ipynb.mdx +++ b/api_docs/kbn_ipynb.mdx @@ -8,7 +8,7 @@ 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/ipynb'] --- import kbnIpynbObj from './kbn_ipynb.devdocs.json'; diff --git a/api_docs/kbn_jest_serializers.mdx b/api_docs/kbn_jest_serializers.mdx index 05c21f7be59fb..2c2825b3fefbe 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-17 +date: 2024-04-22 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 183646755f4a4..91b60022c45ad 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-17 +date: 2024-04-22 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 38974182a8708..8fcbda9d0e98c 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-17 +date: 2024-04-22 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 c45113fff4301..72b0bfb24c21c 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-17 +date: 2024-04-22 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 1d45fce123ea6..621190c0a0899 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-17 +date: 2024-04-22 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 b6037cba19948..1e222ce4ae08e 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-17 +date: 2024-04-22 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 560f55dd4379f..35981cd1b57be 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-17 +date: 2024-04-22 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 a1c443872f139..967301c3f398b 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-17 +date: 2024-04-22 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 11280f4c2af7f..101f96d3569f6 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-17 +date: 2024-04-22 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 bb3f4cd72ddd6..b7bcfd7b29b3e 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-17 +date: 2024-04-22 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 5ea9003f81218..f1db6ad2c0333 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-17 +date: 2024-04-22 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 066e147bfdb7a..5edf8f887fc28 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-17 +date: 2024-04-22 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 01aed4979d735..c982c5d9ce061 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-17 +date: 2024-04-22 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 5537ee845307f..e58b4a5bf902c 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-17 +date: 2024-04-22 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 ee38790fcf884..64e31d89da16a 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-17 +date: 2024-04-22 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 f2fb56c2737d3..8a8d7a529bb3c 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-17 +date: 2024-04-22 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 bc5fcca84b660..ade3c378503c7 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-17 +date: 2024-04-22 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 687cf1b2d111d..3b7be2bdc48dd 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-17 +date: 2024-04-22 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 83507fb7f9a1e..4d0c91ac31406 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-17 +date: 2024-04-22 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 3a1d223953323..03fa36775e70b 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-17 +date: 2024-04-22 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 785e29e9bc6ca..dd45829c38ab7 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-17 +date: 2024-04-22 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 6db890bdd7844..0e04e1480d4b1 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-17 +date: 2024-04-22 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 959fc52229a36..2198345472c4b 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-17 +date: 2024-04-22 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 94ab929c16fcb..07e296b86e9de 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-17 +date: 2024-04-22 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 d51544c28d571..7c38534e2b476 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-17 +date: 2024-04-22 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 1482be360852c..7eba069013be2 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-17 +date: 2024-04-22 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 3b672d55cd537..4a19d09c3efca 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-17 +date: 2024-04-22 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 d07cf09502a28..c0c5f9ac53c88 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-17 +date: 2024-04-22 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 7ea756c992cf6..f3c466d5d6d2c 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-17 +date: 2024-04-22 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 0de45aae63f66..d907a7e6fe692 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-17 +date: 2024-04-22 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 55b421fe2bcbf..36b2638a87bf2 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-17 +date: 2024-04-22 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 9b962365c3656..9d995f1c03e9f 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-17 +date: 2024-04-22 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 144687e5c6e8e..fa1a2a4b7cde2 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-17 +date: 2024-04-22 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 393f4e44ac5e5..83df316c4f5bb 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-17 +date: 2024-04-22 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 2a06e335d9317..3b67e26891a27 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-17 +date: 2024-04-22 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 9dff5f9e8afc9..ae4820e64aaf4 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-17 +date: 2024-04-22 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 d5713f3fb1b72..0be1fd3a86799 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-17 +date: 2024-04-22 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 f82dc98f780ee..caaee52ecbe5e 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-17 +date: 2024-04-22 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 82f0767164afe..610e4cfe322f7 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-17 +date: 2024-04-22 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 e26c42bb0dea0..70fefcf97ea3d 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-17 +date: 2024-04-22 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 b5156f25bb3e4..f1c48211d33db 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-17 +date: 2024-04-22 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 7a7755812731e..a6576a39a5201 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-17 +date: 2024-04-22 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 860c63f6ffd03..8bf32d294ce64 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-17 +date: 2024-04-22 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 ea50297f027ff..4bc6e1997bf5a 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-17 +date: 2024-04-22 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 dddb004f3e5f2..2e551653edd48 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-17 +date: 2024-04-22 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 329b45b47d039..d35edfb945af5 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-17 +date: 2024-04-22 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 51105aeeeec3d..c8aec49e6e075 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-17 +date: 2024-04-22 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 fd9d65e9592bc..640889e5735c4 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-17 +date: 2024-04-22 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.devdocs.json b/api_docs/kbn_ml_trained_models_utils.devdocs.json index 6b1cb2fe6a277..2a26c0d6bcd6d 100644 --- a/api_docs/kbn_ml_trained_models_utils.devdocs.json +++ b/api_docs/kbn_ml_trained_models_utils.devdocs.json @@ -384,7 +384,7 @@ "label": "InferenceAPIConfigResponse", "description": [], "signature": [ - "{ model_id: string; task_type: \"text_embedding\" | \"sparse_embedding\"; task_settings: { model?: string | undefined; }; } & ", + "{ model_id: string; task_type: \"sparse_embedding\" | \"text_embedding\"; task_settings: { model?: string | undefined; }; } & ", "InferenceServiceSettings" ], "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", @@ -437,7 +437,7 @@ "label": "SupportedPytorchTasksType", "description": [], "signature": [ - "\"text_expansion\" | \"ner\" | \"question_answering\" | \"zero_shot_classification\" | \"text_classification\" | \"text_embedding\" | \"fill_mask\"" + "\"text_embedding\" | \"text_expansion\" | \"ner\" | \"question_answering\" | \"zero_shot_classification\" | \"text_classification\" | \"fill_mask\"" ], "path": "x-pack/packages/ml/trained_models_utils/src/constants/trained_models.ts", "deprecated": false, diff --git a/api_docs/kbn_ml_trained_models_utils.mdx b/api_docs/kbn_ml_trained_models_utils.mdx index a83ef3a95e3cd..a4fb8b2229ed4 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-17 +date: 2024-04-22 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 a525de7cb2bf2..01772aa46a07c 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-17 +date: 2024-04-22 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 7fb28c3294cb0..5021c91ee4bf1 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-17 +date: 2024-04-22 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 4ce6dd0612e51..f71ca87a7a4ae 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-17 +date: 2024-04-22 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 a16c21d0c8916..5f6a285c3e3fa 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-17 +date: 2024-04-22 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 4acd32f010e46..7df08a843f52d 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-17 +date: 2024-04-22 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 68facc40b58d8..24fdd4abbbfd9 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-17 +date: 2024-04-22 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 3c0bcf54f40e8..e3ae4c5318f7f 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-17 +date: 2024-04-22 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 19cbfaf675e0b..fa5d08d135c0e 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-17 +date: 2024-04-22 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 b73955880f039..a5eac2acc3884 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-17 +date: 2024-04-22 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 b4b90f9225f74..f6bea9f83ca8e 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-17 +date: 2024-04-22 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 3b1d3759c82c5..704979afc4a71 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-17 +date: 2024-04-22 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 399f3e35d7b95..120250aac9a0b 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-17 +date: 2024-04-22 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 2ddcfbc139626..46c09b2a4b5a2 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-17 +date: 2024-04-22 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 d7f5c32db5a27..53588de2a14a7 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-17 +date: 2024-04-22 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 f21101cc2f13c..67379a7ed72b0 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-17 +date: 2024-04-22 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 df92e2496b50d..acea3780d532c 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-17 +date: 2024-04-22 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 191de858dafd3..ca55595a840a1 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-17 +date: 2024-04-22 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 8b59c5320f716..8972f7de27055 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-17 +date: 2024-04-22 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 02e7e998bf046..27f6c03869dd4 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/presentation-containers'] --- import kbnPresentationContainersObj from './kbn_presentation_containers.devdocs.json'; diff --git a/api_docs/kbn_presentation_publishing.mdx b/api_docs/kbn_presentation_publishing.mdx index c4e6ac3a3f52a..2e6071bac78e9 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/presentation-publishing'] --- import kbnPresentationPublishingObj from './kbn_presentation_publishing.devdocs.json'; diff --git a/api_docs/kbn_profiling_utils.mdx b/api_docs/kbn_profiling_utils.mdx index d48b8c05dde31..7026ead4b7c8c 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-17 +date: 2024-04-22 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 d4e82240f8b72..0363a385cf7b1 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-17 +date: 2024-04-22 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 78374b36e4eb1..a99dad3cda390 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-17 +date: 2024-04-22 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 f87be78f2534b..05f498fae1e58 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-17 +date: 2024-04-22 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 19d81ac717c1d..2fcc8b2fa5737 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-17 +date: 2024-04-22 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 ffffff8cceb4b..9ce7dc7b7d85d 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-17 +date: 2024-04-22 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 ec5fc3311f240..477fce4a8f6d0 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-17 +date: 2024-04-22 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 6c222d353ebb6..574df4c77cb79 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-17 +date: 2024-04-22 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 7f3bbdd716f68..49416d988ecca 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-17 +date: 2024-04-22 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 ab4c7fc8fc4a5..5b5f6ecbae873 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-17 +date: 2024-04-22 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 b7d7ada71901a..91767bfaf5b0e 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-17 +date: 2024-04-22 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 c07c0e05061c0..2187d7bf0d58d 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-17 +date: 2024-04-22 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 e81a1228a5e00..05906308ccb12 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-17 +date: 2024-04-22 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 f7135862e4fdd..44dfcd3bccac2 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-common'] --- import kbnReportingCommonObj from './kbn_reporting_common.devdocs.json'; diff --git a/api_docs/kbn_reporting_csv_share_panel.mdx b/api_docs/kbn_reporting_csv_share_panel.mdx index 9120d1c9d5c37..00d6700c162f6 100644 --- a/api_docs/kbn_reporting_csv_share_panel.mdx +++ b/api_docs/kbn_reporting_csv_share_panel.mdx @@ -8,7 +8,7 @@ slug: /kibana-dev-docs/api/kbn-reporting-csv-share-panel title: "@kbn/reporting-csv-share-panel" image: https://source.unsplash.com/400x175/?github description: API docs for the @kbn/reporting-csv-share-panel plugin -date: 2024-04-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/reporting-csv-share-panel'] --- import kbnReportingCsvSharePanelObj from './kbn_reporting_csv_share_panel.devdocs.json'; diff --git a/api_docs/kbn_reporting_export_types_csv.mdx b/api_docs/kbn_reporting_export_types_csv.mdx index 1bf95561c3c35..a493b26d847f0 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-17 +date: 2024-04-22 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 0f80d211f844a..934bde7da0d82 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-17 +date: 2024-04-22 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 3fe11c6402226..34e2fc33bc059 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-17 +date: 2024-04-22 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 289958af3f18a..37a7a05b963d1 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-17 +date: 2024-04-22 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 0442206dd8dbd..9abfeaf8f94c4 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-17 +date: 2024-04-22 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 8903d7c5df407..ee085779e6fd5 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-17 +date: 2024-04-22 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 acea8808dcc4b..1dce4e400fb3f 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-17 +date: 2024-04-22 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 c8121ecbc02ab..b522c0dd349e1 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-17 +date: 2024-04-22 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 be675fc227c84..9f15f082f3b3e 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-17 +date: 2024-04-22 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 1ceeed34c1366..58f055d237c67 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-17 +date: 2024-04-22 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 b4bfa43b86173..5a4723b26c30e 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/rison'] --- import kbnRisonObj from './kbn_rison.devdocs.json'; diff --git a/api_docs/kbn_router_to_openapispec.devdocs.json b/api_docs/kbn_router_to_openapispec.devdocs.json new file mode 100644 index 0000000000000..c7fb0ec866aad --- /dev/null +++ b/api_docs/kbn_router_to_openapispec.devdocs.json @@ -0,0 +1,140 @@ +{ + "id": "@kbn/router-to-openapispec", + "client": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "server": { + "classes": [], + "functions": [], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + }, + "common": { + "classes": [], + "functions": [ + { + "parentPluginId": "@kbn/router-to-openapispec", + "id": "def-common.generateOpenApiDocument", + "type": "Function", + "tags": [], + "label": "generateOpenApiDocument", + "description": [], + "signature": [ + "(appRouters: { routers: ", + "Router", + "<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RequestHandlerContextBase", + "text": "RequestHandlerContextBase" + }, + ">[]; versionedRouters: ", + { + "pluginId": "@kbn/core-http-router-server-internal", + "scope": "common", + "docId": "kibKbnCoreHttpRouterServerInternalPluginApi", + "section": "def-common.CoreVersionedRouter", + "text": "CoreVersionedRouter" + }, + "[]; }, opts: ", + "GenerateOpenApiDocumentOptions", + ") => ", + "OpenAPIV3", + ".Document<{}>" + ], + "path": "packages/kbn-router-to-openapispec/src/generate_oas.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/router-to-openapispec", + "id": "def-common.generateOpenApiDocument.$1", + "type": "Object", + "tags": [], + "label": "appRouters", + "description": [], + "path": "packages/kbn-router-to-openapispec/src/generate_oas.ts", + "deprecated": false, + "trackAdoption": false, + "children": [ + { + "parentPluginId": "@kbn/router-to-openapispec", + "id": "def-common.generateOpenApiDocument.$1.routers", + "type": "Array", + "tags": [], + "label": "routers", + "description": [], + "signature": [ + "Router", + "<", + { + "pluginId": "@kbn/core-http-server", + "scope": "common", + "docId": "kibKbnCoreHttpServerPluginApi", + "section": "def-common.RequestHandlerContextBase", + "text": "RequestHandlerContextBase" + }, + ">[]" + ], + "path": "packages/kbn-router-to-openapispec/src/generate_oas.ts", + "deprecated": false, + "trackAdoption": false + }, + { + "parentPluginId": "@kbn/router-to-openapispec", + "id": "def-common.generateOpenApiDocument.$1.versionedRouters", + "type": "Array", + "tags": [], + "label": "versionedRouters", + "description": [], + "signature": [ + { + "pluginId": "@kbn/core-http-router-server-internal", + "scope": "common", + "docId": "kibKbnCoreHttpRouterServerInternalPluginApi", + "section": "def-common.CoreVersionedRouter", + "text": "CoreVersionedRouter" + }, + "[]" + ], + "path": "packages/kbn-router-to-openapispec/src/generate_oas.ts", + "deprecated": false, + "trackAdoption": false + } + ] + }, + { + "parentPluginId": "@kbn/router-to-openapispec", + "id": "def-common.generateOpenApiDocument.$2", + "type": "Object", + "tags": [], + "label": "opts", + "description": [], + "signature": [ + "GenerateOpenApiDocumentOptions" + ], + "path": "packages/kbn-router-to-openapispec/src/generate_oas.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true + } + ], + "returnComment": [], + "initialIsOpen": false + } + ], + "interfaces": [], + "enums": [], + "misc": [], + "objects": [] + } +} \ No newline at end of file diff --git a/api_docs/kbn_router_to_openapispec.mdx b/api_docs/kbn_router_to_openapispec.mdx new file mode 100644 index 0000000000000..39f466d6d1bad --- /dev/null +++ b/api_docs/kbn_router_to_openapispec.mdx @@ -0,0 +1,30 @@ +--- +#### +#### This document is auto-generated and is meant to be viewed inside our experimental, new docs system. +#### Reach out in #docs-engineering for more info. +#### +id: kibKbnRouterToOpenapispecPluginApi +slug: /kibana-dev-docs/api/kbn-router-to-openapispec +title: "@kbn/router-to-openapispec" +image: https://source.unsplash.com/400x175/?github +description: API docs for the @kbn/router-to-openapispec plugin +date: 2024-04-22 +tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/router-to-openapispec'] +--- +import kbnRouterToOpenapispecObj from './kbn_router_to_openapispec.devdocs.json'; + + + +Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) for questions regarding this plugin. + +**Code health stats** + +| Public API count | Any count | Items lacking comments | Missing exports | +|-------------------|-----------|------------------------|-----------------| +| 5 | 0 | 5 | 1 | + +## Common + +### Functions + + diff --git a/api_docs/kbn_router_utils.mdx b/api_docs/kbn_router_utils.mdx index 38e4d8073ddac..d308921e35a79 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-17 +date: 2024-04-22 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 4af1f8b6f2a5e..b8affccb78323 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-17 +date: 2024-04-22 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 965caf1cd2d77..2f4722b7c53d2 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-17 +date: 2024-04-22 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 4ba102ae80397..0da4142fce3ba 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-17 +date: 2024-04-22 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.mdx b/api_docs/kbn_search_api_panels.mdx index d4cf1a77e1d1f..610be06e525d2 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-17 +date: 2024-04-22 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.mdx b/api_docs/kbn_search_connectors.mdx index 0267311c2a181..10f24af23aa94 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/search-connectors'] --- import kbnSearchConnectorsObj from './kbn_search_connectors.devdocs.json'; diff --git a/api_docs/kbn_search_errors.mdx b/api_docs/kbn_search_errors.mdx index d44799758291b..6e2fe30c50db9 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-17 +date: 2024-04-22 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 c43f8557001e9..fdbf74e35f801 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-17 +date: 2024-04-22 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 78a2bf116cfab..b297c9363607e 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-17 +date: 2024-04-22 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 9e3572ff11f8b..cb15e584cccc7 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-17 +date: 2024-04-22 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 641370473533c..d560a5a72c214 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-17 +date: 2024-04-22 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 a65918e7df6f8..3902690ecee79 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-17 +date: 2024-04-22 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 984f3d0f85898..015db0d76cf77 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-17 +date: 2024-04-22 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 2e5024b217979..f12e9b6201a82 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-17 +date: 2024-04-22 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.mdx b/api_docs/kbn_security_solution_navigation.mdx index 8103439703027..1934efbf8b922 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-navigation'] --- import kbnSecuritySolutionNavigationObj from './kbn_security_solution_navigation.devdocs.json'; diff --git a/api_docs/kbn_security_solution_side_nav.mdx b/api_docs/kbn_security_solution_side_nav.mdx index 8f7651a9f2740..e5d1e1bc01aa8 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-17 +date: 2024-04-22 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 cf4d166b9e57e..c1c9536cd085a 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/security-solution-storybook-config'] --- import kbnSecuritySolutionStorybookConfigObj from './kbn_security_solution_storybook_config.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_autocomplete.mdx b/api_docs/kbn_securitysolution_autocomplete.mdx index 18f307a53dc66..f0e9d19742ee0 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-17 +date: 2024-04-22 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 87cdc200ee90e..9789427b1fa13 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-17 +date: 2024-04-22 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 b007d4e6fbd9e..be82e2fcf849f 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-17 +date: 2024-04-22 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 770c1ba29cbde..d2fa8c47fb108 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-es-utils'] --- import kbnSecuritysolutionEsUtilsObj from './kbn_securitysolution_es_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_exception_list_components.mdx b/api_docs/kbn_securitysolution_exception_list_components.mdx index da5ea2003e306..e70deaee8bd2f 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-exception-list-components'] --- import kbnSecuritysolutionExceptionListComponentsObj from './kbn_securitysolution_exception_list_components.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_grouping.mdx b/api_docs/kbn_securitysolution_grouping.mdx index 7c5e54b2bf0b3..619bf18ba6c91 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-17 +date: 2024-04-22 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 c455bd25eeaeb..042bc7346f77f 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-17 +date: 2024-04-22 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 9907505ca8684..e3e8197f00bdf 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-alerting-types'] --- import kbnSecuritysolutionIoTsAlertingTypesObj from './kbn_securitysolution_io_ts_alerting_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_list_types.mdx b/api_docs/kbn_securitysolution_io_ts_list_types.mdx index 8c4d38e6c3da3..adf6979899b83 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-list-types'] --- import kbnSecuritysolutionIoTsListTypesObj from './kbn_securitysolution_io_ts_list_types.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_io_ts_types.mdx b/api_docs/kbn_securitysolution_io_ts_types.mdx index 0d87890ad6805..51f1a13b2e208 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-17 +date: 2024-04-22 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 c337e5d257a8e..9255ff74f00c7 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-io-ts-utils'] --- import kbnSecuritysolutionIoTsUtilsObj from './kbn_securitysolution_io_ts_utils.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_api.mdx b/api_docs/kbn_securitysolution_list_api.mdx index c4140332b0603..a319386b18fc8 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-api'] --- import kbnSecuritysolutionListApiObj from './kbn_securitysolution_list_api.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_constants.mdx b/api_docs/kbn_securitysolution_list_constants.mdx index f6c00ee50b6e6..498cebabac5ab 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-constants'] --- import kbnSecuritysolutionListConstantsObj from './kbn_securitysolution_list_constants.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_hooks.mdx b/api_docs/kbn_securitysolution_list_hooks.mdx index 2375040bf7915..d092a903a5f88 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/securitysolution-list-hooks'] --- import kbnSecuritysolutionListHooksObj from './kbn_securitysolution_list_hooks.devdocs.json'; diff --git a/api_docs/kbn_securitysolution_list_utils.mdx b/api_docs/kbn_securitysolution_list_utils.mdx index a50e2ae60bc63..fe7989a71f56c 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-17 +date: 2024-04-22 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 aa57de04d29f2..a2dfb8db6b81f 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-17 +date: 2024-04-22 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 1f5afff376fb8..a286558d1ecf7 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-17 +date: 2024-04-22 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 6914b4b72f47e..1b7adda85adc3 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-17 +date: 2024-04-22 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 6678bb952bd7b..0f089b83cd549 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-17 +date: 2024-04-22 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 17bfa80d2b43f..3f2d3d273b8b7 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-17 +date: 2024-04-22 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 f7d568737833e..a93fc36b133ac 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-17 +date: 2024-04-22 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 ae145959d8769..21a711a48a4fd 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-17 +date: 2024-04-22 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 a46acd20ba45c..9d4c1be6afabc 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-17 +date: 2024-04-22 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 73c883e01facf..d48f4578bc9dc 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-17 +date: 2024-04-22 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 12a8e91d4260b..6eab7a77525f0 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-17 +date: 2024-04-22 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 bb902a43c3c3e..2f1713c2b52d6 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-17 +date: 2024-04-22 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 8a8c2f35c5115..d481dc532bcbc 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-17 +date: 2024-04-22 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 4a819c28a92aa..2dc9cf7cb8fa0 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-17 +date: 2024-04-22 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 96b6d40cc0dec..eeb8477238ea0 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-17 +date: 2024-04-22 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 4f3ee763b0b77..0a424efd61d8a 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-17 +date: 2024-04-22 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 d9f179f963f90..0abb26d7e00ca 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-17 +date: 2024-04-22 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 73498e37dddde..2e772ecba2d68 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-17 +date: 2024-04-22 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 374f5efce8c5a..41ea86a8f0094 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-17 +date: 2024-04-22 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 3c9deaaa65d63..ec243de7e47b9 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-17 +date: 2024-04-22 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 bdd4589c6a31c..92b8a2a3600da 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-17 +date: 2024-04-22 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 4075cf56b0ebe..31107113b8ba4 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-17 +date: 2024-04-22 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 7e714868b7f34..b5c2b857db2e6 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-17 +date: 2024-04-22 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 f7031d2072e83..fadefd7703b9e 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-17 +date: 2024-04-22 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 73181fd243176..8d5b208e2953b 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-17 +date: 2024-04-22 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 74f685b476078..093b46648d30d 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-17 +date: 2024-04-22 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 9fcf6b0de8955..4a0988334c25d 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-17 +date: 2024-04-22 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 aabc6034727e5..a1d54e659240f 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-17 +date: 2024-04-22 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 7f9da82be7ad1..53c138a5c29aa 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-17 +date: 2024-04-22 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 c7377c26d0ab2..6bc6b7502c5e5 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-17 +date: 2024-04-22 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 db33af0d18e41..19c5726115850 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-17 +date: 2024-04-22 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 4a807922816fe..61d4c4c56fe25 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-17 +date: 2024-04-22 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 322f4b1512195..f439d4def7389 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-17 +date: 2024-04-22 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 cf18eb4e80771..e669350239e56 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-17 +date: 2024-04-22 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 f5886e51f0f4f..0df296db05512 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-17 +date: 2024-04-22 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 8fff2e69793d5..bdb66a1ac2a3d 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-17 +date: 2024-04-22 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 3d5fbc58f67c3..574be1d628f26 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-17 +date: 2024-04-22 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 75c76bb3bb92f..e3dde582db15d 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-17 +date: 2024-04-22 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 67f517d339ca2..9f5f6afdee546 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-17 +date: 2024-04-22 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 a7d8eaa6eb26d..2b6a00cb60cbe 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-17 +date: 2024-04-22 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 268d4b977d226..7aec7a4789802 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-17 +date: 2024-04-22 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 5054c3b151453..dade6f6378804 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-17 +date: 2024-04-22 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 00c9da50b9037..50f0cabc21839 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-17 +date: 2024-04-22 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 0968cf7a27019..41491dd310e16 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-17 +date: 2024-04-22 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 73500d21db1bd..d3ad855385093 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-17 +date: 2024-04-22 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 0f29a69b8f462..c17f96045a05c 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-17 +date: 2024-04-22 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 b574d914ee94d..03245ec404011 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-17 +date: 2024-04-22 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 44155f3c0ff2f..bb7121dc2e800 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-17 +date: 2024-04-22 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 bb39bf5a81052..db97930270f67 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-17 +date: 2024-04-22 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 483059223d882..b02a6ae171e91 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-17 +date: 2024-04-22 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 e21f932a75857..7583549741a62 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-17 +date: 2024-04-22 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 82e3131e4e903..98916b33d1e30 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-17 +date: 2024-04-22 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 b5d6d56dcc976..ceff1c4719ec6 100644 --- a/api_docs/kbn_slo_schema.devdocs.json +++ b/api_docs/kbn_slo_schema.devdocs.json @@ -970,6 +970,21 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.GetSLOSuggestionsResponse", + "type": "Type", + "tags": [], + "label": "GetSLOSuggestionsResponse", + "description": [], + "signature": [ + "{ tags: { label: string; value: string; count: number; }[]; }" + ], + "path": "x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.GroupingsSchema", @@ -9501,6 +9516,32 @@ "trackAdoption": false, "initialIsOpen": false }, + { + "parentPluginId": "@kbn/slo-schema", + "id": "def-common.getSLOSuggestionsResponseSchema", + "type": "Object", + "tags": [], + "label": "getSLOSuggestionsResponseSchema", + "description": [], + "signature": [ + "TypeC", + "<{ tags: ", + "ArrayC", + "<", + "TypeC", + "<{ label: ", + "StringC", + "; value: ", + "StringC", + "; count: ", + "NumberC", + "; }>>; }>" + ], + "path": "x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false + }, { "parentPluginId": "@kbn/slo-schema", "id": "def-common.groupBySchema", diff --git a/api_docs/kbn_slo_schema.mdx b/api_docs/kbn_slo_schema.mdx index 0f0f0f493d51b..7494c29634d1b 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/slo-schema'] --- import kbnSloSchemaObj from './kbn_slo_schema.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 171 | 0 | 171 | 0 | +| 173 | 0 | 173 | 0 | ## Common diff --git a/api_docs/kbn_solution_nav_analytics.devdocs.json b/api_docs/kbn_solution_nav_analytics.devdocs.json deleted file mode 100644 index 88ac3f39a8a8c..0000000000000 --- a/api_docs/kbn_solution_nav_analytics.devdocs.json +++ /dev/null @@ -1,120 +0,0 @@ -{ - "id": "@kbn/solution-nav-analytics", - "client": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "server": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [] - }, - "common": { - "classes": [], - "functions": [], - "interfaces": [], - "enums": [], - "misc": [], - "objects": [ - { - "parentPluginId": "@kbn/solution-nav-analytics", - "id": "def-common.definition", - "type": "Object", - "tags": [], - "label": "definition", - "description": [], - "path": "packages/solution-nav/analytics/definition.ts", - "deprecated": false, - "trackAdoption": false, - "children": [ - { - "parentPluginId": "@kbn/solution-nav-analytics", - "id": "def-common.definition.id", - "type": "string", - "tags": [], - "label": "id", - "description": [], - "path": "packages/solution-nav/analytics/definition.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/solution-nav-analytics", - "id": "def-common.definition.title", - "type": "string", - "tags": [], - "label": "title", - "description": [], - "path": "packages/solution-nav/analytics/definition.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/solution-nav-analytics", - "id": "def-common.definition.icon", - "type": "string", - "tags": [], - "label": "icon", - "description": [], - "path": "packages/solution-nav/analytics/definition.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/solution-nav-analytics", - "id": "def-common.definition.homePage", - "type": "string", - "tags": [], - "label": "homePage", - "description": [], - "signature": [ - "\"home\"" - ], - "path": "packages/solution-nav/analytics/definition.ts", - "deprecated": false, - "trackAdoption": false - }, - { - "parentPluginId": "@kbn/solution-nav-analytics", - "id": "def-common.definition.navigationTree$", - "type": "Object", - "tags": [], - "label": "navigationTree$", - "description": [], - "signature": [ - "Observable", - "<", - { - "pluginId": "@kbn/core-chrome-browser", - "scope": "common", - "docId": "kibKbnCoreChromeBrowserPluginApi", - "section": "def-common.NavigationTreeDefinition", - "text": "NavigationTreeDefinition" - }, - "<", - { - "pluginId": "@kbn/core-chrome-browser", - "scope": "common", - "docId": "kibKbnCoreChromeBrowserPluginApi", - "section": "def-common.AppDeepLinkId", - "text": "AppDeepLinkId" - }, - ", string, string>>" - ], - "path": "packages/solution-nav/analytics/definition.ts", - "deprecated": false, - "trackAdoption": false - } - ], - "initialIsOpen": false - } - ] - } -} \ No newline at end of file diff --git a/api_docs/kbn_solution_nav_analytics.mdx b/api_docs/kbn_solution_nav_analytics.mdx deleted file mode 100644 index 0176448a5e94a..0000000000000 --- a/api_docs/kbn_solution_nav_analytics.mdx +++ /dev/null @@ -1,30 +0,0 @@ ---- -#### -#### 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: kibKbnSolutionNavAnalyticsPluginApi -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-17 -tags: ['contributor', 'dev', 'apidocs', 'kibana', '@kbn/solution-nav-analytics'] ---- -import kbnSolutionNavAnalyticsObj from './kbn_solution_nav_analytics.devdocs.json'; - - - -Contact [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) for questions regarding this plugin. - -**Code health stats** - -| Public API count | Any count | Items lacking comments | Missing exports | -|-------------------|-----------|------------------------|-----------------| -| 6 | 0 | 6 | 0 | - -## Common - -### Objects - - diff --git a/api_docs/kbn_solution_nav_es.mdx b/api_docs/kbn_solution_nav_es.mdx index d2dc39de1127f..d28ab17401e0c 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-17 +date: 2024-04-22 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 bd1d60e6de7a4..1dbcba988e50c 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-17 +date: 2024-04-22 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 b0dc17ea7ac85..d06bd688e0c46 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-17 +date: 2024-04-22 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 2ba6f3836f4c1..05586426c07b1 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-17 +date: 2024-04-22 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 6bae6cfcc81eb..278c2f4214ffa 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-17 +date: 2024-04-22 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 cf377adfab5f3..22704896e76f5 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-17 +date: 2024-04-22 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 76259b643423d..a878c659803db 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-17 +date: 2024-04-22 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 7b823947b3452..0b0595eb4e69c 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-17 +date: 2024-04-22 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 ce128a0885ac6..23a915044145b 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-17 +date: 2024-04-22 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 1c04b562bbcdf..7363703ff865a 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-17 +date: 2024-04-22 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 df321dffe3bd3..5bf78ac1cd341 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-17 +date: 2024-04-22 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 ddb62f74ab95b..c7b47c42d0982 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-17 +date: 2024-04-22 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 46b4fdb0483c5..b9d4bc060a018 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-17 +date: 2024-04-22 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 13cce6bb095d0..47ca67a882061 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-17 +date: 2024-04-22 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 7c204afc7b4b7..16873a2da41bc 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-17 +date: 2024-04-22 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 5ffe31047f006..6ba884470e629 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-17 +date: 2024-04-22 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 eeea66ce54b41..8303046f5c52d 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-17 +date: 2024-04-22 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 5730c6ad3fc1a..e846e99c3d13c 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-17 +date: 2024-04-22 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 ee08a4e063c03..dfef32b93ec6f 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-17 +date: 2024-04-22 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 ebb50dbe8e002..f5c6d3e68d431 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-17 +date: 2024-04-22 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 2bb895454e337..b576daedba5f6 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-17 +date: 2024-04-22 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 a5612631ddf8e..2c5aafe995949 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-17 +date: 2024-04-22 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 35c5bdf646688..e0c2184d27d3c 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-17 +date: 2024-04-22 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 0563461133543..54a407485f2d2 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-17 +date: 2024-04-22 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 ceefa68dd7cb5..d43ff40d40728 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-17 +date: 2024-04-22 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 0443d04e47cd4..49821cd9d2721 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-17 +date: 2024-04-22 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.devdocs.json b/api_docs/kbn_user_profile_components.devdocs.json index aa2231d1ee83c..189cf6bb088af 100644 --- a/api_docs/kbn_user_profile_components.devdocs.json +++ b/api_docs/kbn_user_profile_components.devdocs.json @@ -915,7 +915,7 @@ "tags": [], "label": "toMountPoint", "description": [ - "\nHandler from the '@kbn/kibana-react-plugin/public' Plugin\n\n```\nimport { toMountPoint } from '@kbn/kibana-react-plugin/public';\n```" + "\nHandler from the '@kbn/react-kibana-mount' Package\n\n```\nimport { toMountPoint } from '@kbn/react-kibana-mount';\n```" ], "signature": [ "(node: React.ReactNode, params: ", diff --git a/api_docs/kbn_user_profile_components.mdx b/api_docs/kbn_user_profile_components.mdx index f57cd5f30eb54..b5d37df583564 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-17 +date: 2024-04-22 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 924fb1d998556..e5fe640374e9f 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-17 +date: 2024-04-22 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 4095e767d2649..455ad7dde0094 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-17 +date: 2024-04-22 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 61dc2ffc46211..09b2ad7a21843 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-17 +date: 2024-04-22 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 be8fd837e1b2e..78c9d31c96994 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-17 +date: 2024-04-22 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 2bc9a35cd2b60..b37f0a3fd183f 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-17 +date: 2024-04-22 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 864fd0fd71bc4..4192ef3e46450 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-17 +date: 2024-04-22 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 4d7e4f3cbc6e2..52efc37489cc3 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-17 +date: 2024-04-22 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 2db69db53946e..3508662be4ea5 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-17 +date: 2024-04-22 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 a5cf8e915f170..c4755dbb1014f 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-17 +date: 2024-04-22 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 5ebae1ca79199..6bcda4f0f9194 100644 --- a/api_docs/kibana_react.devdocs.json +++ b/api_docs/kibana_react.devdocs.json @@ -511,214 +511,6 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "uiActions", - "path": "src/plugins/ui_actions/public/context_menu/open_context_menu.tsx" - }, - { - "plugin": "uiActions", - "path": "src/plugins/ui_actions/public/context_menu/open_context_menu.tsx" - }, - { - "plugin": "uiActions", - "path": "src/plugins/ui_actions/public/context_menu/open_context_menu.tsx" - }, - { - "plugin": "home", - "path": "src/plugins/home/public/application/application.tsx" - }, - { - "plugin": "home", - "path": "src/plugins/home/public/application/application.tsx" - }, - { - "plugin": "home", - "path": "src/plugins/home/public/application/application.tsx" - }, - { - "plugin": "serverless", - "path": "x-pack/plugins/serverless/public/plugin.tsx" - }, - { - "plugin": "serverless", - "path": "x-pack/plugins/serverless/public/plugin.tsx" - }, - { - "plugin": "serverless", - "path": "x-pack/plugins/serverless/public/plugin.tsx" - }, - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/management/spaces_management_app.tsx" - }, - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/management/spaces_management_app.tsx" - }, - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/management/spaces_management_app.tsx" - }, - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/nav_control/nav_control.tsx" - }, - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/nav_control/nav_control.tsx" - }, - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/nav_control/nav_control.tsx" - }, - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/space_selector/space_selector.tsx" - }, - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/space_selector/space_selector.tsx" - }, - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/space_selector/space_selector.tsx" - }, - { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx" - }, - { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx" - }, - { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx" - }, - { - "plugin": "devTools", - "path": "src/plugins/dev_tools/public/application.tsx" - }, - { - "plugin": "devTools", - "path": "src/plugins/dev_tools/public/application.tsx" - }, - { - "plugin": "devTools", - "path": "src/plugins/dev_tools/public/application.tsx" - }, - { - "plugin": "console", - "path": "src/plugins/console/public/shared_imports.ts" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/access_agreement/access_agreement_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/access_agreement/access_agreement_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/access_agreement/access_agreement_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/logged_out/logged_out_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/logged_out/logged_out_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/logged_out/logged_out_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/login/login_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/login/login_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/login/login_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/overwritten_session/overwritten_session_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/overwritten_session/overwritten_session_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/authentication/overwritten_session/overwritten_session_page.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/nav_control/nav_control_service.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/nav_control/nav_control_service.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/nav_control/nav_control_service.tsx" - }, { "plugin": "visualizations", "path": "src/plugins/visualizations/public/visualize_app/utils/use/use_visualize_app_state.tsx" @@ -779,18 +571,6 @@ "plugin": "visualizations", "path": "src/plugins/visualizations/public/visualize_app/index.tsx" }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/management/mount_section.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/management/mount_section.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/management/mount_section.tsx" - }, { "plugin": "expressionXY", "path": "src/plugins/chart_expressions/expression_xy/public/expression_renderers/xy_chart_renderer.tsx" @@ -1203,6 +983,22 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/fleet/app.tsx" }, + { + "plugin": "devTools", + "path": "src/plugins/dev_tools/public/application.tsx" + }, + { + "plugin": "devTools", + "path": "src/plugins/dev_tools/public/application.tsx" + }, + { + "plugin": "devTools", + "path": "src/plugins/dev_tools/public/application.tsx" + }, + { + "plugin": "console", + "path": "src/plugins/console/public/shared_imports.ts" + }, { "plugin": "crossClusterReplication", "path": "x-pack/plugins/cross_cluster_replication/public/shared_imports.ts" @@ -1239,18 +1035,6 @@ "plugin": "metricsDataAccess", "path": "x-pack/plugins/metrics_data_access/public/apps/common_providers.tsx" }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/observability_solution/exploratory_view/public/application/index.tsx" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/observability_solution/exploratory_view/public/application/index.tsx" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/observability_solution/exploratory_view/public/application/index.tsx" - }, { "plugin": "osquery", "path": "x-pack/plugins/osquery/public/shared_components/osquery_results/osquery_result_wrapper.tsx" @@ -1315,18 +1099,6 @@ "plugin": "infra", "path": "x-pack/plugins/observability_solution/infra/public/apps/common_providers.tsx" }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/application/index.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/application/index.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/application/index.tsx" - }, { "plugin": "painlessLab", "path": "x-pack/plugins/painless_lab/public/shared_imports.ts" @@ -1359,18 +1131,6 @@ "plugin": "searchprofiler", "path": "x-pack/plugins/searchprofiler/public/application/index.tsx" }, - { - "plugin": "newsfeed", - "path": "src/plugins/newsfeed/public/plugin.tsx" - }, - { - "plugin": "newsfeed", - "path": "src/plugins/newsfeed/public/plugin.tsx" - }, - { - "plugin": "newsfeed", - "path": "src/plugins/newsfeed/public/plugin.tsx" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/app/app.tsx" @@ -1395,18 +1155,6 @@ "plugin": "transform", "path": "x-pack/plugins/transform/public/app/app.tsx" }, - { - "plugin": "profiling", - "path": "x-pack/plugins/observability_solution/profiling/public/app.tsx" - }, - { - "plugin": "profiling", - "path": "x-pack/plugins/observability_solution/profiling/public/app.tsx" - }, - { - "plugin": "profiling", - "path": "x-pack/plugins/observability_solution/profiling/public/app.tsx" - }, { "plugin": "apm", "path": "x-pack/plugins/observability_solution/apm/public/application/index.tsx" @@ -1431,42 +1179,6 @@ "plugin": "observabilityOnboarding", "path": "x-pack/plugins/observability_solution/observability_onboarding/public/application/app.tsx" }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/synthetics_app.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/synthetics_app.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/synthetics_app.tsx" - }, - { - "plugin": "uptime", - "path": "x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_app.tsx" - }, - { - "plugin": "uptime", - "path": "x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_app.tsx" - }, - { - "plugin": "uptime", - "path": "x-pack/plugins/observability_solution/uptime/public/legacy_uptime/app/uptime_app.tsx" - }, - { - "plugin": "ux", - "path": "x-pack/plugins/observability_solution/ux/public/application/ux_app.tsx" - }, - { - "plugin": "ux", - "path": "x-pack/plugins/observability_solution/ux/public/application/ux_app.tsx" - }, - { - "plugin": "ux", - "path": "x-pack/plugins/observability_solution/ux/public/application/ux_app.tsx" - }, { "plugin": "filesManagement", "path": "src/plugins/files_management/public/mount_management_section.tsx" @@ -1479,18 +1191,6 @@ "plugin": "filesManagement", "path": "src/plugins/files_management/public/mount_management_section.tsx" }, - { - "plugin": "kibanaOverview", - "path": "src/plugins/kibana_overview/public/application.tsx" - }, - { - "plugin": "kibanaOverview", - "path": "src/plugins/kibana_overview/public/application.tsx" - }, - { - "plugin": "kibanaOverview", - "path": "src/plugins/kibana_overview/public/application.tsx" - }, { "plugin": "visDefaultEditor", "path": "src/plugins/vis_default_editor/public/default_editor_controller.tsx" @@ -2156,26 +1856,6 @@ "plugin": "data", "path": "src/plugins/data/public/search/search_interceptor/search_interceptor.ts" }, - { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/saved_object/helpers/confirm_modal_promise.tsx" - }, - { - "plugin": "savedObjects", - "path": "src/plugins/saved_objects/public/saved_object/helpers/confirm_modal_promise.tsx" - }, - { - "plugin": "console", - "path": "src/plugins/console/public/shared_imports.ts" - }, - { - "plugin": "console", - "path": "src/plugins/console/public/application/hooks/use_send_current_request/use_send_current_request.ts" - }, - { - "plugin": "console", - "path": "src/plugins/console/public/application/hooks/use_send_current_request/use_send_current_request.ts" - }, { "plugin": "dataViewEditor", "path": "src/plugins/data_view_editor/public/shared_imports.ts" @@ -2204,22 +1884,6 @@ "plugin": "embeddable", "path": "src/plugins/embeddable/public/add_panel_flyout/open_add_panel_flyout.tsx" }, - { - "plugin": "licensing", - "path": "x-pack/plugins/licensing/public/expired_banner.tsx" - }, - { - "plugin": "licensing", - "path": "x-pack/plugins/licensing/public/expired_banner.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/session/session_expiration_toast.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/session/session_expiration_toast.tsx" - }, { "plugin": "visualizations", "path": "src/plugins/visualizations/public/utils/saved_objects_utils/confirm_modal_promise.tsx" @@ -2252,26 +1916,6 @@ "plugin": "visualizations", "path": "src/plugins/visualizations/public/visualize_app/index.tsx" }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/components/edition_modal/open_modal.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/components/edition_modal/open_modal.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/components/edition_modal/open_modal.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/components/assign_flyout/open_assign_flyout.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/components/assign_flyout/open_assign_flyout.tsx" - }, { "plugin": "dataViewFieldEditor", "path": "src/plugins/data_view_field_editor/public/shared_imports.ts" @@ -2372,14 +2016,6 @@ "plugin": "observabilityShared", "path": "x-pack/plugins/observability_solution/observability_shared/public/components/header_menu/header_menu_portal.tsx" }, - { - "plugin": "banners", - "path": "x-pack/plugins/banners/public/plugin.tsx" - }, - { - "plugin": "banners", - "path": "x-pack/plugins/banners/public/plugin.tsx" - }, { "plugin": "maps", "path": "x-pack/plugins/maps/public/render_app.tsx" @@ -2532,14 +2168,6 @@ "plugin": "fleet", "path": "x-pack/plugins/fleet/public/applications/integrations/hooks/use_confirm_force_install.tsx" }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx" - }, - { - "plugin": "telemetry", - "path": "src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx" - }, { "plugin": "fleet", "path": "x-pack/plugins/fleet/public/components/devtools_request_flyout/devtools_request_flyout.tsx" @@ -2580,6 +2208,18 @@ "plugin": "cloudSecurityPosture", "path": "x-pack/plugins/cloud_security_posture/public/components/take_action.tsx" }, + { + "plugin": "console", + "path": "src/plugins/console/public/shared_imports.ts" + }, + { + "plugin": "console", + "path": "src/plugins/console/public/application/hooks/use_send_current_request/use_send_current_request.ts" + }, + { + "plugin": "console", + "path": "src/plugins/console/public/application/hooks/use_send_current_request/use_send_current_request.ts" + }, { "plugin": "runtimeFields", "path": "x-pack/plugins/runtime_fields/public/shared_imports.ts" @@ -2632,54 +2272,6 @@ "plugin": "graph", "path": "x-pack/plugins/graph/public/application.tsx" }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx" - }, - { - "plugin": "exploratoryView", - "path": "x-pack/plugins/observability_solution/exploratory_view/public/components/shared/exploratory_view/header/add_to_case_action.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/alerts/lib/alerts_toast.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/alerts/lib/alerts_toast.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/components/cluster/listing/listing.js" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/components/cluster/listing/listing.js" - }, - { - "plugin": "monitoring", - "path": "x-pack/plugins/monitoring/public/components/cluster/listing/listing.js" - }, { "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/common/components/sourcerer/use_update_data_view.tsx" @@ -2732,90 +2324,6 @@ "plugin": "securitySolution", "path": "x-pack/plugins/security_solution/public/detection_engine/rule_management_ui/components/rules_table/bulk_actions/use_bulk_actions.tsx" }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/state/monitor_list/toast_title.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/browser_test_results.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/monitor_list_table/delete_monitor.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/settings/global_params/delete_param.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_save.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitor_add_edit/hooks/use_monitor_save.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/show_sync_errors.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/monitors_page/management/show_sync_errors.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/simple_test_results.tsx" - }, - { - "plugin": "synthetics", - "path": "x-pack/plugins/observability_solution/synthetics/public/apps/synthetics/components/test_now_mode/manual_test_run_mode/simple_test_results.tsx" - }, - { - "plugin": "uptime", - "path": "x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/alert_messages.tsx" - }, - { - "plugin": "uptime", - "path": "x-pack/plugins/observability_solution/uptime/public/legacy_uptime/lib/alert_types/alert_messages.tsx" - }, - { - "plugin": "uptime", - "path": "x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx" - }, - { - "plugin": "uptime", - "path": "x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx" - }, - { - "plugin": "uptime", - "path": "x-pack/plugins/observability_solution/uptime/public/legacy_uptime/components/monitor/ml/ml_flyout_container.tsx" - }, { "plugin": "dataViewManagement", "path": "src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/components/table/table.tsx" @@ -2864,14 +2372,6 @@ "plugin": "embeddable", "path": "src/plugins/embeddable/public/lib/test_samples/embeddables/contact_card/contact_card_exportable_embeddable_factory.tsx" }, - { - "plugin": "uiActions", - "path": "src/plugins/ui_actions/public/tests/test_samples/hello_world_action.tsx" - }, - { - "plugin": "uiActions", - "path": "src/plugins/ui_actions/public/tests/test_samples/hello_world_action.tsx" - }, { "plugin": "visTypeVislib", "path": "src/plugins/vis_types/vislib/public/vis_controller.tsx" diff --git a/api_docs/kibana_react.mdx b/api_docs/kibana_react.mdx index f05c64c492d39..29b6ffc269b64 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-17 +date: 2024-04-22 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 7d419ead6fee6..1c3054ed62d5d 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-17 +date: 2024-04-22 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 8270075f88c23..d0e8c30efbb0f 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-17 +date: 2024-04-22 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 4568ed6ee9361..4570b4f18977a 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-17 +date: 2024-04-22 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 93d46a86c7a80..37642441c1884 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-17 +date: 2024-04-22 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 170a434be79e3..6387b12d545f4 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'licenseManagement'] --- import licenseManagementObj from './license_management.devdocs.json'; diff --git a/api_docs/licensing.devdocs.json b/api_docs/licensing.devdocs.json index fbc75b9837f15..9d7204e47f330 100644 --- a/api_docs/licensing.devdocs.json +++ b/api_docs/licensing.devdocs.json @@ -2212,19 +2212,19 @@ }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/threat_mapping/create_threat_signals.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/indicator_match/threat_mapping/create_threat_signals.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/threshold.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/query/query.ts" }, { "plugin": "securitySolution", - "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.ts" + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/threshold/threshold.ts" }, { "plugin": "painlessLab", @@ -2262,6 +2262,18 @@ "plugin": "upgradeAssistant", "path": "x-pack/plugins/upgrade_assistant/server/lib/reindexing/reindex_service.test.ts" }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.test.ts" + }, + { + "plugin": "securitySolution", + "path": "x-pack/plugins/security_solution/server/lib/detection_engine/rule_types/utils/get_is_alert_suppression_active.test.ts" + }, { "plugin": "actions", "path": "x-pack/plugins/actions/server/lib/license_state.test.ts" diff --git a/api_docs/licensing.mdx b/api_docs/licensing.mdx index 8d4b197a12644..5f8e5b5f547e6 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-17 +date: 2024-04-22 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 98379166fafff..1782a56a4e6ff 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'links'] --- import linksObj from './links.devdocs.json'; diff --git a/api_docs/lists.mdx b/api_docs/lists.mdx index 880a5b8c2e1d0..b2cee3b4fcc25 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-17 +date: 2024-04-22 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 62c705d4dbfc1..89d1dd18649d5 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-17 +date: 2024-04-22 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 02faa0671e30e..175a93382c2b3 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-17 +date: 2024-04-22 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 3845830416e00..1fad4d96a8664 100644 --- a/api_docs/management.devdocs.json +++ b/api_docs/management.devdocs.json @@ -622,30 +622,6 @@ "deprecated": true, "trackAdoption": false, "references": [ - { - "plugin": "spaces", - "path": "x-pack/plugins/spaces/public/management/spaces_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/api_keys/api_keys_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/users/users_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/roles/roles_management_app.tsx" - }, - { - "plugin": "security", - "path": "x-pack/plugins/security/public/management/role_mappings/role_mappings_management_app.tsx" - }, - { - "plugin": "savedObjectsTagging", - "path": "x-pack/plugins/saved_objects_tagging/public/management/mount_section.tsx" - }, { "plugin": "triggersActionsUi", "path": "x-pack/plugins/triggers_actions_ui/public/plugin.ts" diff --git a/api_docs/management.mdx b/api_docs/management.mdx index 0fb339d4f9d26..fa5a2043989fe 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-17 +date: 2024-04-22 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 01e8c704f3b4d..961c90b160a97 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-17 +date: 2024-04-22 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 8ad5b3b47d716..07ed7950dc9d0 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-17 +date: 2024-04-22 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 9ead35a7f11ba..be14928a14478 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-17 +date: 2024-04-22 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 10faf6915315a..93c029981aeba 100644 --- a/api_docs/ml.devdocs.json +++ b/api_docs/ml.devdocs.json @@ -499,7 +499,7 @@ "label": "capabilities", "description": [], "signature": [ - "{ isADEnabled: boolean; isDFAEnabled: boolean; isNLPEnabled: boolean; } & { canGetJobs: boolean; canGetDatafeeds: boolean; canGetCalendars: boolean; canFindFileStructure: boolean; canGetDataFrameAnalytics: boolean; canGetAnnotations: boolean; canCreateAnnotation: boolean; canDeleteAnnotation: boolean; canUseMlAlerts: boolean; canGetTrainedModels: boolean; canTestTrainedModels: boolean; canGetFieldInfo: boolean; canGetMlInfo: boolean; canUseAiops: boolean; } & { canCreateJob: boolean; canDeleteJob: boolean; canOpenJob: boolean; canCloseJob: boolean; canResetJob: boolean; canUpdateJob: boolean; canForecastJob: boolean; canCreateDatafeed: boolean; canDeleteDatafeed: boolean; canStartStopDatafeed: boolean; canUpdateDatafeed: boolean; canPreviewDatafeed: boolean; canGetFilters: boolean; canCreateCalendar: boolean; canDeleteCalendar: boolean; canCreateFilter: boolean; canDeleteFilter: boolean; canCreateDataFrameAnalytics: boolean; canDeleteDataFrameAnalytics: boolean; canStartStopDataFrameAnalytics: boolean; canCreateMlAlerts: boolean; canUseMlAlerts: boolean; canViewMlNodes: boolean; canCreateTrainedModels: boolean; canDeleteTrainedModels: boolean; canStartStopTrainedModels: boolean; }" + "{ isADEnabled: boolean; isDFAEnabled: boolean; isNLPEnabled: boolean; } & { canGetJobs: boolean; canGetDatafeeds: boolean; canGetCalendars: boolean; canFindFileStructure: boolean; canGetDataFrameAnalytics: boolean; canGetAnnotations: boolean; canCreateAnnotation: boolean; canDeleteAnnotation: boolean; canUseMlAlerts: boolean; canGetTrainedModels: boolean; canTestTrainedModels: boolean; canGetFieldInfo: boolean; canGetMlInfo: boolean; canUseAiops: boolean; } & { canCreateJob: boolean; canDeleteJob: boolean; canOpenJob: boolean; canCloseJob: boolean; canResetJob: boolean; canUpdateJob: boolean; canForecastJob: boolean; canCreateDatafeed: boolean; canDeleteDatafeed: boolean; canStartStopDatafeed: boolean; canUpdateDatafeed: boolean; canPreviewDatafeed: boolean; canGetFilters: boolean; canCreateCalendar: boolean; canDeleteCalendar: boolean; canCreateFilter: boolean; canDeleteFilter: boolean; canCreateDataFrameAnalytics: boolean; canDeleteDataFrameAnalytics: boolean; canStartStopDataFrameAnalytics: boolean; canCreateMlAlerts: boolean; canUseMlAlerts: boolean; canViewMlNodes: boolean; canCreateTrainedModels: boolean; canDeleteTrainedModels: boolean; canStartStopTrainedModels: boolean; canCreateInferenceEndpoint: boolean; }" ], "path": "x-pack/plugins/ml/common/types/capabilities.ts", "deprecated": false, @@ -1572,6 +1572,18 @@ "MlTrainedModelConfig", ">; installElasticTrainedModelConfig(modelId: string): Promise<", "MlTrainedModelConfig", + ">; }; inferenceModels: { createInferenceEndpoint(inferenceId: string, taskType: ", + "InferenceTaskType", + ", modelConfig: ", + { + "pluginId": "@kbn/inference_integration_flyout", + "scope": "common", + "docId": "kibKbnInferenceIntegrationFlyoutPluginApi", + "section": "def-common.ModelConfig", + "text": "ModelConfig" + }, + "): Promise<", + "InferenceModelConfigContainer", ">; }; notifications: { findMessages(params: ", "NotificationsQueryParams", "): Promise<", diff --git a/api_docs/ml.mdx b/api_docs/ml.mdx index 8a52c1ce8ace3..d6d69644627c7 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'ml'] --- import mlObj from './ml.devdocs.json'; diff --git a/api_docs/mock_idp_plugin.mdx b/api_docs/mock_idp_plugin.mdx index 6c21b057236b0..bc86517cdde94 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-17 +date: 2024-04-22 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 489bae3b2cc43..f3d38d23153c1 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-17 +date: 2024-04-22 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 039cca2a0c745..e8b2da792a585 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-17 +date: 2024-04-22 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 1073eb98482d8..9c386e01c71b1 100644 --- a/api_docs/navigation.devdocs.json +++ b/api_docs/navigation.devdocs.json @@ -1158,7 +1158,7 @@ "label": "SOLUTION_NAV_FEATURE_FLAG_NAME", "description": [], "signature": [ - "\"navigation.solutionNavEnabled\"" + "\"solutionNavEnabled\"" ], "path": "src/plugins/navigation/common/constants.ts", "deprecated": false, diff --git a/api_docs/navigation.mdx b/api_docs/navigation.mdx index 343e706a19e24..cdca20b896059 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-17 +date: 2024-04-22 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 ec13e9c3761f8..a01ca727e82a6 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-17 +date: 2024-04-22 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 28ca4ace160d4..be563763fe2ac 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-17 +date: 2024-04-22 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 ddb9451ded86a..427e06596b7a9 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-17 +date: 2024-04-22 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 b1d18b6c1e16e..45100a94439eb 100644 --- a/api_docs/observability.devdocs.json +++ b/api_docs/observability.devdocs.json @@ -1144,8 +1144,29 @@ "label": "useFetchDataViews", "description": [], "signature": [ - "() => ", - "UseFetchDataViewsResponse" + "() => { isLoading: boolean; isError: boolean; isSuccess: boolean; data: ", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewListItem", + "text": "DataViewListItem" + }, + "[] | undefined; refetch: (options?: (", + "RefetchOptions", + " & ", + "RefetchQueryFilters", + ") | undefined) => Promise<", + "QueryObserverResult", + "<", + { + "pluginId": "dataViews", + "scope": "common", + "docId": "kibDataViewsPluginApi", + "section": "def-common.DataViewListItem", + "text": "DataViewListItem" + }, + "[], unknown>>; }" ], "path": "x-pack/plugins/observability_solution/observability/public/hooks/use_fetch_data_views.ts", "deprecated": false, diff --git a/api_docs/observability.mdx b/api_docs/observability.mdx index 3d9dd4181a552..ba26d3e716dcb 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observability'] --- import observabilityObj from './observability.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/ | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 678 | 2 | 669 | 14 | +| 678 | 2 | 669 | 13 | ## Client diff --git a/api_docs/observability_a_i_assistant.mdx b/api_docs/observability_a_i_assistant.mdx index 98f89813597c5..ee20a72fe7767 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'observabilityAIAssistant'] --- import observabilityAIAssistantObj from './observability_a_i_assistant.devdocs.json'; diff --git a/api_docs/observability_a_i_assistant_app.mdx b/api_docs/observability_a_i_assistant_app.mdx index 4811d0303ac78..f2d8d299f0f16 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-17 +date: 2024-04-22 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 e7aab64d9f458..507a3ba8bee8c 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-17 +date: 2024-04-22 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 3857a915b328d..4c2d25da3a41e 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-17 +date: 2024-04-22 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 0739d7c7cb16b..55b469ceef61c 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-17 +date: 2024-04-22 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 fb85bf101ce55..9c8b479a11b16 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-17 +date: 2024-04-22 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 a124d1a318d93..de86cdab505e8 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-17 +date: 2024-04-22 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 d32537a115662..fdc80246bdcfb 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-17 +date: 2024-04-22 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 bd50f52e734a4..b2e1754b67af8 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana'] --- @@ -15,13 +15,13 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | Count | Plugins or Packages with a
public API | Number of teams | |--------------|----------|------------------------| -| 782 | 671 | 42 | +| 783 | 672 | 42 | ### Public API health stats | API Count | Any Count | Missing comments | Missing exports | |--------------|----------|-----------------|--------| -| 47389 | 239 | 36067 | 1846 | +| 47411 | 240 | 36072 | 1851 | ## Plugin Directory @@ -139,7 +139,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 17 | 0 | 17 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 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) | - | 678 | 2 | 669 | 14 | +| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 678 | 2 | 669 | 13 | | | [@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 | @@ -157,7 +157,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 21 | 0 | 21 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 274 | 0 | 245 | 14 | | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 24 | 0 | 19 | 2 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 129 | 2 | 118 | 4 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 131 | 2 | 120 | 5 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | - | 25 | 0 | 25 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 164 | 0 | 150 | 2 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 89 | 0 | 83 | 3 | @@ -169,7 +169,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@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/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. | 410 | 0 | 200 | 2 | | | [@elastic/security-solution](https://github.com/orgs/elastic/teams/security-solution) | - | 189 | 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 | @@ -228,7 +228,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] |--------------|----------------|-----------|--------------|----------|---------------|--------| | | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 11 | 5 | 11 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 5 | 0 | 5 | 0 | -| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 36 | 0 | 0 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 51 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 2 | 0 | 0 | 0 | | | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 41 | 0 | 0 | 0 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 27 | 3 | 27 | 0 | @@ -266,7 +266,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-visualizations](https://github.com/orgs/elastic/teams/kibana-visualizations) | - | 217 | 0 | 180 | 9 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 79 | 0 | 50 | 9 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 24 | 0 | 24 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 141 | 3 | 138 | 18 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 142 | 3 | 139 | 19 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 10 | 0 | 8 | 4 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 8 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 3 | 0 | 3 | 0 | @@ -340,10 +340,10 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 22 | 0 | 7 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 9 | 0 | 9 | 3 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 7 | 0 | 7 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 49 | 7 | 49 | 5 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 50 | 7 | 50 | 6 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 13 | 0 | 13 | 1 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 471 | 1 | 187 | 0 | -| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 86 | 0 | 74 | 9 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 475 | 1 | 189 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 89 | 0 | 77 | 10 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 44 | 0 | 43 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 4 | 0 | 2 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 3 | 0 | 3 | 0 | @@ -505,7 +505,8 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 51 | 0 | 48 | 0 | | | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 61 | 0 | 1 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 47 | 0 | 40 | 0 | -| | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 122 | 3 | 122 | 0 | +| | [@elastic/kibana-management](https://github.com/orgs/elastic/teams/kibana-management) | - | 109 | 3 | 109 | 0 | +| | [@elastic/ml-ui](https://github.com/orgs/elastic/teams/ml-ui) | - | 7 | 1 | 7 | 1 | | | [@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 | @@ -605,6 +606,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 88 | 0 | 87 | 0 | | | [@elastic/kibana-data-discovery](https://github.com/orgs/elastic/teams/kibana-data-discovery) | A component for creating resizable layouts containing a fixed width panel and a flexible panel, with support for horizontal and vertical layouts. | 18 | 0 | 5 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 13 | 2 | 8 | 0 | +| | [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core) | - | 5 | 0 | 5 | 1 | | | [@elastic/obs-ux-logs-team](https://github.com/orgs/elastic/teams/obs-ux-logs-team) | - | 2 | 0 | 1 | 1 | | | [@elastic/response-ops](https://github.com/orgs/elastic/teams/response-ops) | - | 16 | 0 | 16 | 1 | | | [@elastic/security-detections-response](https://github.com/orgs/elastic/teams/security-detections-response) | - | 124 | 0 | 121 | 0 | @@ -688,8 +690,7 @@ tags: ['contributor', 'dev', 'apidocs', 'kibana'] | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 15 | 0 | 4 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 8 | 0 | 8 | 4 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 16 | 0 | 6 | 0 | -| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 171 | 0 | 171 | 0 | -| | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 | +| | [@elastic/obs-ux-management-team](https://github.com/orgs/elastic/teams/obs-ux-management-team) | - | 173 | 0 | 173 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 | | | [@elastic/appex-sharedux](https://github.com/orgs/elastic/teams/appex-sharedux) | - | 6 | 0 | 6 | 0 | | | [@elastic/kibana-operations](https://github.com/orgs/elastic/teams/kibana-operations) | - | 20 | 0 | 12 | 0 | diff --git a/api_docs/presentation_panel.mdx b/api_docs/presentation_panel.mdx index b879544856637..4e5e7b04e3c76 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-17 +date: 2024-04-22 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 a6708672abefd..384d80f43c82e 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-17 +date: 2024-04-22 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 986ee40d4c80d..71f28edc9e429 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-17 +date: 2024-04-22 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 f9cac9a080adb..ddf3bda4f3f13 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-17 +date: 2024-04-22 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 794b0e96b6214..e303079a3cc7d 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-17 +date: 2024-04-22 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 02d2bc9f5a7e3..cf0eb6dd94151 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-17 +date: 2024-04-22 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 3ddf3d5850dc7..7c194f1d4a86f 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-17 +date: 2024-04-22 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 779992f4bda1b..3143ea1112e92 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-17 +date: 2024-04-22 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 534efbe9ec420..43e98bb1f8515 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'runtimeFields'] --- import runtimeFieldsObj from './runtime_fields.devdocs.json'; diff --git a/api_docs/saved_objects.devdocs.json b/api_docs/saved_objects.devdocs.json index fcc9fb97a9f69..c132933712fd9 100644 --- a/api_docs/saved_objects.devdocs.json +++ b/api_docs/saved_objects.devdocs.json @@ -239,7 +239,9 @@ }, ">, \"id\" | \"title\" | \"getDisplayName\" | \"lastSavedTitle\" | \"copyOnSave\" | \"getEsType\">, isTitleDuplicateConfirmed: boolean, onTitleDuplicate: (() => void) | undefined, services: Pick<", "SavedObjectKibanaServices", - ", \"overlays\" | \"savedObjectsClient\">) => Promise" + ", \"overlays\" | \"savedObjectsClient\">, startServices: ", + "StartServices", + ") => Promise" ], "path": "src/plugins/saved_objects/public/saved_object/helpers/check_for_duplicate_title.ts", "deprecated": false, @@ -322,6 +324,21 @@ "deprecated": false, "trackAdoption": false, "isRequired": true + }, + { + "parentPluginId": "savedObjects", + "id": "def-public.checkForDuplicateTitle.$5", + "type": "Object", + "tags": [], + "label": "startServices", + "description": [], + "signature": [ + "StartServices" + ], + "path": "src/plugins/saved_objects/public/saved_object/helpers/check_for_duplicate_title.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [], @@ -462,7 +479,9 @@ "section": "def-common.OverlayStart", "text": "OverlayStart" }, - "; }) => Promise<", + "; }, startServices: ", + "StartServices", + ") => Promise<", { "pluginId": "@kbn/core-saved-objects-api-browser", "scope": "common", @@ -633,6 +652,21 @@ "trackAdoption": false } ] + }, + { + "parentPluginId": "savedObjects", + "id": "def-public.saveWithConfirmation.$5", + "type": "Object", + "tags": [], + "label": "startServices", + "description": [], + "signature": [ + "StartServices" + ], + "path": "src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts", + "deprecated": false, + "trackAdoption": false, + "isRequired": true } ], "returnComment": [ diff --git a/api_docs/saved_objects.mdx b/api_docs/saved_objects.mdx index 2121646587cfc..0712153e09f06 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjects'] --- import savedObjectsObj from './saved_objects.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-core](https://github.com/orgs/elastic/teams/kibana-core | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 129 | 2 | 118 | 4 | +| 131 | 2 | 120 | 5 | ## Client diff --git a/api_docs/saved_objects_finder.mdx b/api_docs/saved_objects_finder.mdx index 6c7f6ad057de6..ea7fcd35f8205 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'savedObjectsFinder'] --- import savedObjectsFinderObj from './saved_objects_finder.devdocs.json'; diff --git a/api_docs/saved_objects_management.devdocs.json b/api_docs/saved_objects_management.devdocs.json index 0cd5725390efa..1cd4b64c38295 100644 --- a/api_docs/saved_objects_management.devdocs.json +++ b/api_docs/saved_objects_management.devdocs.json @@ -294,7 +294,7 @@ "label": "euiColumn", "description": [], "signature": [ - "{ id?: string | undefined; prefix?: string | undefined; scope?: string | undefined; defaultValue?: string | number | readonly string[] | undefined; name: React.ReactNode; security?: string | undefined; onChange?: React.FormEventHandler | undefined; defaultChecked?: boolean | undefined; suppressContentEditableWarning?: boolean | undefined; suppressHydrationWarning?: boolean | undefined; accessKey?: string | undefined; className?: string | undefined; contentEditable?: Booleanish | \"inherit\" | undefined; contextMenu?: string | undefined; dir?: string | undefined; draggable?: Booleanish | undefined; hidden?: boolean | undefined; lang?: string | undefined; placeholder?: string | undefined; slot?: string | undefined; spellCheck?: Booleanish | undefined; style?: React.CSSProperties | undefined; tabIndex?: number | undefined; title?: string | undefined; translate?: \"yes\" | \"no\" | undefined; radioGroup?: string | undefined; role?: React.AriaRole | undefined; about?: string | undefined; datatype?: string | undefined; inlist?: any; property?: string | undefined; resource?: string | undefined; typeof?: string | undefined; vocab?: string | undefined; autoCapitalize?: string | undefined; autoCorrect?: string | undefined; autoSave?: string | undefined; color?: string | undefined; itemProp?: string | undefined; itemScope?: boolean | undefined; itemType?: string | undefined; itemID?: string | undefined; itemRef?: string | undefined; results?: number | undefined; unselectable?: \"on\" | \"off\" | undefined; inputMode?: \"search\" | \"none\" | \"text\" | \"url\" | \"email\" | \"tel\" | \"numeric\" | \"decimal\" | undefined; is?: string | undefined; 'aria-activedescendant'?: string | undefined; 'aria-atomic'?: Booleanish | undefined; 'aria-autocomplete'?: \"none\" | \"list\" | \"both\" | \"inline\" | undefined; 'aria-busy'?: Booleanish | undefined; 'aria-checked'?: boolean | \"true\" | \"false\" | \"mixed\" | undefined; 'aria-colcount'?: number | undefined; 'aria-colindex'?: number | undefined; 'aria-colspan'?: number | undefined; 'aria-controls'?: string | undefined; 'aria-current'?: boolean | \"page\" | \"date\" | \"location\" | \"true\" | \"false\" | \"step\" | \"time\" | undefined; 'aria-describedby'?: string | undefined; 'aria-details'?: string | undefined; 'aria-disabled'?: Booleanish | undefined; 'aria-dropeffect'?: \"execute\" | \"link\" | \"none\" | \"copy\" | \"move\" | \"popup\" | undefined; 'aria-errormessage'?: string | undefined; 'aria-expanded'?: Booleanish | undefined; 'aria-flowto'?: string | undefined; 'aria-grabbed'?: Booleanish | undefined; 'aria-haspopup'?: boolean | \"true\" | \"false\" | \"grid\" | \"menu\" | \"dialog\" | \"listbox\" | \"tree\" | undefined; 'aria-hidden'?: Booleanish | undefined; 'aria-invalid'?: boolean | \"true\" | \"false\" | \"grammar\" | \"spelling\" | undefined; 'aria-keyshortcuts'?: string | undefined; 'aria-label'?: string | undefined; 'aria-labelledby'?: string | undefined; 'aria-level'?: number | undefined; 'aria-live'?: \"off\" | \"assertive\" | \"polite\" | undefined; 'aria-modal'?: Booleanish | undefined; 'aria-multiline'?: Booleanish | undefined; 'aria-multiselectable'?: Booleanish | undefined; 'aria-orientation'?: \"horizontal\" | \"vertical\" | undefined; 'aria-owns'?: string | undefined; 'aria-placeholder'?: string | undefined; 'aria-posinset'?: number | undefined; 'aria-pressed'?: boolean | \"true\" | \"false\" | \"mixed\" | undefined; 'aria-readonly'?: Booleanish | undefined; 'aria-relevant'?: \"text\" | \"all\" | \"additions\" | \"additions removals\" | \"additions text\" | \"removals\" | \"removals additions\" | \"removals text\" | \"text additions\" | \"text removals\" | undefined; 'aria-required'?: Booleanish | undefined; 'aria-roledescription'?: string | undefined; 'aria-rowcount'?: number | undefined; 'aria-rowindex'?: number | undefined; 'aria-rowspan'?: number | undefined; 'aria-selected'?: Booleanish | undefined; 'aria-setsize'?: number | undefined; 'aria-sort'?: \"none\" | \"other\" | \"ascending\" | \"descending\" | undefined; 'aria-valuemax'?: number | undefined; 'aria-valuemin'?: number | undefined; 'aria-valuenow'?: number | undefined; 'aria-valuetext'?: string | undefined; children?: React.ReactNode; dangerouslySetInnerHTML?: { __html: string; } | undefined; onCopy?: React.ClipboardEventHandler | undefined; onCopyCapture?: React.ClipboardEventHandler | undefined; onCut?: React.ClipboardEventHandler | undefined; onCutCapture?: React.ClipboardEventHandler | undefined; onPaste?: React.ClipboardEventHandler | undefined; onPasteCapture?: React.ClipboardEventHandler | undefined; onCompositionEnd?: React.CompositionEventHandler | undefined; onCompositionEndCapture?: React.CompositionEventHandler | undefined; onCompositionStart?: React.CompositionEventHandler | undefined; onCompositionStartCapture?: React.CompositionEventHandler | undefined; onCompositionUpdate?: React.CompositionEventHandler | undefined; onCompositionUpdateCapture?: React.CompositionEventHandler | undefined; onFocus?: React.FocusEventHandler | undefined; onFocusCapture?: React.FocusEventHandler | undefined; onBlur?: React.FocusEventHandler | undefined; onBlurCapture?: React.FocusEventHandler | undefined; onChangeCapture?: React.FormEventHandler | undefined; onBeforeInput?: React.FormEventHandler | undefined; onBeforeInputCapture?: React.FormEventHandler | undefined; onInput?: React.FormEventHandler | undefined; onInputCapture?: React.FormEventHandler | undefined; onReset?: React.FormEventHandler | undefined; onResetCapture?: React.FormEventHandler | undefined; onSubmit?: React.FormEventHandler | undefined; onSubmitCapture?: React.FormEventHandler | undefined; onInvalid?: React.FormEventHandler | undefined; onInvalidCapture?: React.FormEventHandler | undefined; onLoad?: React.ReactEventHandler | undefined; onLoadCapture?: React.ReactEventHandler | undefined; onError?: React.ReactEventHandler | undefined; onErrorCapture?: React.ReactEventHandler | undefined; onKeyDown?: React.KeyboardEventHandler | undefined; onKeyDownCapture?: React.KeyboardEventHandler | undefined; onKeyPress?: React.KeyboardEventHandler | undefined; onKeyPressCapture?: React.KeyboardEventHandler | undefined; onKeyUp?: React.KeyboardEventHandler | undefined; onKeyUpCapture?: React.KeyboardEventHandler | undefined; onAbort?: React.ReactEventHandler | undefined; onAbortCapture?: React.ReactEventHandler | undefined; onCanPlay?: React.ReactEventHandler | undefined; onCanPlayCapture?: React.ReactEventHandler | undefined; onCanPlayThrough?: React.ReactEventHandler | undefined; onCanPlayThroughCapture?: React.ReactEventHandler | undefined; onDurationChange?: React.ReactEventHandler | undefined; onDurationChangeCapture?: React.ReactEventHandler | undefined; onEmptied?: React.ReactEventHandler | undefined; onEmptiedCapture?: React.ReactEventHandler | undefined; onEncrypted?: React.ReactEventHandler | undefined; onEncryptedCapture?: React.ReactEventHandler | undefined; onEnded?: React.ReactEventHandler | undefined; onEndedCapture?: React.ReactEventHandler | undefined; onLoadedData?: React.ReactEventHandler | undefined; onLoadedDataCapture?: React.ReactEventHandler | undefined; onLoadedMetadata?: React.ReactEventHandler | undefined; onLoadedMetadataCapture?: React.ReactEventHandler | undefined; onLoadStart?: React.ReactEventHandler | undefined; onLoadStartCapture?: React.ReactEventHandler | undefined; onPause?: React.ReactEventHandler | undefined; onPauseCapture?: React.ReactEventHandler | undefined; onPlay?: React.ReactEventHandler | undefined; onPlayCapture?: React.ReactEventHandler | undefined; onPlaying?: React.ReactEventHandler | undefined; onPlayingCapture?: React.ReactEventHandler | undefined; onProgress?: React.ReactEventHandler | undefined; onProgressCapture?: React.ReactEventHandler | undefined; onRateChange?: React.ReactEventHandler | undefined; onRateChangeCapture?: React.ReactEventHandler | undefined; onSeeked?: React.ReactEventHandler | undefined; onSeekedCapture?: React.ReactEventHandler | undefined; onSeeking?: React.ReactEventHandler | undefined; onSeekingCapture?: React.ReactEventHandler | undefined; onStalled?: React.ReactEventHandler | undefined; onStalledCapture?: React.ReactEventHandler | undefined; onSuspend?: React.ReactEventHandler | undefined; onSuspendCapture?: React.ReactEventHandler | undefined; onTimeUpdate?: React.ReactEventHandler | undefined; onTimeUpdateCapture?: React.ReactEventHandler | undefined; onVolumeChange?: React.ReactEventHandler | undefined; onVolumeChangeCapture?: React.ReactEventHandler | undefined; onWaiting?: React.ReactEventHandler | undefined; onWaitingCapture?: React.ReactEventHandler | undefined; onAuxClick?: React.MouseEventHandler | undefined; onAuxClickCapture?: React.MouseEventHandler | undefined; onClick?: React.MouseEventHandler | undefined; onClickCapture?: React.MouseEventHandler | undefined; onContextMenu?: React.MouseEventHandler | undefined; onContextMenuCapture?: React.MouseEventHandler | undefined; onDoubleClick?: React.MouseEventHandler | undefined; onDoubleClickCapture?: React.MouseEventHandler | undefined; onDrag?: React.DragEventHandler | undefined; onDragCapture?: React.DragEventHandler | undefined; onDragEnd?: React.DragEventHandler | undefined; onDragEndCapture?: React.DragEventHandler | undefined; onDragEnter?: React.DragEventHandler | undefined; onDragEnterCapture?: React.DragEventHandler | undefined; onDragExit?: React.DragEventHandler | undefined; onDragExitCapture?: React.DragEventHandler | undefined; onDragLeave?: React.DragEventHandler | undefined; onDragLeaveCapture?: React.DragEventHandler | undefined; onDragOver?: React.DragEventHandler | undefined; onDragOverCapture?: React.DragEventHandler | undefined; onDragStart?: React.DragEventHandler | undefined; onDragStartCapture?: React.DragEventHandler | undefined; onDrop?: React.DragEventHandler | undefined; onDropCapture?: React.DragEventHandler | undefined; onMouseDown?: React.MouseEventHandler | undefined; onMouseDownCapture?: React.MouseEventHandler | undefined; onMouseEnter?: React.MouseEventHandler | undefined; onMouseLeave?: React.MouseEventHandler | undefined; onMouseMove?: React.MouseEventHandler | undefined; onMouseMoveCapture?: React.MouseEventHandler | undefined; onMouseOut?: React.MouseEventHandler | undefined; onMouseOutCapture?: React.MouseEventHandler | undefined; onMouseOver?: React.MouseEventHandler | undefined; onMouseOverCapture?: React.MouseEventHandler | undefined; onMouseUp?: React.MouseEventHandler | undefined; onMouseUpCapture?: React.MouseEventHandler | undefined; onSelect?: React.ReactEventHandler | undefined; onSelectCapture?: React.ReactEventHandler | undefined; onTouchCancel?: React.TouchEventHandler | undefined; onTouchCancelCapture?: React.TouchEventHandler | undefined; onTouchEnd?: React.TouchEventHandler | undefined; onTouchEndCapture?: React.TouchEventHandler | undefined; onTouchMove?: React.TouchEventHandler | undefined; onTouchMoveCapture?: React.TouchEventHandler | undefined; onTouchStart?: React.TouchEventHandler | undefined; onTouchStartCapture?: React.TouchEventHandler | undefined; onPointerDown?: React.PointerEventHandler | undefined; onPointerDownCapture?: React.PointerEventHandler | undefined; onPointerMove?: React.PointerEventHandler | undefined; onPointerMoveCapture?: React.PointerEventHandler | undefined; onPointerUp?: React.PointerEventHandler | undefined; onPointerUpCapture?: React.PointerEventHandler | undefined; onPointerCancel?: React.PointerEventHandler | undefined; onPointerCancelCapture?: React.PointerEventHandler | undefined; onPointerEnter?: React.PointerEventHandler | undefined; onPointerEnterCapture?: React.PointerEventHandler | undefined; onPointerLeave?: React.PointerEventHandler | undefined; onPointerLeaveCapture?: React.PointerEventHandler | undefined; onPointerOver?: React.PointerEventHandler | undefined; onPointerOverCapture?: React.PointerEventHandler | undefined; onPointerOut?: React.PointerEventHandler | undefined; onPointerOutCapture?: React.PointerEventHandler | undefined; onGotPointerCapture?: React.PointerEventHandler | undefined; onGotPointerCaptureCapture?: React.PointerEventHandler | undefined; onLostPointerCapture?: React.PointerEventHandler | undefined; onLostPointerCaptureCapture?: React.PointerEventHandler | undefined; onScroll?: React.UIEventHandler | undefined; onScrollCapture?: React.UIEventHandler | undefined; onWheel?: React.WheelEventHandler | undefined; onWheelCapture?: React.WheelEventHandler | undefined; onAnimationStart?: React.AnimationEventHandler | undefined; onAnimationStartCapture?: React.AnimationEventHandler | undefined; onAnimationEnd?: React.AnimationEventHandler | undefined; onAnimationEndCapture?: React.AnimationEventHandler | undefined; onAnimationIteration?: React.AnimationEventHandler | undefined; onAnimationIterationCapture?: React.AnimationEventHandler | undefined; onTransitionEnd?: React.TransitionEventHandler | undefined; onTransitionEndCapture?: React.TransitionEventHandler | undefined; 'data-test-subj'?: string | undefined; css?: ", + "{ id?: string | undefined; prefix?: string | undefined; scope?: string | undefined; defaultValue?: string | number | readonly string[] | undefined; name: React.ReactNode; security?: string | undefined; onChange?: React.FormEventHandler | undefined; defaultChecked?: boolean | undefined; suppressContentEditableWarning?: boolean | undefined; suppressHydrationWarning?: boolean | undefined; accessKey?: string | undefined; className?: string | undefined; contentEditable?: Booleanish | \"inherit\" | undefined; contextMenu?: string | undefined; dir?: string | undefined; draggable?: Booleanish | undefined; hidden?: boolean | undefined; lang?: string | undefined; placeholder?: string | undefined; slot?: string | undefined; spellCheck?: Booleanish | undefined; style?: React.CSSProperties | undefined; tabIndex?: number | undefined; title?: string | undefined; translate?: \"yes\" | \"no\" | undefined; radioGroup?: string | undefined; role?: React.AriaRole | undefined; about?: string | undefined; datatype?: string | undefined; inlist?: any; property?: string | undefined; resource?: string | undefined; typeof?: string | undefined; vocab?: string | undefined; autoCapitalize?: string | undefined; autoCorrect?: string | undefined; autoSave?: string | undefined; color?: string | undefined; itemProp?: string | undefined; itemScope?: boolean | undefined; itemType?: string | undefined; itemID?: string | undefined; itemRef?: string | undefined; results?: number | undefined; unselectable?: \"on\" | \"off\" | undefined; inputMode?: \"search\" | \"none\" | \"text\" | \"url\" | \"email\" | \"tel\" | \"numeric\" | \"decimal\" | undefined; is?: string | undefined; 'aria-activedescendant'?: string | undefined; 'aria-atomic'?: Booleanish | undefined; 'aria-autocomplete'?: \"none\" | \"list\" | \"both\" | \"inline\" | undefined; 'aria-busy'?: Booleanish | undefined; 'aria-checked'?: boolean | \"true\" | \"false\" | \"mixed\" | undefined; 'aria-colcount'?: number | undefined; 'aria-colindex'?: number | undefined; 'aria-colspan'?: number | undefined; 'aria-controls'?: string | undefined; 'aria-current'?: boolean | \"page\" | \"date\" | \"location\" | \"true\" | \"false\" | \"step\" | \"time\" | undefined; 'aria-describedby'?: string | undefined; 'aria-details'?: string | undefined; 'aria-disabled'?: Booleanish | undefined; 'aria-dropeffect'?: \"execute\" | \"link\" | \"none\" | \"copy\" | \"move\" | \"popup\" | undefined; 'aria-errormessage'?: string | undefined; 'aria-expanded'?: Booleanish | undefined; 'aria-flowto'?: string | undefined; 'aria-grabbed'?: Booleanish | undefined; 'aria-haspopup'?: boolean | \"true\" | \"false\" | \"grid\" | \"menu\" | \"dialog\" | \"listbox\" | \"tree\" | undefined; 'aria-hidden'?: Booleanish | undefined; 'aria-invalid'?: boolean | \"true\" | \"false\" | \"grammar\" | \"spelling\" | undefined; 'aria-keyshortcuts'?: string | undefined; 'aria-label'?: string | undefined; 'aria-labelledby'?: string | undefined; 'aria-level'?: number | undefined; 'aria-live'?: \"off\" | \"assertive\" | \"polite\" | undefined; 'aria-modal'?: Booleanish | undefined; 'aria-multiline'?: Booleanish | undefined; 'aria-multiselectable'?: Booleanish | undefined; 'aria-orientation'?: \"horizontal\" | \"vertical\" | undefined; 'aria-owns'?: string | undefined; 'aria-placeholder'?: string | undefined; 'aria-posinset'?: number | undefined; 'aria-pressed'?: boolean | \"true\" | \"false\" | \"mixed\" | undefined; 'aria-readonly'?: Booleanish | undefined; 'aria-relevant'?: \"text\" | \"all\" | \"additions\" | \"additions removals\" | \"additions text\" | \"removals\" | \"removals additions\" | \"removals text\" | \"text additions\" | \"text removals\" | undefined; 'aria-required'?: Booleanish | undefined; 'aria-roledescription'?: string | undefined; 'aria-rowcount'?: number | undefined; 'aria-rowindex'?: number | undefined; 'aria-rowspan'?: number | undefined; 'aria-selected'?: Booleanish | undefined; 'aria-setsize'?: number | undefined; 'aria-sort'?: \"none\" | \"other\" | \"ascending\" | \"descending\" | undefined; 'aria-valuemax'?: number | undefined; 'aria-valuemin'?: number | undefined; 'aria-valuenow'?: number | undefined; 'aria-valuetext'?: string | undefined; children?: React.ReactNode; dangerouslySetInnerHTML?: { __html: string; } | undefined; onCopy?: React.ClipboardEventHandler | undefined; onCopyCapture?: React.ClipboardEventHandler | undefined; onCut?: React.ClipboardEventHandler | undefined; onCutCapture?: React.ClipboardEventHandler | undefined; onPaste?: React.ClipboardEventHandler | undefined; onPasteCapture?: React.ClipboardEventHandler | undefined; onCompositionEnd?: React.CompositionEventHandler | undefined; onCompositionEndCapture?: React.CompositionEventHandler | undefined; onCompositionStart?: React.CompositionEventHandler | undefined; onCompositionStartCapture?: React.CompositionEventHandler | undefined; onCompositionUpdate?: React.CompositionEventHandler | undefined; onCompositionUpdateCapture?: React.CompositionEventHandler | undefined; onFocus?: React.FocusEventHandler | undefined; onFocusCapture?: React.FocusEventHandler | undefined; onBlur?: React.FocusEventHandler | undefined; onBlurCapture?: React.FocusEventHandler | undefined; onChangeCapture?: React.FormEventHandler | undefined; onBeforeInput?: React.FormEventHandler | undefined; onBeforeInputCapture?: React.FormEventHandler | undefined; onInput?: React.FormEventHandler | undefined; onInputCapture?: React.FormEventHandler | undefined; onReset?: React.FormEventHandler | undefined; onResetCapture?: React.FormEventHandler | undefined; onSubmit?: React.FormEventHandler | undefined; onSubmitCapture?: React.FormEventHandler | undefined; onInvalid?: React.FormEventHandler | undefined; onInvalidCapture?: React.FormEventHandler | undefined; onLoad?: React.ReactEventHandler | undefined; onLoadCapture?: React.ReactEventHandler | undefined; onError?: React.ReactEventHandler | undefined; onErrorCapture?: React.ReactEventHandler | undefined; onKeyDown?: React.KeyboardEventHandler | undefined; onKeyDownCapture?: React.KeyboardEventHandler | undefined; onKeyPress?: React.KeyboardEventHandler | undefined; onKeyPressCapture?: React.KeyboardEventHandler | undefined; onKeyUp?: React.KeyboardEventHandler | undefined; onKeyUpCapture?: React.KeyboardEventHandler | undefined; onAbort?: React.ReactEventHandler | undefined; onAbortCapture?: React.ReactEventHandler | undefined; onCanPlay?: React.ReactEventHandler | undefined; onCanPlayCapture?: React.ReactEventHandler | undefined; onCanPlayThrough?: React.ReactEventHandler | undefined; onCanPlayThroughCapture?: React.ReactEventHandler | undefined; onDurationChange?: React.ReactEventHandler | undefined; onDurationChangeCapture?: React.ReactEventHandler | undefined; onEmptied?: React.ReactEventHandler | undefined; onEmptiedCapture?: React.ReactEventHandler | undefined; onEncrypted?: React.ReactEventHandler | undefined; onEncryptedCapture?: React.ReactEventHandler | undefined; onEnded?: React.ReactEventHandler | undefined; onEndedCapture?: React.ReactEventHandler | undefined; onLoadedData?: React.ReactEventHandler | undefined; onLoadedDataCapture?: React.ReactEventHandler | undefined; onLoadedMetadata?: React.ReactEventHandler | undefined; onLoadedMetadataCapture?: React.ReactEventHandler | undefined; onLoadStart?: React.ReactEventHandler | undefined; onLoadStartCapture?: React.ReactEventHandler | undefined; onPause?: React.ReactEventHandler | undefined; onPauseCapture?: React.ReactEventHandler | undefined; onPlay?: React.ReactEventHandler | undefined; onPlayCapture?: React.ReactEventHandler | undefined; onPlaying?: React.ReactEventHandler | undefined; onPlayingCapture?: React.ReactEventHandler | undefined; onProgress?: React.ReactEventHandler | undefined; onProgressCapture?: React.ReactEventHandler | undefined; onRateChange?: React.ReactEventHandler | undefined; onRateChangeCapture?: React.ReactEventHandler | undefined; onSeeked?: React.ReactEventHandler | undefined; onSeekedCapture?: React.ReactEventHandler | undefined; onSeeking?: React.ReactEventHandler | undefined; onSeekingCapture?: React.ReactEventHandler | undefined; onStalled?: React.ReactEventHandler | undefined; onStalledCapture?: React.ReactEventHandler | undefined; onSuspend?: React.ReactEventHandler | undefined; onSuspendCapture?: React.ReactEventHandler | undefined; onTimeUpdate?: React.ReactEventHandler | undefined; onTimeUpdateCapture?: React.ReactEventHandler | undefined; onVolumeChange?: React.ReactEventHandler | undefined; onVolumeChangeCapture?: React.ReactEventHandler | undefined; onWaiting?: React.ReactEventHandler | undefined; onWaitingCapture?: React.ReactEventHandler | undefined; onAuxClick?: React.MouseEventHandler | undefined; onAuxClickCapture?: React.MouseEventHandler | undefined; onClick?: React.MouseEventHandler | undefined; onClickCapture?: React.MouseEventHandler | undefined; onContextMenu?: React.MouseEventHandler | undefined; onContextMenuCapture?: React.MouseEventHandler | undefined; onDoubleClick?: React.MouseEventHandler | undefined; onDoubleClickCapture?: React.MouseEventHandler | undefined; onDrag?: React.DragEventHandler | undefined; onDragCapture?: React.DragEventHandler | undefined; onDragEnd?: React.DragEventHandler | undefined; onDragEndCapture?: React.DragEventHandler | undefined; onDragEnter?: React.DragEventHandler | undefined; onDragEnterCapture?: React.DragEventHandler | undefined; onDragExit?: React.DragEventHandler | undefined; onDragExitCapture?: React.DragEventHandler | undefined; onDragLeave?: React.DragEventHandler | undefined; onDragLeaveCapture?: React.DragEventHandler | undefined; onDragOver?: React.DragEventHandler | undefined; onDragOverCapture?: React.DragEventHandler | undefined; onDragStart?: React.DragEventHandler | undefined; onDragStartCapture?: React.DragEventHandler | undefined; onDrop?: React.DragEventHandler | undefined; onDropCapture?: React.DragEventHandler | undefined; onMouseDown?: React.MouseEventHandler | undefined; onMouseDownCapture?: React.MouseEventHandler | undefined; onMouseEnter?: React.MouseEventHandler | undefined; onMouseLeave?: React.MouseEventHandler | undefined; onMouseMove?: React.MouseEventHandler | undefined; onMouseMoveCapture?: React.MouseEventHandler | undefined; onMouseOut?: React.MouseEventHandler | undefined; onMouseOutCapture?: React.MouseEventHandler | undefined; onMouseOver?: React.MouseEventHandler | undefined; onMouseOverCapture?: React.MouseEventHandler | undefined; onMouseUp?: React.MouseEventHandler | undefined; onMouseUpCapture?: React.MouseEventHandler | undefined; onSelect?: React.ReactEventHandler | undefined; onSelectCapture?: React.ReactEventHandler | undefined; onTouchCancel?: React.TouchEventHandler | undefined; onTouchCancelCapture?: React.TouchEventHandler | undefined; onTouchEnd?: React.TouchEventHandler | undefined; onTouchEndCapture?: React.TouchEventHandler | undefined; onTouchMove?: React.TouchEventHandler | undefined; onTouchMoveCapture?: React.TouchEventHandler | undefined; onTouchStart?: React.TouchEventHandler | undefined; onTouchStartCapture?: React.TouchEventHandler | undefined; onPointerDown?: React.PointerEventHandler | undefined; onPointerDownCapture?: React.PointerEventHandler | undefined; onPointerMove?: React.PointerEventHandler | undefined; onPointerMoveCapture?: React.PointerEventHandler | undefined; onPointerUp?: React.PointerEventHandler | undefined; onPointerUpCapture?: React.PointerEventHandler | undefined; onPointerCancel?: React.PointerEventHandler | undefined; onPointerCancelCapture?: React.PointerEventHandler | undefined; onPointerEnter?: React.PointerEventHandler | undefined; onPointerEnterCapture?: React.PointerEventHandler | undefined; onPointerLeave?: React.PointerEventHandler | undefined; onPointerLeaveCapture?: React.PointerEventHandler | undefined; onPointerOver?: React.PointerEventHandler | undefined; onPointerOverCapture?: React.PointerEventHandler | undefined; onPointerOut?: React.PointerEventHandler | undefined; onPointerOutCapture?: React.PointerEventHandler | undefined; onGotPointerCapture?: React.PointerEventHandler | undefined; onGotPointerCaptureCapture?: React.PointerEventHandler | undefined; onLostPointerCapture?: React.PointerEventHandler | undefined; onLostPointerCaptureCapture?: React.PointerEventHandler | undefined; onScroll?: React.UIEventHandler | undefined; onScrollCapture?: React.UIEventHandler | undefined; onWheel?: React.WheelEventHandler | undefined; onWheelCapture?: React.WheelEventHandler | undefined; onAnimationStart?: React.AnimationEventHandler | undefined; onAnimationStartCapture?: React.AnimationEventHandler | undefined; onAnimationEnd?: React.AnimationEventHandler | undefined; onAnimationEndCapture?: React.AnimationEventHandler | undefined; onAnimationIteration?: React.AnimationEventHandler | undefined; onAnimationIterationCapture?: React.AnimationEventHandler | undefined; onTransitionEnd?: React.TransitionEventHandler | undefined; onTransitionEndCapture?: React.TransitionEventHandler | undefined; 'data-test-subj'?: string | undefined; css?: ", "Interpolation", "<", "Theme", @@ -328,7 +328,7 @@ }, ") => React.ReactNode) | undefined; height?: string | number | undefined; align?: ", "HorizontalAlignment", - " | undefined; readOnly?: boolean | undefined; colSpan?: number | undefined; rowSpan?: number | undefined; valign?: \"top\" | \"bottom\" | \"middle\" | \"baseline\" | undefined; isExpander?: boolean | undefined; textOnly?: boolean | undefined; truncateText?: boolean | { lines: number; } | undefined; mobileOptions?: (Omit<", + " | undefined; readOnly?: boolean | undefined; colSpan?: number | undefined; rowSpan?: number | undefined; valign?: \"top\" | \"bottom\" | \"middle\" | \"baseline\" | undefined; textOnly?: boolean | undefined; truncateText?: boolean | { lines: number; } | undefined; mobileOptions?: (Omit<", "EuiTableRowCellMobileOptionsShape", ", \"render\"> & { render?: ((item: ", { @@ -338,7 +338,7 @@ "section": "def-public.SavedObjectsManagementRecord", "text": "SavedObjectsManagementRecord" }, - ") => React.ReactNode) | undefined; }) | undefined; }" + ") => React.ReactNode) | undefined; }) | undefined; isExpander?: boolean | undefined; }" ], "path": "src/plugins/saved_objects_management/public/services/types/column.ts", "deprecated": false, diff --git a/api_docs/saved_objects_management.mdx b/api_docs/saved_objects_management.mdx index e2315acd128c6..fac22a46fe98f 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-17 +date: 2024-04-22 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 01b00e67d4911..f48fd57127cb4 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-17 +date: 2024-04-22 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 794787503c50b..915363cd8f6bf 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-17 +date: 2024-04-22 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 01457d50b2a92..9b858df0d1ab5 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-17 +date: 2024-04-22 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 193ab7a907fe9..7bb0060dd133b 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-17 +date: 2024-04-22 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 9b70d49ba9402..9139c6996acec 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-17 +date: 2024-04-22 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 d0ee84b965bbd..8fd2a888ea33a 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchConnectors'] --- import searchConnectorsObj from './search_connectors.devdocs.json'; diff --git a/api_docs/search_notebooks.mdx b/api_docs/search_notebooks.mdx index 3b8accefcf4cc..cfba252425311 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchNotebooks'] --- import searchNotebooksObj from './search_notebooks.devdocs.json'; diff --git a/api_docs/search_playground.mdx b/api_docs/search_playground.mdx index 53b1788fb4c3b..474e9aa2d4cb9 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'searchPlayground'] --- import searchPlaygroundObj from './search_playground.devdocs.json'; diff --git a/api_docs/security.devdocs.json b/api_docs/security.devdocs.json index 4f958a78236fd..f1f066c68bcc3 100644 --- a/api_docs/security.devdocs.json +++ b/api_docs/security.devdocs.json @@ -1070,6 +1070,45 @@ "deprecated": false, "trackAdoption": false, "initialIsOpen": false + }, + { + "parentPluginId": "security", + "id": "def-public.StartServices", + "type": "Type", + "tags": [], + "label": "StartServices", + "description": [], + "signature": [ + "{ i18n: ", + { + "pluginId": "@kbn/core-i18n-browser", + "scope": "common", + "docId": "kibKbnCoreI18nBrowserPluginApi", + "section": "def-common.I18nStart", + "text": "I18nStart" + }, + "; analytics: ", + { + "pluginId": "@kbn/core-analytics-browser", + "scope": "common", + "docId": "kibKbnCoreAnalyticsBrowserPluginApi", + "section": "def-common.AnalyticsServiceStart", + "text": "AnalyticsServiceStart" + }, + "; theme: ", + { + "pluginId": "@kbn/core-theme-browser", + "scope": "common", + "docId": "kibKbnCoreThemeBrowserPluginApi", + "section": "def-common.ThemeServiceSetup", + "text": "ThemeServiceSetup" + }, + "; }" + ], + "path": "x-pack/plugins/security/public/index.ts", + "deprecated": false, + "trackAdoption": false, + "initialIsOpen": false } ], "objects": [], diff --git a/api_docs/security.mdx b/api_docs/security.mdx index 85b502be77efc..e8a4efee4b987 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'security'] --- import securityObj from './security.devdocs.json'; @@ -21,7 +21,7 @@ Contact [@elastic/kibana-security](https://github.com/orgs/elastic/teams/kibana- | Public API count | Any count | Items lacking comments | Missing exports | |-------------------|-----------|------------------------|-----------------| -| 409 | 0 | 199 | 2 | +| 410 | 0 | 200 | 2 | ## Client diff --git a/api_docs/security_solution.devdocs.json b/api_docs/security_solution.devdocs.json index ce45ac0926cb9..eb49639aa8d75 100644 --- a/api_docs/security_solution.devdocs.json +++ b/api_docs/security_solution.devdocs.json @@ -390,7 +390,7 @@ "label": "data", "description": [], "signature": [ - "({ id: string; type: \"eql\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"eql\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; data_view_id?: string | undefined; filters?: unknown[] | undefined; event_category_override?: string | undefined; tiebreaker_field?: string | undefined; timestamp_field?: string | undefined; } | { id: string; type: \"query\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; saved_id?: string | undefined; response_actions?: ({ params: { query?: string | undefined; ecs_mapping?: Zod.objectOutputType<{}, Zod.ZodObject<{ field: Zod.ZodOptional; value: Zod.ZodOptional]>>; }, \"strip\", Zod.ZodTypeAny, { field?: string | undefined; value?: string | string[] | undefined; }, { field?: string | undefined; value?: string | string[] | undefined; }>, \"strip\"> | undefined; queries?: { id: string; query: string; ecs_mapping?: Zod.objectOutputType<{}, Zod.ZodObject<{ field: Zod.ZodOptional; value: Zod.ZodOptional]>>; }, \"strip\", Zod.ZodTypeAny, { field?: string | undefined; value?: string | string[] | undefined; }, { field?: string | undefined; value?: string | string[] | undefined; }>, \"strip\"> | undefined; version?: string | undefined; platform?: string | undefined; removed?: boolean | undefined; snapshot?: boolean | undefined; }[] | undefined; pack_id?: string | undefined; saved_query_id?: string | undefined; timeout?: number | undefined; }; action_type_id: \".osquery\"; } | { params: { command: \"isolate\"; comment?: string | undefined; } | { config: { field: string; overwrite: boolean; }; command: \"kill-process\" | \"suspend-process\"; comment?: string | undefined; }; action_type_id: \".endpoint\"; })[] | undefined; alert_suppression?: { group_by: string[]; duration?: { value: number; unit: \"m\" | \"h\" | \"s\"; } | undefined; missing_fields_strategy?: \"doNotSuppress\" | \"suppress\" | undefined; } | undefined; } | { id: string; type: \"saved_query\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; saved_id: string; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; query?: string | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; response_actions?: ({ params: { query?: string | undefined; ecs_mapping?: Zod.objectOutputType<{}, Zod.ZodObject<{ field: Zod.ZodOptional; value: Zod.ZodOptional]>>; }, \"strip\", Zod.ZodTypeAny, { field?: string | undefined; value?: string | string[] | undefined; }, { field?: string | undefined; value?: string | string[] | undefined; }>, \"strip\"> | undefined; queries?: { id: string; query: string; ecs_mapping?: Zod.objectOutputType<{}, Zod.ZodObject<{ field: Zod.ZodOptional; value: Zod.ZodOptional]>>; }, \"strip\", Zod.ZodTypeAny, { field?: string | undefined; value?: string | string[] | undefined; }, { field?: string | undefined; value?: string | string[] | undefined; }>, \"strip\"> | undefined; version?: string | undefined; platform?: string | undefined; removed?: boolean | undefined; snapshot?: boolean | undefined; }[] | undefined; pack_id?: string | undefined; saved_query_id?: string | undefined; timeout?: number | undefined; }; action_type_id: \".osquery\"; } | { params: { command: \"isolate\"; comment?: string | undefined; } | { config: { field: string; overwrite: boolean; }; command: \"kill-process\" | \"suspend-process\"; comment?: string | undefined; }; action_type_id: \".endpoint\"; })[] | undefined; alert_suppression?: { group_by: string[]; duration?: { value: number; unit: \"m\" | \"h\" | \"s\"; } | undefined; missing_fields_strategy?: \"doNotSuppress\" | \"suppress\" | undefined; } | undefined; } | { id: string; type: \"threshold\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; threshold: { value: number; field: (string | string[]) & (string | string[] | undefined); cardinality?: { value: number; field: string; }[] | undefined; }; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; saved_id?: string | undefined; alert_suppression?: { duration: { value: number; unit: \"m\" | \"h\" | \"s\"; }; } | undefined; } | { id: string; type: \"threat_match\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; threat_query: string; threat_mapping: { entries: { type: \"mapping\"; value: string; field: string; }[]; }[]; threat_index: string[]; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; saved_id?: string | undefined; alert_suppression?: { group_by: string[]; duration?: { value: number; unit: \"m\" | \"h\" | \"s\"; } | undefined; missing_fields_strategy?: \"doNotSuppress\" | \"suppress\" | undefined; } | undefined; threat_filters?: unknown[] | undefined; threat_indicator_path?: string | undefined; threat_language?: \"lucene\" | \"kuery\" | undefined; concurrent_searches?: number | undefined; items_per_search?: number | undefined; } | { id: string; type: \"machine_learning\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; anomaly_threshold: number; machine_learning_job_id: (string | string[]) & (string | string[] | undefined); namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; } | { id: string; type: \"new_terms\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; new_terms_fields: string[]; history_window_start: string; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; alert_suppression?: { group_by: string[]; duration?: { value: number; unit: \"m\" | \"h\" | \"s\"; } | undefined; missing_fields_strategy?: \"doNotSuppress\" | \"suppress\" | undefined; } | undefined; } | { id: string; type: \"esql\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"esql\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; })[]" + "({ id: string; type: \"eql\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"eql\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; data_view_id?: string | undefined; filters?: unknown[] | undefined; event_category_override?: string | undefined; tiebreaker_field?: string | undefined; timestamp_field?: string | undefined; alert_suppression?: { group_by: string[]; duration?: { value: number; unit: \"m\" | \"h\" | \"s\"; } | undefined; missing_fields_strategy?: \"doNotSuppress\" | \"suppress\" | undefined; } | undefined; } | { id: string; type: \"query\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; alert_suppression?: { group_by: string[]; duration?: { value: number; unit: \"m\" | \"h\" | \"s\"; } | undefined; missing_fields_strategy?: \"doNotSuppress\" | \"suppress\" | undefined; } | undefined; saved_id?: string | undefined; response_actions?: ({ params: { query?: string | undefined; ecs_mapping?: Zod.objectOutputType<{}, Zod.ZodObject<{ field: Zod.ZodOptional; value: Zod.ZodOptional]>>; }, \"strip\", Zod.ZodTypeAny, { field?: string | undefined; value?: string | string[] | undefined; }, { field?: string | undefined; value?: string | string[] | undefined; }>, \"strip\"> | undefined; queries?: { id: string; query: string; ecs_mapping?: Zod.objectOutputType<{}, Zod.ZodObject<{ field: Zod.ZodOptional; value: Zod.ZodOptional]>>; }, \"strip\", Zod.ZodTypeAny, { field?: string | undefined; value?: string | string[] | undefined; }, { field?: string | undefined; value?: string | string[] | undefined; }>, \"strip\"> | undefined; version?: string | undefined; platform?: string | undefined; removed?: boolean | undefined; snapshot?: boolean | undefined; }[] | undefined; pack_id?: string | undefined; saved_query_id?: string | undefined; timeout?: number | undefined; }; action_type_id: \".osquery\"; } | { params: { command: \"isolate\"; comment?: string | undefined; } | { config: { field: string; overwrite: boolean; }; command: \"kill-process\" | \"suspend-process\"; comment?: string | undefined; }; action_type_id: \".endpoint\"; })[] | undefined; } | { id: string; type: \"saved_query\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; saved_id: string; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; query?: string | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; alert_suppression?: { group_by: string[]; duration?: { value: number; unit: \"m\" | \"h\" | \"s\"; } | undefined; missing_fields_strategy?: \"doNotSuppress\" | \"suppress\" | undefined; } | undefined; response_actions?: ({ params: { query?: string | undefined; ecs_mapping?: Zod.objectOutputType<{}, Zod.ZodObject<{ field: Zod.ZodOptional; value: Zod.ZodOptional]>>; }, \"strip\", Zod.ZodTypeAny, { field?: string | undefined; value?: string | string[] | undefined; }, { field?: string | undefined; value?: string | string[] | undefined; }>, \"strip\"> | undefined; queries?: { id: string; query: string; ecs_mapping?: Zod.objectOutputType<{}, Zod.ZodObject<{ field: Zod.ZodOptional; value: Zod.ZodOptional]>>; }, \"strip\", Zod.ZodTypeAny, { field?: string | undefined; value?: string | string[] | undefined; }, { field?: string | undefined; value?: string | string[] | undefined; }>, \"strip\"> | undefined; version?: string | undefined; platform?: string | undefined; removed?: boolean | undefined; snapshot?: boolean | undefined; }[] | undefined; pack_id?: string | undefined; saved_query_id?: string | undefined; timeout?: number | undefined; }; action_type_id: \".osquery\"; } | { params: { command: \"isolate\"; comment?: string | undefined; } | { config: { field: string; overwrite: boolean; }; command: \"kill-process\" | \"suspend-process\"; comment?: string | undefined; }; action_type_id: \".endpoint\"; })[] | undefined; } | { id: string; type: \"threshold\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; threshold: { value: number; field: (string | string[]) & (string | string[] | undefined); cardinality?: { value: number; field: string; }[] | undefined; }; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; alert_suppression?: { duration: { value: number; unit: \"m\" | \"h\" | \"s\"; }; } | undefined; saved_id?: string | undefined; } | { id: string; type: \"threat_match\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; threat_query: string; threat_mapping: { entries: { type: \"mapping\"; value: string; field: string; }[]; }[]; threat_index: string[]; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; alert_suppression?: { group_by: string[]; duration?: { value: number; unit: \"m\" | \"h\" | \"s\"; } | undefined; missing_fields_strategy?: \"doNotSuppress\" | \"suppress\" | undefined; } | undefined; saved_id?: string | undefined; threat_filters?: unknown[] | undefined; threat_indicator_path?: string | undefined; threat_language?: \"lucene\" | \"kuery\" | undefined; concurrent_searches?: number | undefined; items_per_search?: number | undefined; } | { id: string; type: \"machine_learning\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; anomaly_threshold: number; machine_learning_job_id: (string | string[]) & (string | string[] | undefined); namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; } | { id: string; type: \"new_terms\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"kuery\" | \"lucene\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; new_terms_fields: string[]; history_window_start: string; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; index?: string[] | undefined; filters?: unknown[] | undefined; data_view_id?: string | undefined; alert_suppression?: { group_by: string[]; duration?: { value: number; unit: \"m\" | \"h\" | \"s\"; } | undefined; missing_fields_strategy?: \"doNotSuppress\" | \"suppress\" | undefined; } | undefined; } | { id: string; type: \"esql\"; name: string; actions: { params: {} & { [k: string]: unknown; }; id: string; group: string; action_type_id: string; uuid?: string | undefined; alerts_filter?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; frequency?: { throttle: string | null; notifyWhen: \"onActionGroupChange\" | \"onActiveAlert\" | \"onThrottleInterval\"; summary: boolean; } | undefined; }[]; tags: string[]; setup: string; enabled: boolean; revision: number; query: string; version: number; references: string[]; interval: string; description: string; risk_score: number; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; from: string; to: string; language: \"esql\"; created_at: string; created_by: string; updated_at: string; updated_by: string; author: string[]; immutable: boolean; rule_id: string; threat: { framework: string; tactic: { id: string; name: string; reference: string; }; technique?: { id: string; name: string; reference: string; subtechnique?: { id: string; name: string; reference: string; }[] | undefined; }[] | undefined; }[]; risk_score_mapping: { value: string; field: string; operator: \"equals\"; risk_score?: number | undefined; }[]; severity_mapping: { value: string; field: string; severity: \"medium\" | \"high\" | \"low\" | \"critical\"; operator: \"equals\"; }[]; exceptions_list: { id: string; type: \"endpoint\" | \"detection\" | \"rule_default\" | \"endpoint_trusted_apps\" | \"endpoint_events\" | \"endpoint_host_isolation_exceptions\" | \"endpoint_blocklists\"; list_id: string; namespace_type: \"single\" | \"agnostic\"; }[]; false_positives: string[]; max_signals: number; related_integrations: { version: string; package: string; integration?: string | undefined; }[]; required_fields: { type: string; name: string; ecs: boolean; }[]; namespace?: string | undefined; license?: string | undefined; throttle?: string | undefined; outcome?: \"exactMatch\" | \"aliasMatch\" | \"conflict\" | undefined; alias_target_id?: string | undefined; alias_purpose?: \"savedObjectConversion\" | \"savedObjectImport\" | undefined; meta?: Zod.objectOutputType<{}, Zod.ZodUnknown, \"strip\"> | undefined; note?: string | undefined; rule_name_override?: string | undefined; timestamp_override?: string | undefined; timestamp_override_fallback_disabled?: boolean | undefined; timeline_id?: string | undefined; timeline_title?: string | undefined; building_block_type?: string | undefined; output_index?: string | undefined; investigation_fields?: { field_names: string[]; } | undefined; execution_summary?: { last_execution: { message: string; date: string; status: \"running\" | \"succeeded\" | \"failed\" | \"going to run\" | \"partial failure\"; metrics: { total_search_duration_ms?: number | undefined; total_indexing_duration_ms?: number | undefined; total_enrichment_duration_ms?: number | undefined; execution_gap_duration_s?: number | undefined; }; status_order: number; }; } | undefined; })[]" ], "path": "x-pack/plugins/security_solution/public/detection_engine/rule_management/logic/types.ts", "deprecated": false, @@ -485,7 +485,7 @@ "\nExperimental flag needed to enable the link" ], "signature": [ - "\"assistantAlertsInsights\" | \"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" + "\"assistantAlertsInsights\" | \"assistantModelEvaluation\" | \"tGridEnabled\" | \"tGridEventRenderedViewEnabled\" | \"excludePoliciesInFilterEnabled\" | \"kubernetesEnabled\" | \"donutChartEmbeddablesEnabled\" | \"previewTelemetryUrlEnabled\" | \"insightsRelatedAlertsByProcessAncestry\" | \"extendedRuleExecutionLoggingEnabled\" | \"socTrendsEnabled\" | \"responseActionsEnabled\" | \"endpointResponseActionsEnabled\" | \"responseActionUploadEnabled\" | \"automatedProcessActionsEnabled\" | \"responseActionsSentinelOneV1Enabled\" | \"responseActionsSentinelOneV2Enabled\" | \"agentStatusClientEnabled\" | \"alertsPageChartsEnabled\" | \"alertTypeEnabled\" | \"expandableFlyoutInCreateRuleEnabled\" | \"expandableEventFlyoutEnabled\" | \"expandableTimelineFlyoutEnabled\" | \"alertsPageFiltersEnabled\" | \"newUserDetailsFlyout\" | \"newUserDetailsFlyoutManagedUser\" | \"newHostDetailsFlyout\" | \"riskScoringPersistence\" | \"riskScoringRoutesEnabled\" | \"esqlRulesDisabled\" | \"protectionUpdatesEnabled\" | \"disableTimelineSaveTour\" | \"riskEnginePrivilegesRouteEnabled\" | \"alertSuppressionForNewTermsRuleEnabled\" | \"alertSuppressionForNonSequenceEqlRuleEnabled\" | \"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, @@ -565,7 +565,7 @@ "\nExperimental flag needed to disable the link. Opposite of experimentalKey" ], "signature": [ - "\"assistantAlertsInsights\" | \"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" + "\"assistantAlertsInsights\" | \"assistantModelEvaluation\" | \"tGridEnabled\" | \"tGridEventRenderedViewEnabled\" | \"excludePoliciesInFilterEnabled\" | \"kubernetesEnabled\" | \"donutChartEmbeddablesEnabled\" | \"previewTelemetryUrlEnabled\" | \"insightsRelatedAlertsByProcessAncestry\" | \"extendedRuleExecutionLoggingEnabled\" | \"socTrendsEnabled\" | \"responseActionsEnabled\" | \"endpointResponseActionsEnabled\" | \"responseActionUploadEnabled\" | \"automatedProcessActionsEnabled\" | \"responseActionsSentinelOneV1Enabled\" | \"responseActionsSentinelOneV2Enabled\" | \"agentStatusClientEnabled\" | \"alertsPageChartsEnabled\" | \"alertTypeEnabled\" | \"expandableFlyoutInCreateRuleEnabled\" | \"expandableEventFlyoutEnabled\" | \"expandableTimelineFlyoutEnabled\" | \"alertsPageFiltersEnabled\" | \"newUserDetailsFlyout\" | \"newUserDetailsFlyoutManagedUser\" | \"newHostDetailsFlyout\" | \"riskScoringPersistence\" | \"riskScoringRoutesEnabled\" | \"esqlRulesDisabled\" | \"protectionUpdatesEnabled\" | \"disableTimelineSaveTour\" | \"riskEnginePrivilegesRouteEnabled\" | \"alertSuppressionForNewTermsRuleEnabled\" | \"alertSuppressionForNonSequenceEqlRuleEnabled\" | \"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, @@ -1964,7 +1964,7 @@ "label": "experimentalFeatures", "description": [], "signature": [ - "{ 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 assistantAlertsInsights: 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; }" + "{ 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 agentStatusClientEnabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantAlertsInsights: 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 alertSuppressionForNonSequenceEqlRuleEnabled: 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, @@ -3030,7 +3030,7 @@ "\nThe security solution generic experimental features" ], "signature": [ - "{ 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 assistantAlertsInsights: 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; }" + "{ 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 agentStatusClientEnabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantAlertsInsights: 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 alertSuppressionForNonSequenceEqlRuleEnabled: 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, @@ -3206,7 +3206,7 @@ "label": "ExperimentalFeatures", "description": [], "signature": [ - "{ 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 assistantAlertsInsights: 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; }" + "{ 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 agentStatusClientEnabled: boolean; readonly alertsPageChartsEnabled: boolean; readonly alertTypeEnabled: boolean; readonly expandableFlyoutInCreateRuleEnabled: boolean; readonly expandableEventFlyoutEnabled: boolean; readonly expandableTimelineFlyoutEnabled: boolean; readonly alertsPageFiltersEnabled: boolean; readonly assistantAlertsInsights: 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 alertSuppressionForNonSequenceEqlRuleEnabled: 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, @@ -3272,7 +3272,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 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 assistantAlertsInsights: false; 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; }" + "{ 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 agentStatusClientEnabled: false; readonly alertsPageChartsEnabled: true; readonly alertTypeEnabled: false; readonly expandableFlyoutInCreateRuleEnabled: true; readonly expandableEventFlyoutEnabled: false; readonly expandableTimelineFlyoutEnabled: false; readonly alertsPageFiltersEnabled: true; readonly assistantAlertsInsights: false; 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 alertSuppressionForNonSequenceEqlRuleEnabled: 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 1535130a0bf77..1cfc592de431f 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'securitySolution'] --- import securitySolutionObj from './security_solution.devdocs.json'; diff --git a/api_docs/security_solution_ess.mdx b/api_docs/security_solution_ess.mdx index 3541ed965994e..457d194ad0b57 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-17 +date: 2024-04-22 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 caca046a3193c..dec14b98c890c 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-17 +date: 2024-04-22 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 3c7c1dcb67ad5..7176016c690e8 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-17 +date: 2024-04-22 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 485982c33c5b5..6b3b45aef01e4 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-17 +date: 2024-04-22 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 e0e4fdb49845f..49452d9a42fbc 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-17 +date: 2024-04-22 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 7630d5f51f716..8dea3d115b5e7 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-17 +date: 2024-04-22 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 99b66aa4f0f45..b751d2f24d96f 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-17 +date: 2024-04-22 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 a2d89f32837fc..8569572644da4 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-17 +date: 2024-04-22 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 89db36e83c9d8..6f7d7327395b1 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-17 +date: 2024-04-22 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 4e8eff2543063..94ae40556f4cb 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'spaces'] --- import spacesObj from './spaces.devdocs.json'; diff --git a/api_docs/stack_alerts.mdx b/api_docs/stack_alerts.mdx index 401d3ef4d4e9e..6249f96728d94 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackAlerts'] --- import stackAlertsObj from './stack_alerts.devdocs.json'; diff --git a/api_docs/stack_connectors.mdx b/api_docs/stack_connectors.mdx index 9f7e66480bb38..922d463f2ff73 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'stackConnectors'] --- import stackConnectorsObj from './stack_connectors.devdocs.json'; diff --git a/api_docs/task_manager.mdx b/api_docs/task_manager.mdx index d93f01f60713b..a490742b358c1 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-17 +date: 2024-04-22 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 19f85d6d7be13..a609ae19976c5 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-17 +date: 2024-04-22 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 05d7a32e96a84..2e3b5245d368f 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-17 +date: 2024-04-22 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 4708647e7346a..87e2e4954a0f4 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-17 +date: 2024-04-22 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 4e673c9f070e4..c1d4978fbee45 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-17 +date: 2024-04-22 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 6d67d949528e7..7c6d63831db20 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-17 +date: 2024-04-22 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 d702b86f4cb60..c88d77085fe24 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'threatIntelligence'] --- import threatIntelligenceObj from './threat_intelligence.devdocs.json'; diff --git a/api_docs/timelines.mdx b/api_docs/timelines.mdx index f02daa8e6c449..952af2b1313f2 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-17 +date: 2024-04-22 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 bec32994157fa..3d7158d258dda 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'transform'] --- import transformObj from './transform.devdocs.json'; diff --git a/api_docs/triggers_actions_ui.mdx b/api_docs/triggers_actions_ui.mdx index 420a55a491cb0..fb1d973d38972 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'triggersActionsUi'] --- import triggersActionsUiObj from './triggers_actions_ui.devdocs.json'; diff --git a/api_docs/ui_actions.mdx b/api_docs/ui_actions.mdx index 1288e319778b2..eece7d0b5044d 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-17 +date: 2024-04-22 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 dee8ee1f74796..5b64256b770ce 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-17 +date: 2024-04-22 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 70a31a011b905..89afaaa69a4dd 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-17 +date: 2024-04-22 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 f1ea1530495d4..8c776770ad3fe 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-17 +date: 2024-04-22 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 25790502a14ac..e44ee3f7c5075 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-17 +date: 2024-04-22 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 bb9462a3045c3..0b23a1ae32862 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-17 +date: 2024-04-22 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 c8e1d4acc437a..6e2e24361e183 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-17 +date: 2024-04-22 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 cf907b72a16fa..fdfd6a9f761c2 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-17 +date: 2024-04-22 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 be27994971d4f..dd341eb1cd820 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-17 +date: 2024-04-22 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 095d0fe6fad52..18a57050fd0d5 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-17 +date: 2024-04-22 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 7f2d41c518b64..8bca77cd5b679 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-17 +date: 2024-04-22 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 d4df4d878ca3a..827143b871488 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-17 +date: 2024-04-22 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 68be2a6e5c32d..eed495383b769 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-17 +date: 2024-04-22 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 3e2cb3efdc64f..845e21cbbce5d 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-17 +date: 2024-04-22 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 059b94050dfad..6dd2020f2ac1c 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-17 +date: 2024-04-22 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 07a347f687760..6c2a8fa2947e9 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-17 +date: 2024-04-22 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 0e1dc14d2f434..22c6db6d8d777 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-17 +date: 2024-04-22 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 e1701c4f7bcd0..f579396e7a764 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-17 +date: 2024-04-22 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 512dbd060ba46..9c054c3b9f3c7 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-17 +date: 2024-04-22 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 7c22949122b8c..af9204a7c262d 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-17 +date: 2024-04-22 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 d7d4421aaf90a..ce4d9feecde38 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-17 +date: 2024-04-22 tags: ['contributor', 'dev', 'apidocs', 'kibana', 'visualizations'] --- import visualizationsObj from './visualizations.devdocs.json'; diff --git a/config/serverless.yml b/config/serverless.yml index 00d43341d068c..a87d7a2913bfe 100644 --- a/config/serverless.yml +++ b/config/serverless.yml @@ -126,6 +126,8 @@ xpack.alerting.rules.run.timeout: 1m xpack.alerting.rules.run.ruleTypeOverrides: - id: siem.indicatorRule timeout: 10m + - id: siem.eqlRule + timeout: 5m xpack.alerting.rules.minimumScheduleInterval.enforce: true xpack.alerting.rules.maxScheduledPerMinute: 400 xpack.actions.run.maxAttempts: 10 @@ -139,6 +141,7 @@ uiSettings: # Task Manager xpack.task_manager.allow_reading_invalid_state: false xpack.task_manager.request_timeouts.update_by_query: 60000 +xpack.task_manager.metrics_reset_interval: 120000 # Reporting feature xpack.screenshotting.enabled: false diff --git a/docs/redirects.asciidoc b/docs/redirects.asciidoc index be017fbd1c94e..007a9d9f48cfc 100644 --- a/docs/redirects.asciidoc +++ b/docs/redirects.asciidoc @@ -432,4 +432,9 @@ This connector was renamed. Refer to <>. == APIs For the most up-to-date API details, refer to the -{kib-repo}/tree/{branch}/x-pack/plugins/alerting/docs/openapi[alerting], {kib-repo}/tree/{branch}/x-pack/plugins/cases/docs/openapi[cases], {kib-repo}/tree/{branch}/x-pack/plugins/actions/docs/openapi[connectors], and {kib-repo}/tree/{branch}/x-pack/plugins/ml/common/openapi[machine learning] open API specifications. \ No newline at end of file +{kib-repo}/tree/{branch}/x-pack/plugins/alerting/docs/openapi[alerting], {kib-repo}/tree/{branch}/x-pack/plugins/cases/docs/openapi[cases], {kib-repo}/tree/{branch}/x-pack/plugins/actions/docs/openapi[connectors], and {kib-repo}/tree/{branch}/x-pack/plugins/ml/common/openapi[machine learning] open API specifications. + +[role="exclude",id="playground"] +== Playground + +Coming in 8.14.0. \ No newline at end of file diff --git a/docs/setup/configuring-logging.asciidoc b/docs/setup/configuring-logging.asciidoc index 38c5594a8e78f..f7527d4454ae8 100644 --- a/docs/setup/configuring-logging.asciidoc +++ b/docs/setup/configuring-logging.asciidoc @@ -21,11 +21,14 @@ __<>__ define how log messages are formatted and what t [[log-level]] === Log level -Currently we support the following log levels: _all_, _fatal_, _error_, _warn_, _info_, _debug_, _trace_, _off_. +Currently we support the following log levels: _off_, _fatal_, _error_, _warn_, _info_, _debug_, _trace_, _all_. -Levels are ordered, so _all_ > _fatal_ > _error_ > _warn_ > _info_ > _debug_ > _trace_ > _off_. +Levels are ordered, so _off_ > _fatal_ > _error_ > _warn_ > _info_ > _debug_ > _trace_ > _all_. -A log record will be logged by the logger if its level is higher than or equal to the level of its logger. Otherwise, the log record is ignored. +A log record will be logged by the logger if its level is higher than or equal to the level of its logger. For example: +If the output of an API call is configured to log at the `info` level and the parameters passed to the API call are set to `debug`, with a global logging configuration in `kibana.yml` set to `debug`, both the output _and_ parameters are logged. If the log level is set to `info`, the debug logs are ignored, meaning that you'll only get a record for the API output and _not_ for the parameters. + +Logging set at a plugin level is always respected, regardless of the `root` logger level. In other words, if root logger is set to fatal and pluginA logging is set to `debug`, debug logs are only shown for pluginA, with other logs only reporting on `fatal`. The _all_ and _off_ levels can only be used in configuration and are handy shortcuts that allow you to log every log record or disable logging entirely for a specific logger. These levels can also be specified using <>. diff --git a/examples/data_view_field_editor_example/public/app.tsx b/examples/data_view_field_editor_example/public/app.tsx index 71e10634cd818..336c29aa2a1ca 100644 --- a/examples/data_view_field_editor_example/public/app.tsx +++ b/examples/data_view_field_editor_example/public/app.tsx @@ -7,6 +7,7 @@ */ import { + EuiProvider, DefaultItemAction, EuiButton, EuiCheckbox, @@ -121,7 +122,6 @@ const DataViewFieldEditorExample = ({ dataView, dataViewFieldEditor }: Props) => items={fields} columns={columns} pagination={true} - hasActions={true} sorting={{ sort: { field: 'name', @@ -135,10 +135,12 @@ const DataViewFieldEditorExample = ({ dataView, dataViewFieldEditor }: Props) => ); return ( - - - {content} - + + + + {content} + + ); }; diff --git a/examples/field_formats_example/public/app.tsx b/examples/field_formats_example/public/app.tsx index 6aa2f2d5e6c75..2961925f0a160 100644 --- a/examples/field_formats_example/public/app.tsx +++ b/examples/field_formats_example/public/app.tsx @@ -14,6 +14,7 @@ import { EuiCodeBlock, EuiLink, EuiPageTemplate, + EuiProvider, EuiSpacer, EuiText, EuiTitle, @@ -61,7 +62,6 @@ const UsingAnExistingFieldFormatExample: React.FC<{ deps: Deps }> = (props) => { = (props) => { = (props) => { export const App: React.FC<{ deps: Deps }> = (props) => { return ( - - - - -

Using an existing field format

-
- - -
- - -

Creating a custom field format

-
- - -
- - -

Creating a custom field format editor

-
- - -
-
+ + + + + +

Using an existing field format

+
+ + +
+ + +

Creating a custom field format

+
+ + +
+ + +

Creating a custom field format editor

+
+ + +
+
+
); }; diff --git a/examples/files_example/public/components/app.tsx b/examples/files_example/public/components/app.tsx index db0968d7b43f2..5fea8c5fbc42d 100644 --- a/examples/files_example/public/components/app.tsx +++ b/examples/files_example/public/components/app.tsx @@ -12,6 +12,7 @@ import type { FileJSON } from '@kbn/files-plugin/common'; import type { FilesClientResponses } from '@kbn/files-plugin/public'; import { + EuiProvider, EuiPageTemplate, EuiInMemoryTable, EuiInMemoryTableProps, @@ -131,7 +132,7 @@ export const FilesExampleApp = ({ files, notifications }: FilesExampleAppDeps) = ]; return ( - <> + @@ -185,6 +186,6 @@ export const FilesExampleApp = ({ files, notifications }: FilesExampleAppDeps) = }} /> )} - + ); }; diff --git a/examples/partial_results_example/public/app/app.tsx b/examples/partial_results_example/public/app/app.tsx index 333ce7f6c263e..fb0fe9e3dbef4 100644 --- a/examples/partial_results_example/public/app/app.tsx +++ b/examples/partial_results_example/public/app/app.tsx @@ -9,6 +9,7 @@ import React, { useContext, useEffect, useState } from 'react'; import { pluck } from 'rxjs'; import { + EuiProvider, EuiBasicTable, EuiCallOut, EuiCodeBlock, @@ -40,35 +41,36 @@ export function App() { }, [expressions]); return ( - - - - -

- This example listens for the window events and adds them to the table along with a - trigger counter. -

-
- - {expression} - - {datatable ? ( - ({ - field, - name, - 'data-test-subj': `example-column-${field.toLowerCase()}`, - }))} - items={datatable.rows ?? []} - /> - ) : ( - -

Click or press any key.

-
- )} -
-
+ + + + + +

+ This example listens for the window events and adds them to the table along with a + trigger counter. +

+
+ + {expression} + + {datatable ? ( + ({ + field, + name, + 'data-test-subj': `example-column-${field.toLowerCase()}`, + }))} + items={datatable.rows ?? []} + /> + ) : ( + +

Click or press any key.

+
+ )} +
+
+
); } diff --git a/examples/ui_action_examples/kibana.jsonc b/examples/ui_action_examples/kibana.jsonc index 3de8e301bae2e..2d7efc3de9cea 100644 --- a/examples/ui_action_examples/kibana.jsonc +++ b/examples/ui_action_examples/kibana.jsonc @@ -10,8 +10,6 @@ "requiredPlugins": [ "uiActions" ], - "requiredBundles": [ - "kibanaReact" - ] + "requiredBundles": [] } } diff --git a/examples/ui_action_examples/public/hello_world_action.tsx b/examples/ui_action_examples/public/hello_world_action.tsx index cb82f8f58a665..46d306f80b5e7 100644 --- a/examples/ui_action_examples/public/hello_world_action.tsx +++ b/examples/ui_action_examples/public/hello_world_action.tsx @@ -8,14 +8,12 @@ import React from 'react'; import { EuiText, EuiModalBody, EuiButton } from '@elastic/eui'; -import { OverlayStart } from '@kbn/core/public'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { CoreStart } from '@kbn/core/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; export const ACTION_HELLO_WORLD = 'ACTION_HELLO_WORLD'; -interface StartServices { - openModal: OverlayStart['openModal']; -} +type StartServices = Pick; export const createHelloWorldActionDefinition = ( getStartServices: () => Promise @@ -24,15 +22,16 @@ export const createHelloWorldActionDefinition = ( type: ACTION_HELLO_WORLD, getDisplayName: () => 'Hello World!', execute: async () => { - const { openModal } = await getStartServices(); - const overlay = openModal( + const { overlays, ...startServices } = await getStartServices(); + const overlay = overlays.openModal( toMountPoint( Hello world! overlay.close()}> Close - + , + startServices ) ); }, diff --git a/examples/ui_action_examples/public/plugin.ts b/examples/ui_action_examples/public/plugin.ts index 8b740b556cacc..286882ddde94d 100644 --- a/examples/ui_action_examples/public/plugin.ts +++ b/examples/ui_action_examples/public/plugin.ts @@ -29,14 +29,14 @@ export class UiActionExamplesPlugin ) { uiActions.registerTrigger(helloWorldTrigger); - const helloWorldAction = createHelloWorldActionDefinition(async () => ({ - openModal: (await core.getStartServices())[0].overlays.openModal, - })); + const helloWorldAction = createHelloWorldActionDefinition( + async () => (await core.getStartServices())[0] + ); uiActions.addTriggerAction(helloWorldTrigger.id, helloWorldAction); } - public start(core: CoreStart, plugins: UiActionExamplesStartDependencies) {} + public start(_core: CoreStart, _plugins: UiActionExamplesStartDependencies) {} public stop() {} } diff --git a/examples/ui_action_examples/tsconfig.json b/examples/ui_action_examples/tsconfig.json index b87f7cdf0d864..807e2eace4bc4 100644 --- a/examples/ui_action_examples/tsconfig.json +++ b/examples/ui_action_examples/tsconfig.json @@ -14,8 +14,8 @@ "target/**/*", ], "kbn_references": [ - "@kbn/kibana-react-plugin", "@kbn/ui-actions-plugin", "@kbn/core", + "@kbn/react-kibana-mount", ] } diff --git a/examples/ui_actions_explorer/kibana.jsonc b/examples/ui_actions_explorer/kibana.jsonc index e6c2c188c2f97..350a132a16cf7 100644 --- a/examples/ui_actions_explorer/kibana.jsonc +++ b/examples/ui_actions_explorer/kibana.jsonc @@ -12,8 +12,6 @@ "uiActionsExamples", "developerExamples" ], - "requiredBundles": [ - "kibanaReact" - ] + "requiredBundles": [] } } diff --git a/examples/ui_actions_explorer/public/actions/actions.tsx b/examples/ui_actions_explorer/public/actions/actions.tsx index 573778a504df3..63c50b1aec034 100644 --- a/examples/ui_actions_explorer/public/actions/actions.tsx +++ b/examples/ui_actions_explorer/public/actions/actions.tsx @@ -7,10 +7,10 @@ */ import React from 'react'; -import { OverlayStart } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { EuiFieldText, EuiModalBody, EuiButton } from '@elastic/eui'; import { useState } from 'react'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { ActionExecutionContext, createAction, @@ -102,15 +102,19 @@ function EditUserModal({ ); } -export const createEditUserAction = (getOpenModal: () => Promise) => +export const createEditUserAction = (getStartServices: () => Promise) => createAction({ id: ACTION_EDIT_USER, type: ACTION_EDIT_USER, getIconType: () => 'pencil', getDisplayName: () => 'Edit user', execute: async ({ user, update }) => { - const overlay = (await getOpenModal())( - toMountPoint( overlay.close()} />) + const { overlays, ...startServices } = await getStartServices(); + const overlay = overlays.openModal( + toMountPoint( + overlay.close()} />, + startServices + ) ); }, }); diff --git a/examples/ui_actions_explorer/public/app.tsx b/examples/ui_actions_explorer/public/app.tsx index 31ac9c3c29ed9..3b5d3a99274f7 100644 --- a/examples/ui_actions_explorer/public/app.tsx +++ b/examples/ui_actions_explorer/public/app.tsx @@ -17,8 +17,8 @@ import { EuiSpacer, EuiPageHeader, } from '@elastic/eui'; +import { AppMountParameters, CoreStart } from '@kbn/core/public'; import { UiActionsStart } from '@kbn/ui-actions-plugin/public'; -import { AppMountParameters, OverlayStart } from '@kbn/core/public'; import { TriggerContextExample } from './trigger_context_example'; import { ContextMenuExamples } from './context_menu_examples'; import { Overview } from './overview'; @@ -26,10 +26,10 @@ import { HelloWorldExample } from './hello_world_example'; interface Props { uiActionsStartService: UiActionsStart; - openModal: OverlayStart['openModal']; + core: CoreStart; } -const ActionsExplorer = ({ uiActionsStartService, openModal }: Props) => { +const ActionsExplorer = ({ uiActionsStartService, core }: Props) => { return ( @@ -42,10 +42,7 @@ const ActionsExplorer = ({ uiActionsStartService, openModal }: Props) => { - + diff --git a/examples/ui_actions_explorer/public/hello_world_example.tsx b/examples/ui_actions_explorer/public/hello_world_example.tsx index 14fa8cae32606..89f5c23d00940 100644 --- a/examples/ui_actions_explorer/public/hello_world_example.tsx +++ b/examples/ui_actions_explorer/public/hello_world_example.tsx @@ -9,19 +9,19 @@ import React, { useState } from 'react'; import { EuiButton, EuiSpacer, EuiText, EuiModalBody, EuiLink, EuiSwitch } from '@elastic/eui'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { UiActionsStart, createAction } from '@kbn/ui-actions-plugin/public'; -import { OverlayStart } from '@kbn/core/public'; +import { CoreStart } from '@kbn/core/public'; import { HELLO_WORLD_TRIGGER_ID, ACTION_HELLO_WORLD } from '@kbn/ui-actions-examples-plugin/public'; const DYNAMIC_ACTION_ID = `${ACTION_HELLO_WORLD}-Waldo`; interface Props { uiActionsStartService: UiActionsStart; - openModal: OverlayStart['openModal']; + startServices: Pick; } -export const HelloWorldExample = ({ uiActionsStartService, openModal }: Props) => { +export const HelloWorldExample = ({ uiActionsStartService, startServices }: Props) => { const [isChecked, setIsChecked] = useState(false); const actionsMessage = isChecked ? '2 actions attached' : '1 action attached'; @@ -70,14 +70,15 @@ export const HelloWorldExample = ({ uiActionsStartService, openModal }: Props) = type: ACTION_HELLO_WORLD, getDisplayName: () => 'Say hello to Waldo', execute: async () => { - const overlay = openModal( + const overlay = startServices.overlays.openModal( toMountPoint( Hello Waldo{' '} overlay.close()}> Close - + , + startServices ) ); }, diff --git a/examples/ui_actions_explorer/public/plugin.tsx b/examples/ui_actions_explorer/public/plugin.tsx index fdb2357f40cdd..fc95dad91615a 100644 --- a/examples/ui_actions_explorer/public/plugin.tsx +++ b/examples/ui_actions_explorer/public/plugin.tsx @@ -51,7 +51,7 @@ export class UiActionsExplorerPlugin implements Plugin (await startServices)[0].overlays.openModal) + createEditUserAction(async () => (await startServices)[0]) ); deps.uiActions.addTriggerAction(COUNTRY_TRIGGER, viewInMapsAction); @@ -68,10 +68,7 @@ export class UiActionsExplorerPlugin implements Plugin({ data-test-subj="itemsInMemTable" rowHeader="attributes.title" tableCaption={tableCaption} - isSelectable /> ); } diff --git a/packages/core/apps/core-apps-browser-internal/src/errors/error_application.tsx b/packages/core/apps/core-apps-browser-internal/src/errors/error_application.tsx index 02ef568f18302..35b562b0d97de 100644 --- a/packages/core/apps/core-apps-browser-internal/src/errors/error_application.tsx +++ b/packages/core/apps/core-apps-browser-internal/src/errors/error_application.tsx @@ -13,7 +13,7 @@ import { i18n } from '@kbn/i18n'; import { I18nProvider } from '@kbn/i18n-react'; import { EuiPageTemplate } from '@elastic/eui'; -import { CoreThemeProvider } from '@kbn/core-theme-browser-internal'; +import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme'; import type { IBasePath } from '@kbn/core-http-browser'; import type { AppMountParameters } from '@kbn/core-application-browser'; import { UrlOverflowUi } from './url_overflow_ui'; @@ -77,9 +77,9 @@ interface Deps { export const renderApp = ({ element, history, theme$ }: AppMountParameters, { basePath }: Deps) => { ReactDOM.render( - + - + , element ); diff --git a/packages/core/apps/core-apps-browser-internal/src/status/components/__snapshots__/status_table.test.tsx.snap b/packages/core/apps/core-apps-browser-internal/src/status/components/__snapshots__/status_table.test.tsx.snap index cb10255eb9998..934027aa35ea7 100644 --- a/packages/core/apps/core-apps-browser-internal/src/status/components/__snapshots__/status_table.test.tsx.snap +++ b/packages/core/apps/core-apps-browser-internal/src/status/components/__snapshots__/status_table.test.tsx.snap @@ -38,7 +38,6 @@ exports[`StatusTable renders when statuses is provided 1`] = ` ] } data-test-subj="statusBreakdown" - isExpandable={true} itemId={[Function]} itemIdToExpandedRowMap={Object {}} items={ @@ -58,7 +57,6 @@ exports[`StatusTable renders when statuses is provided 1`] = ` }, ] } - responsive={true} rowProps={[Function]} searchFormat="eql" sorting={ diff --git a/packages/core/apps/core-apps-browser-internal/src/status/components/status_table.tsx b/packages/core/apps/core-apps-browser-internal/src/status/components/status_table.tsx index 37833ebfde923..977dd3efb3e0e 100644 --- a/packages/core/apps/core-apps-browser-internal/src/status/components/status_table.tsx +++ b/packages/core/apps/core-apps-browser-internal/src/status/components/status_table.tsx @@ -104,7 +104,6 @@ export const StatusTable: FunctionComponent = ({ statuses }) = columns={tableColumns} itemId={(item) => item.id} items={statuses} - isExpandable={true} itemIdToExpandedRowMap={itemIdToExpandedRowMap} rowProps={({ state }) => ({ className: `status-table-row-${state.uiColor}`, diff --git a/packages/core/apps/core-apps-browser-internal/src/status/render_app.tsx b/packages/core/apps/core-apps-browser-internal/src/status/render_app.tsx index a2af773a239ad..90d38e8e25116 100644 --- a/packages/core/apps/core-apps-browser-internal/src/status/render_app.tsx +++ b/packages/core/apps/core-apps-browser-internal/src/status/render_app.tsx @@ -9,7 +9,7 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { I18nProvider } from '@kbn/i18n-react'; -import { CoreThemeProvider } from '@kbn/core-theme-browser-internal'; +import { KibanaThemeProvider } from '@kbn/react-kibana-context-theme'; import type { InternalHttpSetup } from '@kbn/core-http-browser-internal'; import type { NotificationsSetup } from '@kbn/core-notifications-browser'; import type { AppMountParameters } from '@kbn/core-application-browser'; @@ -26,9 +26,9 @@ export const renderApp = ( ) => { ReactDOM.render( - + - + , element ); diff --git a/packages/core/apps/core-apps-browser-internal/tsconfig.json b/packages/core/apps/core-apps-browser-internal/tsconfig.json index 46a1b4b6a6291..35e25675fe078 100644 --- a/packages/core/apps/core-apps-browser-internal/tsconfig.json +++ b/packages/core/apps/core-apps-browser-internal/tsconfig.json @@ -23,7 +23,6 @@ "@kbn/core-notifications-browser", "@kbn/core-application-browser", "@kbn/core-application-browser-internal", - "@kbn/core-theme-browser-internal", "@kbn/core-mount-utils-browser-internal", "@kbn/core-status-common-internal", "@kbn/core-http-browser-internal", @@ -35,6 +34,7 @@ "@kbn/core-status-common", "@kbn/core-doc-links-browser-mocks", "@kbn/test-jest-helpers", + "@kbn/react-kibana-context-theme", ], "exclude": [ "target/**/*", diff --git a/packages/core/http/core-http-router-server-internal/src/router.test.ts b/packages/core/http/core-http-router-server-internal/src/router.test.ts index 314d774aaac0c..f3b25ba7e5696 100644 --- a/packages/core/http/core-http-router-server-internal/src/router.test.ts +++ b/packages/core/http/core-http-router-server-internal/src/router.test.ts @@ -135,6 +135,12 @@ describe('Router', () => { expect(lazyValidation).toHaveBeenCalledTimes(1); }); + it('registers pluginId if provided', () => { + const pluginId = Symbol('test'); + const router = new Router('', logger, enhanceWithContext, { pluginId }); + expect(router.pluginId).toBe(pluginId); + }); + describe('Options', () => { it('throws if validation for a route is not defined explicitly', () => { const router = new Router('', logger, enhanceWithContext, routerOptions); diff --git a/packages/core/http/core-http-router-server-internal/src/router.ts b/packages/core/http/core-http-router-server-internal/src/router.ts index 81ee29e76e4f1..cce67dc335577 100644 --- a/packages/core/http/core-http-router-server-internal/src/router.ts +++ b/packages/core/http/core-http-router-server-internal/src/router.ts @@ -125,6 +125,9 @@ export interface RouterOptions { /** Whether we are running in development */ isDev?: boolean; + /** Plugin for which this router was registered */ + pluginId?: symbol; + versionedRouterOptions?: { /** {@inheritdoc VersionedRouterArgs['defaultHandlerResolutionStrategy'] }*/ defaultHandlerResolutionStrategy?: 'newest' | 'oldest' | 'none'; @@ -163,6 +166,7 @@ export class Router { public routes: Array> = []; + public pluginId?: symbol; public get: InternalRegistrar<'get', Context>; public post: InternalRegistrar<'post', Context>; public delete: InternalRegistrar<'delete', Context>; @@ -175,6 +179,7 @@ export class Router, private readonly options: RouterOptions ) { + this.pluginId = options.pluginId; const buildMethod = (method: Method) => ( diff --git a/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.test.ts b/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.test.ts index fa552bee52526..8b5a7d23fa0ee 100644 --- a/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.test.ts +++ b/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.test.ts @@ -24,6 +24,12 @@ describe('Versioned router', () => { expect(versionedRouter.getRoutes()).toHaveLength(3); }); + it('registers pluginId if router has one', () => { + const pluginId = Symbol('test'); + const versionedRouter = CoreVersionedRouter.from({ router: createRouter({ pluginId }) }); + expect(versionedRouter.pluginId).toBe(pluginId); + }); + it('provides the expected metadata', () => { const versionedRouter = CoreVersionedRouter.from({ router }); versionedRouter.get({ path: '/test/{id}', access: 'internal' }); diff --git a/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts b/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts index 0ab36d6c4f675..32dfee36ddf91 100644 --- a/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts +++ b/packages/core/http/core-http-router-server-internal/src/versioned_router/core_versioned_router.ts @@ -43,6 +43,7 @@ export interface VersionedRouterArgs { export class CoreVersionedRouter implements VersionedRouter { private readonly routes = new Set(); public readonly useVersionResolutionStrategyForInternalPaths: Map = new Map(); + public pluginId?: symbol; public static from({ router, defaultHandlerResolutionStrategy, @@ -62,6 +63,7 @@ export class CoreVersionedRouter implements VersionedRouter { public readonly isDev: boolean = false, useVersionResolutionStrategyForInternalPaths: string[] = [] ) { + this.pluginId = this.router.pluginId; for (const path of useVersionResolutionStrategyForInternalPaths) { this.useVersionResolutionStrategyForInternalPaths.set(path, true); } diff --git a/packages/core/http/core-http-router-server-internal/src/versioned_router/mocks.ts b/packages/core/http/core-http-router-server-internal/src/versioned_router/mocks.ts index 433481378d1f2..c8e7165b8554a 100644 --- a/packages/core/http/core-http-router-server-internal/src/versioned_router/mocks.ts +++ b/packages/core/http/core-http-router-server-internal/src/versioned_router/mocks.ts @@ -8,7 +8,10 @@ import { Router } from '../router'; -export function createRouter() { +interface CreateMockRouterOptions { + pluginId?: symbol; +} +export function createRouter(opts: CreateMockRouterOptions = {}) { return { delete: jest.fn(), get: jest.fn(), @@ -19,5 +22,6 @@ export function createRouter() { patch: jest.fn(), routerPath: '', versioned: {} as any, + pluginId: opts.pluginId, } as unknown as jest.Mocked; } diff --git a/packages/core/http/core-http-server-internal/src/__snapshots__/http_config.test.ts.snap b/packages/core/http/core-http-server-internal/src/__snapshots__/http_config.test.ts.snap index ceb5134f71e2c..b6566b66bd00d 100644 --- a/packages/core/http/core-http-server-internal/src/__snapshots__/http_config.test.ts.snap +++ b/packages/core/http/core-http-server-internal/src/__snapshots__/http_config.test.ts.snap @@ -73,6 +73,9 @@ Object { "valueInBytes": 1048576, }, "name": "kibana-hostname", + "oas": Object { + "enabled": false, + }, "payloadTimeout": 20000, "port": 5601, "requestId": Object { diff --git a/packages/core/http/core-http-server-internal/src/http_config.test.ts b/packages/core/http/core-http-server-internal/src/http_config.test.ts index 45886865ca945..6cc9042b14b9c 100644 --- a/packages/core/http/core-http-server-internal/src/http_config.test.ts +++ b/packages/core/http/core-http-server-internal/src/http_config.test.ts @@ -494,6 +494,11 @@ describe('cors', () => { }); }); +test('oas is disabled by default', () => { + const { oas } = config.schema.validate({}); + expect(oas.enabled).toBe(false); +}); + describe('versioned', () => { it('defaults version resolution "oldest" not in dev', () => { expect(config.schema.validate({}, { dev: undefined })).toMatchObject({ diff --git a/packages/core/http/core-http-server-internal/src/http_config.ts b/packages/core/http/core-http-server-internal/src/http_config.ts index dde050c44e762..ac5072958a512 100644 --- a/packages/core/http/core-http-server-internal/src/http_config.ts +++ b/packages/core/http/core-http-server-internal/src/http_config.ts @@ -46,7 +46,7 @@ const validHostName = () => { * We assume the URL does not contain anything after the pathname so that * we can safely append values to the pathname at runtime. */ -function validateCdnURL(urlString: string): undefined | string { +export const validateCdnURL = (urlString: string) => { const cdnURL = new URL(urlString); const errors: string[] = []; if (cdnURL.hash.length) { @@ -58,7 +58,7 @@ function validateCdnURL(urlString: string): undefined | string { if (errors.length) { return `CDN URL "${cdnURL.href}" is invalid:${EOL}${errors.join(EOL)}`; } -} +}; const configSchema = schema.object( { @@ -82,6 +82,9 @@ const configSchema = schema.object( cdn: schema.object({ url: schema.maybe(schema.uri({ scheme: ['http', 'https'], validate: validateCdnURL })), }), + oas: schema.object({ + enabled: schema.boolean({ defaultValue: false }), + }), cors: schema.object( { enabled: schema.boolean({ defaultValue: false }), @@ -290,6 +293,9 @@ export class HttpConfig implements IHttpConfig { allowCredentials: boolean; allowOrigin: string[]; }; + public oas: { + enabled: boolean; + }; public securityResponseHeaders: Record; public customResponseHeaders: Record; public maxPayload: ByteSizeValue; @@ -363,6 +369,7 @@ export class HttpConfig implements IHttpConfig { this.restrictInternalApis = rawHttpConfig.restrictInternalApis ?? false; this.eluMonitor = rawHttpConfig.eluMonitor; this.versioned = rawHttpConfig.versioned; + this.oas = rawHttpConfig.oas; } } diff --git a/packages/core/http/core-http-server-internal/src/http_server.ts b/packages/core/http/core-http-server-internal/src/http_server.ts index 7d0c90faa71ad..236b9567ddcb7 100644 --- a/packages/core/http/core-http-server-internal/src/http_server.ts +++ b/packages/core/http/core-http-server-internal/src/http_server.ts @@ -19,14 +19,13 @@ import { } from '@kbn/server-http-tools'; import type { Duration } from 'moment'; -import { firstValueFrom, Observable, Subscription } from 'rxjs'; -import { take, pairwise } from 'rxjs'; +import { Observable, Subscription, firstValueFrom, pairwise, take } from 'rxjs'; import apm from 'elastic-apm-node'; // @ts-expect-error no type definition import Brok from 'brok'; import type { Logger, LoggerFactory } from '@kbn/logging'; import type { InternalExecutionContextSetup } from '@kbn/core-execution-context-server-internal'; -import { isSafeMethod } from '@kbn/core-http-router-server-internal'; +import { CoreVersionedRouter, isSafeMethod, Router } from '@kbn/core-http-router-server-internal'; import type { IRouter, RouteConfigOptions, @@ -168,6 +167,11 @@ export interface HttpServerSetupOptions { executionContext?: InternalExecutionContextSetup; } +/** @internal */ +export interface GetRoutersOptions { + pluginId?: string; +} + export class HttpServer { private server?: Server; private config?: HttpConfig; @@ -624,6 +628,38 @@ export class HttpServer { }); } + public getRouters({ pluginId }: GetRoutersOptions = {}): { + routers: Router[]; + versionedRouters: CoreVersionedRouter[]; + } { + const routers: { + routers: Router[]; + versionedRouters: CoreVersionedRouter[]; + } = { + routers: [], + versionedRouters: [], + }; + const pluginIdFilter = pluginId ? Symbol(pluginId).toString() : undefined; + + for (const router of this.registeredRouters) { + const matchesIdFilter = + !pluginIdFilter || (router as Router).pluginId?.toString() === pluginIdFilter; + + if ( + matchesIdFilter && + (router as Router).getRoutes({ excludeVersionedRoutes: true }).length > 0 + ) { + routers.routers.push(router as Router); + } + + const versionedRouter = router.versioned as CoreVersionedRouter; + if (matchesIdFilter && versionedRouter.getRoutes().length > 0) { + routers.versionedRouters.push(versionedRouter); + } + } + return routers; + } + private registerStaticDir(path: string, dirPath: string) { if (this.server === undefined) { throw new Error('Http server is not setup up yet'); diff --git a/packages/core/http/core-http-server-internal/src/http_service.ts b/packages/core/http/core-http-server-internal/src/http_service.ts index f6cf47ddf65c5..b61f9bc5c041d 100644 --- a/packages/core/http/core-http-server-internal/src/http_service.ts +++ b/packages/core/http/core-http-server-internal/src/http_service.ts @@ -6,10 +6,11 @@ * Side Public License, v 1. */ -import { Observable, Subscription, combineLatest, firstValueFrom } from 'rxjs'; +import { Observable, Subscription, combineLatest, firstValueFrom, of, mergeMap } from 'rxjs'; import { map } from 'rxjs'; -import { pick } from '@kbn/std'; +import { pick, Semaphore } from '@kbn/std'; +import { generateOpenApiDocument } from '@kbn/router-to-openapispec'; import { Logger } from '@kbn/logging'; import { Env } from '@kbn/config'; import type { CoreContext, CoreService } from '@kbn/core-base-server-internal'; @@ -52,6 +53,7 @@ export interface SetupDeps { export class HttpService implements CoreService { + private static readonly generateOasSemaphore = new Semaphore(1); private readonly prebootServer: HttpServer; private isPrebootServerStopped = false; private readonly httpServer: HttpServer; @@ -182,6 +184,7 @@ export class HttpService const router = new Router(path, this.log, enhanceHandler, { isDev: this.env.mode.dev, versionedRouterOptions: getVersionedRouterOptions(config), + pluginId, }); registerRouter(router); return router; @@ -222,12 +225,65 @@ export class HttpService await this.httpsRedirectServer.start(config); } + if (config.oas.enabled) { + this.log.info('Registering experimental OAS API'); + this.registerOasApi(config); + } + await this.httpServer.start(); } return this.getStartContract(); } + private registerOasApi(config: HttpConfig) { + const basePath = this.internalSetup?.basePath; + const server = this.internalSetup?.server; + if (!basePath || !server) { + throw new Error('Cannot register OAS API before server setup is complete'); + } + + const baseUrl = + basePath.publicBaseUrl ?? `http://localhost:${config.port}${basePath.serverBasePath}`; + + server.route({ + path: '/api/oas', + method: 'GET', + handler: async (req, h) => { + const pathStartsWith = req.query?.pathStartsWith; + const pluginId = req.query?.pluginId; + return await firstValueFrom( + of(1).pipe( + HttpService.generateOasSemaphore.acquire(), + mergeMap(async () => { + try { + // Potentially quite expensive + const result = generateOpenApiDocument(this.httpServer.getRouters({ pluginId }), { + baseUrl, + title: 'Kibana HTTP APIs', + version: '0.0.0', // TODO get a better version here + pathStartsWith, + }); + return h.response(result); + } catch (e) { + this.log.error(e); + return h.response({ message: e.message }).code(500); + } + }) + ) + ); + }, + options: { + app: { access: 'public' }, + auth: false, + cache: { + privacy: 'public', + otherwise: 'must-revalidate', + }, + }, + }); + } + /** * Indicates if http server is configured to start listening on a configured port. * (if `server.autoListen` is not explicitly set to `false`.) diff --git a/packages/core/http/core-http-server-internal/tsconfig.json b/packages/core/http/core-http-server-internal/tsconfig.json index 7c52ff584a532..8e76d71f341da 100644 --- a/packages/core/http/core-http-server-internal/tsconfig.json +++ b/packages/core/http/core-http-server-internal/tsconfig.json @@ -33,6 +33,7 @@ "@kbn/core-execution-context-server-mocks", "@kbn/core-http-context-server-mocks", "@kbn/logging-mocks", + "@kbn/router-to-openapispec", "@kbn/core-base-server-mocks", ], "exclude": [ diff --git a/packages/core/http/core-http-server-mocks/index.ts b/packages/core/http/core-http-server-mocks/index.ts index 2813b8686b3c7..ede0cabecc58c 100644 --- a/packages/core/http/core-http-server-mocks/index.ts +++ b/packages/core/http/core-http-server-mocks/index.ts @@ -17,4 +17,4 @@ export type { InternalHttpServiceSetupMock, InternalHttpServiceStartMock, } from './src/http_service.mock'; -export { createCoreContext, createHttpServer, createConfigService } from './src/test_utils'; +export { createCoreContext, createHttpService, createConfigService } from './src/test_utils'; diff --git a/packages/core/http/core-http-server-mocks/src/test_utils.ts b/packages/core/http/core-http-server-mocks/src/test_utils.ts index 1588f06056b8b..552306cefbab3 100644 --- a/packages/core/http/core-http-server-mocks/src/test_utils.ts +++ b/packages/core/http/core-http-server-mocks/src/test_utils.ts @@ -19,6 +19,7 @@ import { type ExternalUrlConfigType, type CspConfigType, HttpService, + config, } from '@kbn/core-http-server-internal'; const coreId = Symbol('core'); @@ -38,38 +39,43 @@ export const createConfigService = ({ const configService = configServiceMock.create(); configService.atPath.mockImplementation((path) => { if (path === 'server') { - return new BehaviorSubject({ - name: 'kibana', - hosts: ['localhost'], - maxPayload: new ByteSizeValue(1024), - autoListen: true, - ssl: { - enabled: false, - }, - cors: { - enabled: false, - }, - compression: { enabled: true, brotli: { enabled: false } }, - xsrf: { - disableProtection: true, - allowlist: [], - }, - securityResponseHeaders: {}, - customResponseHeaders: {}, - requestId: { - allowFromAnyIp: true, - ipAllowlist: [], - }, - shutdownTimeout: moment.duration(30, 'seconds'), - keepaliveTimeout: 120_000, - socketTimeout: 120_000, - restrictInternalApis: false, - versioned: { - versionResolution: 'oldest', - strictClientVersionCheck: true, - }, - ...server, - } as any); + return new BehaviorSubject( + Object.assign( + config.schema.validate({}), + { + name: 'kibana', + hosts: ['localhost'], + maxPayload: new ByteSizeValue(1024), + autoListen: true, + ssl: { + enabled: false, + }, + cors: { + enabled: false, + }, + compression: { enabled: true, brotli: { enabled: false } }, + xsrf: { + disableProtection: true, + allowlist: [], + }, + securityResponseHeaders: {}, + customResponseHeaders: {}, + requestId: { + allowFromAnyIp: true, + ipAllowlist: [], + }, + shutdownTimeout: moment.duration(30, 'seconds'), + keepaliveTimeout: 120_000, + socketTimeout: 120_000, + restrictInternalApis: false, + versioned: { + versionResolution: 'oldest', + strictClientVersionCheck: true, + }, + }, + server + ) + ); } if (path === 'externalUrl') { return new BehaviorSubject({ @@ -105,9 +111,9 @@ export const createCoreContext = (overrides: Partial = {}): CoreCon }); /** - * Creates a concrete HttpServer with a mocked context. + * Creates a concrete HttpService with a mocked context. */ -export const createHttpServer = ({ +export const createHttpService = ({ buildNum, ...overrides }: Partial = {}): HttpService => { diff --git a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap index 44170ebcfb06e..d9fc8ecec8050 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap +++ b/packages/core/i18n/core-i18n-browser-internal/src/__snapshots__/i18n_service.test.tsx.snap @@ -14,7 +14,7 @@ exports[`#start() returns \`Context\` component 1`] = ` "euiAutoRefresh.buttonLabelOn": [Function], "euiBasicTable.noItemsMessage": "No items found", "euiBasicTable.selectAllRows": "Select all rows", - "euiBasicTable.selectThisRow": "Select this row", + "euiBasicTable.selectThisRow": [Function], "euiBasicTable.tableAutoCaptionWithPagination": [Function], "euiBasicTable.tableAutoCaptionWithoutPagination": [Function], "euiBasicTable.tableCaptionWithPagination": [Function], diff --git a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx index e4f769c8779c7..3ea767bc5b6bc 100644 --- a/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx +++ b/packages/core/i18n/core-i18n-browser-internal/src/i18n_eui_mapping.tsx @@ -38,10 +38,12 @@ export const getEuiContextMapping = (): EuiTokensObject => { defaultMessage: 'Select all rows', description: 'ARIA and displayed label on a checkbox to select all table rows', }), - 'euiBasicTable.selectThisRow': i18n.translate('core.euiBasicTable.selectThisRow', { - defaultMessage: 'Select this row', - description: 'ARIA and displayed label on a checkbox to select a single table row', - }), + 'euiBasicTable.selectThisRow': ({ index }: EuiValues) => + i18n.translate('core.euiBasicTable.selectThisRow', { + defaultMessage: 'Select row {index}', + values: { index }, + description: 'ARIA and displayed label on a checkbox to select a single table row', + }), 'euiBasicTable.tableCaptionWithPagination': ({ tableCaption, page, pageCount }: EuiValues) => i18n.translate('core.euiBasicTable.tableCaptionWithPagination', { defaultMessage: '{tableCaption}; Page {page} of {pageCount}.', diff --git a/packages/core/i18n/core-i18n-browser-mocks/src/i18n_context_mock.test.tsx b/packages/core/i18n/core-i18n-browser-mocks/src/i18n_context_mock.test.tsx new file mode 100644 index 0000000000000..840b7c1f5c226 --- /dev/null +++ b/packages/core/i18n/core-i18n-browser-mocks/src/i18n_context_mock.test.tsx @@ -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 React from 'react'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { I18nProviderMock } from './i18n_context_mock'; +import { shallow } from 'enzyme'; + +describe('I18nProviderMock', () => { + it('interpolates to default message if present', () => { + expect( + shallow( + + + + ).html() + ).toMatchInlineSnapshot(`"default message"`); + }); + + it('interpolates to id if default message is not present', () => { + expect( + shallow( + + + + ).html() + ).toMatchInlineSnapshot(`"id"`); + }); +}); diff --git a/packages/core/i18n/core-i18n-browser-mocks/src/i18n_context_mock.tsx b/packages/core/i18n/core-i18n-browser-mocks/src/i18n_context_mock.tsx new file mode 100644 index 0000000000000..44fa1645eae95 --- /dev/null +++ b/packages/core/i18n/core-i18n-browser-mocks/src/i18n_context_mock.tsx @@ -0,0 +1,28 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0 and the Server Side Public License, v 1; you may not use this file except + * in compliance with, at your election, the Elastic License 2.0 or the Server + * Side Public License, v 1. + */ + +import React from 'react'; +// eslint-disable-next-line @kbn/eslint/module_migration +import { IntlProvider } from 'react-intl'; +import { i18n } from '@kbn/i18n'; + +const emptyMessages = {}; + +export const I18nProviderMock: React.FC = ({ children }) => { + return ( + + {children} + + ); +}; diff --git a/packages/core/i18n/core-i18n-browser-mocks/src/i18n_service.mock.ts b/packages/core/i18n/core-i18n-browser-mocks/src/i18n_service.mock.ts index ed4e4891ff1d7..4716762d1624b 100644 --- a/packages/core/i18n/core-i18n-browser-mocks/src/i18n_service.mock.ts +++ b/packages/core/i18n/core-i18n-browser-mocks/src/i18n_service.mock.ts @@ -6,17 +6,15 @@ * Side Public License, v 1. */ -import React from 'react'; import type { PublicMethodsOf } from '@kbn/utility-types'; -import { I18nService } from '@kbn/core-i18n-browser-internal'; +import type { I18nService } from '@kbn/core-i18n-browser-internal'; import type { I18nStart } from '@kbn/core-i18n-browser'; - -const PassThroughComponent = ({ children }: { children: React.ReactNode }) => children; +import { I18nProviderMock } from './i18n_context_mock'; const createStartContractMock = () => { const setupContract: jest.Mocked = { - // By default mock the Context component so it simply renders all children - Context: jest.fn().mockImplementation(PassThroughComponent), + // Stubbed provider returning the default message or id + Context: jest.fn().mockImplementation(I18nProviderMock), }; return setupContract; }; diff --git a/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json b/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json index e7888be88e12d..6cf758c606349 100644 --- a/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json +++ b/packages/core/i18n/core-i18n-browser-mocks/tsconfig.json @@ -8,12 +8,15 @@ ] }, "include": [ - "**/*.ts" + "**/*.ts", + "**/*.tsx" ], "kbn_references": [ "@kbn/utility-types", "@kbn/core-i18n-browser", - "@kbn/core-i18n-browser-internal" + "@kbn/core-i18n-browser-internal", + "@kbn/i18n-react", + "@kbn/i18n" ], "exclude": [ "target/**/*", diff --git a/packages/core/notifications/core-notifications-browser-internal/src/toasts/error_toast.tsx b/packages/core/notifications/core-notifications-browser-internal/src/toasts/error_toast.tsx index 0b40fc5425cf7..e494b0294f948 100644 --- a/packages/core/notifications/core-notifications-browser-internal/src/toasts/error_toast.tsx +++ b/packages/core/notifications/core-notifications-browser-internal/src/toasts/error_toast.tsx @@ -17,8 +17,8 @@ import { EuiModalFooter, EuiModalHeader, EuiModalHeaderTitle, + EuiSpacer, } from '@elastic/eui'; -import { EuiSpacer } from '@elastic/eui'; import { FormattedMessage } from '@kbn/i18n-react'; import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; @@ -26,14 +26,17 @@ import type { OverlayStart } from '@kbn/core-overlays-browser'; import { ThemeServiceStart } from '@kbn/core-theme-browser'; import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; -interface ErrorToastProps { +interface StartServices { + analytics: AnalyticsServiceStart; + i18n: I18nStart; + theme: ThemeServiceStart; +} + +interface ErrorToastProps extends StartServices { title: string; error: Error; toastMessage: string; openModal: OverlayStart['openModal']; - analytics: AnalyticsServiceStart; - i18n: I18nStart; - theme: ThemeServiceStart; } interface RequestError extends Error { @@ -57,9 +60,7 @@ export function showErrorDialog({ title, error, openModal, - analytics, - i18n, - theme, + ...startServices }: Pick) { let text = ''; @@ -74,7 +75,7 @@ export function showErrorDialog({ const modal = openModal( mount( - + {title} @@ -107,9 +108,7 @@ export function ErrorToast({ error, toastMessage, openModal, - analytics, - i18n, - theme, + ...startServices }: ErrorToastProps) { return ( @@ -119,7 +118,7 @@ export function ErrorToast({ size="s" color="danger" data-test-subj="errorToastBtn" - onClick={() => showErrorDialog({ title, error, openModal, analytics, i18n, theme })} + onClick={() => showErrorDialog({ title, error, openModal, ...startServices })} > { let service: InternalOverlayBannersStart; beforeEach(() => { service = new OverlayBannersService().start({ + analytics: analyticsServiceMock.createAnalyticsServiceStart(), i18n: i18nServiceMock.createStartContract(), + theme: themeServiceMock.createStartContract(), uiSettings: uiSettingsServiceMock.createStartContract(), }); }); diff --git a/packages/core/overlays/core-overlays-browser-internal/src/banners/banners_service.tsx b/packages/core/overlays/core-overlays-browser-internal/src/banners/banners_service.tsx index 4ae4c6b18baa6..d67d3b598a2eb 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/banners/banners_service.tsx +++ b/packages/core/overlays/core-overlays-browser-internal/src/banners/banners_service.tsx @@ -10,7 +10,9 @@ import React from 'react'; import { BehaviorSubject, type Observable } from 'rxjs'; import { map } from 'rxjs'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; +import type { ThemeServiceStart } from '@kbn/core-theme-browser'; import type { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; import type { MountPoint } from '@kbn/core-mount-utils-browser'; import type { OverlayBannersStart } from '@kbn/core-overlays-browser'; @@ -18,8 +20,13 @@ import { PriorityMap } from './priority_map'; import { BannersList } from './banners_list'; import { UserBannerService } from './user_banner_service'; -interface StartDeps { +interface StartServices { + analytics: AnalyticsServiceStart; i18n: I18nStart; + theme: ThemeServiceStart; +} + +interface StartDeps extends StartServices { uiSettings: IUiSettingsClient; } @@ -39,7 +46,7 @@ export interface OverlayBanner { export class OverlayBannersService { private readonly userBanner = new UserBannerService(); - public start({ i18n, uiSettings }: StartDeps): InternalOverlayBannersStart { + public start({ uiSettings, ...startServices }: StartDeps): InternalOverlayBannersStart { let uniqueId = 0; const genId = () => `${uniqueId++}`; const banners$ = new BehaviorSubject(new PriorityMap()); @@ -79,7 +86,7 @@ export class OverlayBannersService { }, }; - this.userBanner.start({ banners: service, i18n, uiSettings }); + this.userBanner.start({ banners: service, uiSettings, ...startServices }); return service; } diff --git a/packages/core/overlays/core-overlays-browser-internal/src/banners/user_banner_service.test.ts b/packages/core/overlays/core-overlays-browser-internal/src/banners/user_banner_service.test.ts index a0143b37c04bf..105958ab87274 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/banners/user_banner_service.test.ts +++ b/packages/core/overlays/core-overlays-browser-internal/src/banners/user_banner_service.test.ts @@ -9,7 +9,9 @@ import { uiSettingsServiceMock } from '@kbn/core-ui-settings-browser-mocks'; import { UserBannerService } from './user_banner_service'; import { overlayBannersServiceMock } from './banners_service.test.mocks'; +import { analyticsServiceMock } from '@kbn/core-analytics-browser-mocks'; import { i18nServiceMock } from '@kbn/core-i18n-browser-mocks'; +import { themeServiceMock } from '@kbn/core-theme-browser-mocks'; import { Subject } from 'rxjs'; describe('OverlayBannersService', () => { @@ -33,7 +35,9 @@ describe('OverlayBannersService', () => { service = new UserBannerService(); service.start({ banners, + analytics: analyticsServiceMock.createAnalyticsServiceStart(), i18n: i18nServiceMock.createStartContract(), + theme: themeServiceMock.createStartContract(), uiSettings, }); }; diff --git a/packages/core/overlays/core-overlays-browser-internal/src/banners/user_banner_service.tsx b/packages/core/overlays/core-overlays-browser-internal/src/banners/user_banner_service.tsx index b4eb687f604b2..6ae9d5736c0e0 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/banners/user_banner_service.tsx +++ b/packages/core/overlays/core-overlays-browser-internal/src/banners/user_banner_service.tsx @@ -14,13 +14,21 @@ import { Subscription } from 'rxjs'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiCallOut, EuiButton, EuiLoadingSpinner } from '@elastic/eui'; +import type { AnalyticsServiceStart } from '@kbn/core-analytics-browser'; +import type { ThemeServiceStart } from '@kbn/core-theme-browser'; import type { I18nStart } from '@kbn/core-i18n-browser'; import type { IUiSettingsClient } from '@kbn/core-ui-settings-browser'; import type { OverlayBannersStart } from '@kbn/core-overlays-browser'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; -interface StartDeps { - banners: OverlayBannersStart; +interface StartServices { + analytics: AnalyticsServiceStart; i18n: I18nStart; + theme: ThemeServiceStart; +} + +interface StartDeps extends StartServices { + banners: OverlayBannersStart; uiSettings: IUiSettingsClient; } @@ -33,7 +41,7 @@ const ReactMarkdownLazy = React.lazy(() => import('react-markdown')); export class UserBannerService { private settingsSubscription?: Subscription; - public start({ banners, i18n, uiSettings }: StartDeps) { + public start({ banners, uiSettings, ...startServices }: StartDeps) { let id: string | undefined; let timeout: any; @@ -55,7 +63,7 @@ export class UserBannerService { id, (el) => { ReactDOM.render( - + - , + , el ); diff --git a/packages/core/overlays/core-overlays-browser-internal/src/flyout/__snapshots__/flyout_service.test.tsx.snap b/packages/core/overlays/core-overlays-browser-internal/src/flyout/__snapshots__/flyout_service.test.tsx.snap index bb50e7397a729..fbf6c6dbf5d0b 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/flyout/__snapshots__/flyout_service.test.tsx.snap +++ b/packages/core/overlays/core-overlays-browser-internal/src/flyout/__snapshots__/flyout_service.test.tsx.snap @@ -114,33 +114,118 @@ Array [ "results": Array [ Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, ], }, @@ -222,33 +307,118 @@ Array [ "results": Array [ Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, ], }, diff --git a/packages/core/overlays/core-overlays-browser-internal/src/modal/__snapshots__/modal_service.test.tsx.snap b/packages/core/overlays/core-overlays-browser-internal/src/modal/__snapshots__/modal_service.test.tsx.snap index ce53f3fbae63c..e9e13c83b92c5 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/modal/__snapshots__/modal_service.test.tsx.snap +++ b/packages/core/overlays/core-overlays-browser-internal/src/modal/__snapshots__/modal_service.test.tsx.snap @@ -66,33 +66,118 @@ Array [ "results": Array [ Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, ], }, @@ -297,66 +382,236 @@ Array [ "results": Array [ Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, ], }, @@ -586,144 +841,91 @@ Array [ "results": Array [ Object { "type": "return", - "value": - - - - - - , - }, - Object { - "type": "return", - "value": - - - - - - , - }, - Object { - "type": "return", - "value": - - - Some message - - - , - }, - ], - }, - } - } - theme={ - Object { - "getTheme": [MockFunction], - "theme$": Observable { - "_subscribe": [Function], - }, - } - } - > - - confirm 1 - - , -
, - ], - Array [ - - , - }, - Object {}, - ], - Array [ - Object { - "children": + , + }, + Object { + "type": "return", + "value": + - , - }, - Object {}, - ], - Array [ - Object { - "children": + , + }, + Object { + "type": "return", + "value": + - , - }, - Object {}, - ], - ], - "results": Array [ - Object { - "type": "return", - "value": - - - - - - , - }, - Object { - "type": "return", - "value": - - - - - - , - }, - Object { - "type": "return", - "value": - - - Some message - - - , + + , }, ], }, @@ -934,16 +1206,11 @@ Array [ onCancel={[Function]} onConfirm={[Function]} > - some confirm + confirm 1 ,
, ], -] -`; - -exports[`ModalService openConfirm() with a currently active modal replaces the current modal with the new confirm 1`] = ` -Array [ Array [ - - - - - - , + + + + + + + + , }, Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, Object { "type": "return", - "value": - - - Some message - - - , + + + + Some message + + + + , }, ], }, @@ -1171,17 +1693,22 @@ Array [ } } > - - - + some confirm + ,
, ], +] +`; + +exports[`ModalService openConfirm() with a currently active modal replaces the current modal with the new confirm 1`] = ` +Array [ Array [ - , - }, - Object {}, - ], - Array [ - Object { - "children": , + }, + Object {}, + ], + Array [ + Object { + "children": + + + Some message + + + , + }, + Object {}, + ], + ], + "results": Array [ + Object { + "type": "return", + "value": + + + + + + + + , + }, + Object { + "type": "return", + "value": + + + + + + + + , + }, + Object { + "type": "return", + "value": + + + + Some message + + + + , + }, + ], + }, + } + } + theme={ + Object { + "getTheme": [MockFunction], + "theme$": Observable { + "_subscribe": [Function], + }, + } + } + > + + + + , +
, + ], + Array [ + + + + + + + , + }, + Object {}, + ], + Array [ + Object { + "children": + + + + + + , + }, + Object {}, + ], + Array [ + Object { + "children": + + + Some message + + + , + }, + Object {}, + ], + ], + "results": Array [ + Object { + "type": "return", + "value": + + + + + + + + , + }, + Object { + "type": "return", + "value": + + + + + + + + , + }, + Object { + "type": "return", + "value": + - , - }, - Object {}, - ], - ], - "results": Array [ - Object { - "type": "return", - "value": - - - - - - , - }, - Object { - "type": "return", - "value": - - - - - - , - }, - Object { - "type": "return", - "value": - - - Some message - - - , + + , }, ], }, @@ -1560,33 +2835,118 @@ Array [ "results": Array [ Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, ], }, @@ -1668,33 +3028,118 @@ Array [ "results": Array [ Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, ], }, @@ -1781,33 +3226,118 @@ Array [ "results": Array [ Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, ], }, @@ -1889,33 +3419,118 @@ Array [ "results": Array [ Object { "type": "return", - "value": - - - - - - , + + + + + + + + , }, ], }, diff --git a/packages/core/overlays/core-overlays-browser-internal/src/overlay_service.ts b/packages/core/overlays/core-overlays-browser-internal/src/overlay_service.ts index 4860a84559d48..ca1a932564f17 100644 --- a/packages/core/overlays/core-overlays-browser-internal/src/overlay_service.ts +++ b/packages/core/overlays/core-overlays-browser-internal/src/overlay_service.ts @@ -39,7 +39,7 @@ export class OverlayService { targetDomElement: flyoutElement, }); - const banners = this.bannersService.start({ i18n, uiSettings }); + const banners = this.bannersService.start({ uiSettings, analytics, i18n, theme }); const modalElement = document.createElement('div'); targetDomElement.appendChild(modalElement); diff --git a/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.tsx b/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.tsx index 38a7dec34690d..0cfa0a0da2bc4 100644 --- a/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.tsx +++ b/packages/core/rendering/core-rendering-browser-internal/src/rendering_service.tsx @@ -19,14 +19,17 @@ import type { ThemeServiceStart } from '@kbn/core-theme-browser'; import { KibanaRootContextProvider } from '@kbn/react-kibana-context-root'; import { AppWrapper } from './app_containers'; -export interface StartDeps { +interface StartServices { analytics: AnalyticsServiceStart; + i18n: I18nStart; + theme: ThemeServiceStart; +} + +export interface StartDeps extends StartServices { application: InternalApplicationStart; chrome: InternalChromeStart; overlays: OverlayStart; targetDomElement: HTMLDivElement; - theme: ThemeServiceStart; - i18n: I18nStart; } /** @@ -38,7 +41,7 @@ export interface StartDeps { * @internal */ export class RenderingService { - start({ analytics, application, chrome, overlays, theme, i18n, targetDomElement }: StartDeps) { + start({ application, chrome, overlays, targetDomElement, ...startServices }: StartDeps) { const chromeHeader = chrome.getHeaderComponent(); const appComponent = application.getComponent(); const bannerComponent = overlays.banners.getComponent(); @@ -53,12 +56,7 @@ export class RenderingService { }); ReactDOM.render( - + <> {/* Fixed headers */} {chromeHeader} diff --git a/packages/core/rendering/core-rendering-browser-internal/tsconfig.json b/packages/core/rendering/core-rendering-browser-internal/tsconfig.json index 7a02ff379609b..42c59f96b2471 100644 --- a/packages/core/rendering/core-rendering-browser-internal/tsconfig.json +++ b/packages/core/rendering/core-rendering-browser-internal/tsconfig.json @@ -15,8 +15,6 @@ "kbn_references": [ "@kbn/core-application-common", "@kbn/core-application-browser-internal", - "@kbn/core-theme-browser", - "@kbn/core-i18n-browser", "@kbn/core-overlays-browser", "@kbn/core-chrome-browser-internal", "@kbn/core-application-browser-mocks", @@ -25,8 +23,10 @@ "@kbn/core-theme-browser-mocks", "@kbn/core-i18n-browser-mocks", "@kbn/react-kibana-context-root", - "@kbn/core-analytics-browser", "@kbn/core-analytics-browser-mocks", + "@kbn/core-analytics-browser", + "@kbn/core-i18n-browser", + "@kbn/core-theme-browser" ], "exclude": [ "target/**/*", diff --git a/packages/core/test-helpers/core-test-helpers-test-utils/src/setup_server.ts b/packages/core/test-helpers/core-test-helpers-test-utils/src/setup_server.ts index a4365a883fde4..37bd5ce8b3dbe 100644 --- a/packages/core/test-helpers/core-test-helpers-test-utils/src/setup_server.ts +++ b/packages/core/test-helpers/core-test-helpers-test-utils/src/setup_server.ts @@ -8,7 +8,7 @@ import { executionContextServiceMock } from '@kbn/core-execution-context-server-mocks'; import { ContextService } from '@kbn/core-http-context-server-internal'; -import { createHttpServer, createCoreContext } from '@kbn/core-http-server-mocks'; +import { createHttpService, createCoreContext } from '@kbn/core-http-server-mocks'; import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; import { savedObjectsClientMock } from '@kbn/core-saved-objects-api-server-mocks'; import { typeRegistryMock } from '@kbn/core-saved-objects-base-server-mocks'; @@ -43,7 +43,7 @@ export const setupServer = async (coreId: symbol = defaultCoreId) => { const coreContext = createCoreContext({ coreId }); const contextService = new ContextService(coreContext); - const server = createHttpServer(coreContext); + const server = createHttpService(coreContext); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const httpSetup = await server.setup({ context: contextService.setup({ pluginDependencies: new Map() }), diff --git a/packages/kbn-alerts-ui-shared/src/rule_type_modal/components/index.tsx b/packages/kbn-alerts-ui-shared/src/rule_type_modal/components/index.tsx index e7d89c76e6650..8ae14f462f772 100644 --- a/packages/kbn-alerts-ui-shared/src/rule_type_modal/components/index.tsx +++ b/packages/kbn-alerts-ui-shared/src/rule_type_modal/components/index.tsx @@ -6,6 +6,7 @@ * Side Public License, v 1. */ +import { countBy } from 'lodash'; import React, { useMemo, useState } from 'react'; import type { HttpStart } from '@kbn/core-http-browser'; import type { ToastsStart } from '@kbn/core-notifications-browser'; @@ -43,6 +44,14 @@ export const RuleTypeModalComponent: React.FC = ({ registeredRuleTypes, }); + // Count producers before filtering. This is used to determine if we should show the categories, + // and categories should only be hidden if there is only one producer BEFORE filters are applied, + // e.g. on oblt serverless + const hasOnlyOneProducer = useMemo(() => { + const producerCount = countBy([...ruleTypeIndex.values()], 'producer'); + return Object.keys(producerCount).length === 1; + }, [ruleTypeIndex]); + const [ruleTypes, ruleTypeCountsByProducer] = useMemo( () => filterAndCountRuleTypes(ruleTypeIndex, selectedProducer, searchString), [ruleTypeIndex, searchString, selectedProducer] @@ -58,6 +67,7 @@ export const RuleTypeModalComponent: React.FC = ({ onFilterByProducer={setSelectedProducer} selectedProducer={selectedProducer} searchString={searchString} + showCategories={!hasOnlyOneProducer} /> ); }; diff --git a/packages/kbn-alerts-ui-shared/src/rule_type_modal/components/rule_type_list.tsx b/packages/kbn-alerts-ui-shared/src/rule_type_modal/components/rule_type_list.tsx index 7eb1ead13c727..8bb47f145de9a 100644 --- a/packages/kbn-alerts-ui-shared/src/rule_type_modal/components/rule_type_list.tsx +++ b/packages/kbn-alerts-ui-shared/src/rule_type_modal/components/rule_type_list.tsx @@ -31,6 +31,7 @@ interface RuleTypeListProps { selectedProducer: string | null; ruleTypeCountsByProducer: RuleTypeCountsByProducer; onClearFilters: () => void; + showCategories: boolean; } const producerToDisplayName = (producer: string) => { @@ -44,6 +45,7 @@ export const RuleTypeList: React.FC = ({ selectedProducer, ruleTypeCountsByProducer, onClearFilters, + showCategories = true, }) => { const ruleTypesList = [...ruleTypes].sort((a, b) => a.name.localeCompare(b.name)); const { euiTheme } = useEuiTheme(); @@ -66,30 +68,36 @@ export const RuleTypeList: React.FC = ({ [ruleTypeCountsByProducer, onFilterByProducer, selectedProducer] ); + const onClickAll = useCallback(() => onFilterByProducer(null), [onFilterByProducer]); + return ( - - - onFilterByProducer(null), [onFilterByProducer])} - isSelected={!selectedProducer} - > - All - - {facetList} - - + {showCategories && ( + + + + {i18n.translate('alertsUIShared.components.ruleTypeModal.allRuleTypes', { + defaultMessage: 'All', + })} + + {facetList} + + + )} void; searchString: string; selectedProducer: string | null; + showCategories: boolean; } export interface RuleTypeModalState { @@ -64,6 +65,7 @@ export const RuleTypeModal: React.FC = ruleTypeCountsByProducer, searchString, selectedProducer, + showCategories, }) => { const { euiTheme } = useEuiTheme(); const currentBreakpoint = useCurrentEuiBreakpoint() ?? 'm'; @@ -131,6 +133,7 @@ export const RuleTypeModal: React.FC = onFilterByProducer={onFilterByProducer} selectedProducer={selectedProducer} onClearFilters={onClearFilters} + showCategories={showCategories} /> )} diff --git a/packages/kbn-elastic-agent-utils/src/agent_guards.test.ts b/packages/kbn-elastic-agent-utils/src/agent_guards.test.ts index 0de2ea225ce81..aa55aa94b16ca 100644 --- a/packages/kbn-elastic-agent-utils/src/agent_guards.test.ts +++ b/packages/kbn-elastic-agent-utils/src/agent_guards.test.ts @@ -23,11 +23,17 @@ import { describe('Agents guards', () => { it('isOpenTelemetryAgentName should guard if the passed agent is an OpenTelemetry one.', () => { expect(isOpenTelemetryAgentName('otlp')).toBe(true); + expect(isOpenTelemetryAgentName('opentelemetry/java')).toBe(true); + expect(isOpenTelemetryAgentName('opentelemetry/java/opentelemetry-java-instrumentation')).toBe( + true + ); expect(isOpenTelemetryAgentName('not-an-agent')).toBe(false); }); it('isJavaAgentName should guard if the passed agent is an Java one.', () => { expect(isJavaAgentName('java')).toBe(true); + expect(isJavaAgentName('opentelemetry/java')).toBe(true); + expect(isJavaAgentName('opentelemetry/java/opentelemetry-java-instrumentation')).toBe(true); expect(isJavaAgentName('not-an-agent')).toBe(false); }); diff --git a/packages/kbn-elastic-agent-utils/src/agent_guards.ts b/packages/kbn-elastic-agent-utils/src/agent_guards.ts index 6997cbd81c42c..43cf4cce89f4a 100644 --- a/packages/kbn-elastic-agent-utils/src/agent_guards.ts +++ b/packages/kbn-elastic-agent-utils/src/agent_guards.ts @@ -16,11 +16,17 @@ import type { } from './agent_names'; export function isOpenTelemetryAgentName(agentName: string): agentName is OpenTelemetryAgentName { - return OPEN_TELEMETRY_AGENT_NAMES.includes(agentName as OpenTelemetryAgentName); + return ( + agentName?.startsWith('opentelemetry/') || + OPEN_TELEMETRY_AGENT_NAMES.includes(agentName as OpenTelemetryAgentName) + ); } export function isJavaAgentName(agentName?: string): agentName is JavaAgentName { - return JAVA_AGENT_NAMES.includes(agentName! as JavaAgentName); + return ( + agentName?.startsWith('opentelemetry/java') || + JAVA_AGENT_NAMES.includes(agentName! as JavaAgentName) + ); } export function isRumAgentName(agentName?: string): agentName is RumAgentName { diff --git a/packages/kbn-esql-ast/src/antlr/esql_lexer.g4 b/packages/kbn-esql-ast/src/antlr/esql_lexer.g4 index 248426ed52359..721a9280f3c10 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_lexer.g4 +++ b/packages/kbn-esql-ast/src/antlr/esql_lexer.g4 @@ -120,6 +120,7 @@ BY : 'by'; AND : 'and'; ASC : 'asc'; ASSIGN : '='; +CAST_OP : '::'; COMMA : ','; DESC : 'desc'; DOT : '.'; diff --git a/packages/kbn-esql-ast/src/antlr/esql_lexer.interp b/packages/kbn-esql-ast/src/antlr/esql_lexer.interp index 3e9d190a45634..02c1e46a83c0e 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_lexer.interp +++ b/packages/kbn-esql-ast/src/antlr/esql_lexer.interp @@ -33,6 +33,7 @@ null 'and' 'asc' '=' +'::' ',' 'desc' '.' @@ -145,6 +146,7 @@ BY AND ASC ASSIGN +CAST_OP COMMA DESC DOT @@ -268,6 +270,7 @@ BY AND ASC ASSIGN +CAST_OP COMMA DESC DOT @@ -402,4 +405,4 @@ META_MODE SETTING_MODE atn: -[4, 0, 109, 1198, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 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, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 4, 18, 482, 8, 18, 11, 18, 12, 18, 483, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 5, 19, 492, 8, 19, 10, 19, 12, 19, 495, 9, 19, 1, 19, 3, 19, 498, 8, 19, 1, 19, 3, 19, 501, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 5, 20, 510, 8, 20, 10, 20, 12, 20, 513, 9, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 4, 21, 521, 8, 21, 11, 21, 12, 21, 522, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 32, 1, 32, 3, 32, 564, 8, 32, 1, 32, 4, 32, 567, 8, 32, 11, 32, 12, 32, 568, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 3, 35, 578, 8, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 3, 37, 585, 8, 37, 1, 38, 1, 38, 1, 38, 5, 38, 590, 8, 38, 10, 38, 12, 38, 593, 9, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 5, 38, 601, 8, 38, 10, 38, 12, 38, 604, 9, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 611, 8, 38, 1, 38, 3, 38, 614, 8, 38, 3, 38, 616, 8, 38, 1, 39, 4, 39, 619, 8, 39, 11, 39, 12, 39, 620, 1, 40, 4, 40, 624, 8, 40, 11, 40, 12, 40, 625, 1, 40, 1, 40, 5, 40, 630, 8, 40, 10, 40, 12, 40, 633, 9, 40, 1, 40, 1, 40, 4, 40, 637, 8, 40, 11, 40, 12, 40, 638, 1, 40, 4, 40, 642, 8, 40, 11, 40, 12, 40, 643, 1, 40, 1, 40, 5, 40, 648, 8, 40, 10, 40, 12, 40, 651, 9, 40, 3, 40, 653, 8, 40, 1, 40, 1, 40, 1, 40, 1, 40, 4, 40, 659, 8, 40, 11, 40, 12, 40, 660, 1, 40, 1, 40, 3, 40, 665, 8, 40, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 45, 1, 45, 1, 46, 1, 46, 1, 46, 1, 46, 1, 46, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 60, 1, 61, 1, 61, 1, 62, 1, 62, 1, 62, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 67, 1, 67, 1, 67, 1, 68, 1, 68, 1, 69, 1, 69, 1, 69, 1, 70, 1, 70, 1, 71, 1, 71, 1, 72, 1, 72, 1, 73, 1, 73, 1, 74, 1, 74, 1, 75, 1, 75, 1, 75, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 5, 77, 793, 8, 77, 10, 77, 12, 77, 796, 9, 77, 1, 77, 1, 77, 3, 77, 800, 8, 77, 1, 77, 4, 77, 803, 8, 77, 11, 77, 12, 77, 804, 3, 77, 807, 8, 77, 1, 78, 1, 78, 4, 78, 811, 8, 78, 11, 78, 12, 78, 812, 1, 78, 1, 78, 1, 79, 1, 79, 1, 80, 1, 80, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 3, 91, 876, 8, 91, 1, 92, 4, 92, 879, 8, 92, 11, 92, 12, 92, 880, 1, 93, 1, 93, 1, 93, 1, 93, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 3, 100, 916, 8, 100, 1, 101, 1, 101, 3, 101, 920, 8, 101, 1, 101, 5, 101, 923, 8, 101, 10, 101, 12, 101, 926, 9, 101, 1, 101, 1, 101, 3, 101, 930, 8, 101, 1, 101, 4, 101, 933, 8, 101, 11, 101, 12, 101, 934, 3, 101, 937, 8, 101, 1, 102, 1, 102, 4, 102, 941, 8, 102, 11, 102, 12, 102, 942, 1, 103, 1, 103, 1, 103, 1, 103, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 120, 4, 120, 1018, 8, 120, 11, 120, 12, 120, 1019, 1, 120, 1, 120, 3, 120, 1024, 8, 120, 1, 120, 4, 120, 1027, 8, 120, 11, 120, 12, 120, 1028, 1, 121, 1, 121, 1, 121, 1, 121, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 145, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 1, 148, 1, 148, 1, 148, 1, 148, 1, 148, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 155, 1, 155, 1, 155, 1, 155, 1, 155, 4, 155, 1183, 8, 155, 11, 155, 12, 155, 1184, 1, 156, 1, 156, 1, 156, 1, 156, 1, 157, 1, 157, 1, 157, 1, 157, 1, 158, 1, 158, 1, 158, 1, 158, 2, 511, 602, 0, 159, 12, 1, 14, 2, 16, 3, 18, 4, 20, 5, 22, 6, 24, 7, 26, 8, 28, 9, 30, 10, 32, 11, 34, 12, 36, 13, 38, 14, 40, 15, 42, 16, 44, 17, 46, 18, 48, 19, 50, 20, 52, 21, 54, 22, 56, 0, 58, 0, 60, 23, 62, 24, 64, 25, 66, 26, 68, 0, 70, 0, 72, 0, 74, 0, 76, 0, 78, 0, 80, 0, 82, 0, 84, 0, 86, 0, 88, 27, 90, 28, 92, 29, 94, 30, 96, 31, 98, 32, 100, 33, 102, 34, 104, 35, 106, 36, 108, 37, 110, 38, 112, 39, 114, 40, 116, 41, 118, 42, 120, 43, 122, 44, 124, 45, 126, 46, 128, 47, 130, 48, 132, 49, 134, 50, 136, 51, 138, 52, 140, 53, 142, 54, 144, 55, 146, 56, 148, 57, 150, 58, 152, 59, 154, 60, 156, 61, 158, 62, 160, 63, 162, 64, 164, 65, 166, 66, 168, 0, 170, 67, 172, 68, 174, 69, 176, 70, 178, 0, 180, 0, 182, 0, 184, 0, 186, 0, 188, 0, 190, 71, 192, 72, 194, 0, 196, 73, 198, 0, 200, 74, 202, 75, 204, 76, 206, 0, 208, 0, 210, 0, 212, 0, 214, 0, 216, 77, 218, 78, 220, 79, 222, 80, 224, 0, 226, 0, 228, 0, 230, 0, 232, 81, 234, 0, 236, 82, 238, 83, 240, 84, 242, 0, 244, 0, 246, 85, 248, 86, 250, 0, 252, 87, 254, 0, 256, 0, 258, 88, 260, 89, 262, 90, 264, 0, 266, 0, 268, 0, 270, 0, 272, 0, 274, 0, 276, 0, 278, 91, 280, 92, 282, 93, 284, 0, 286, 0, 288, 0, 290, 0, 292, 94, 294, 95, 296, 96, 298, 0, 300, 97, 302, 98, 304, 99, 306, 100, 308, 0, 310, 101, 312, 102, 314, 103, 316, 104, 318, 0, 320, 105, 322, 106, 324, 107, 326, 108, 328, 109, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 35, 2, 0, 68, 68, 100, 100, 2, 0, 73, 73, 105, 105, 2, 0, 83, 83, 115, 115, 2, 0, 69, 69, 101, 101, 2, 0, 67, 67, 99, 99, 2, 0, 84, 84, 116, 116, 2, 0, 82, 82, 114, 114, 2, 0, 79, 79, 111, 111, 2, 0, 80, 80, 112, 112, 2, 0, 78, 78, 110, 110, 2, 0, 72, 72, 104, 104, 2, 0, 86, 86, 118, 118, 2, 0, 65, 65, 97, 97, 2, 0, 76, 76, 108, 108, 2, 0, 88, 88, 120, 120, 2, 0, 70, 70, 102, 102, 2, 0, 77, 77, 109, 109, 2, 0, 71, 71, 103, 103, 2, 0, 75, 75, 107, 107, 2, 0, 87, 87, 119, 119, 6, 0, 9, 10, 13, 13, 32, 32, 47, 47, 91, 91, 93, 93, 2, 0, 10, 10, 13, 13, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 48, 57, 2, 0, 65, 90, 97, 122, 8, 0, 34, 34, 78, 78, 82, 82, 84, 84, 92, 92, 110, 110, 114, 114, 116, 116, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 2, 0, 43, 43, 45, 45, 1, 0, 96, 96, 2, 0, 66, 66, 98, 98, 2, 0, 89, 89, 121, 121, 2, 0, 85, 85, 117, 117, 10, 0, 9, 10, 13, 13, 32, 32, 44, 44, 47, 47, 61, 61, 91, 91, 93, 93, 96, 96, 124, 124, 2, 0, 42, 42, 47, 47, 11, 0, 9, 10, 13, 13, 32, 32, 34, 35, 44, 44, 47, 47, 58, 58, 60, 60, 62, 63, 92, 92, 124, 124, 1225, 0, 12, 1, 0, 0, 0, 0, 14, 1, 0, 0, 0, 0, 16, 1, 0, 0, 0, 0, 18, 1, 0, 0, 0, 0, 20, 1, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 24, 1, 0, 0, 0, 0, 26, 1, 0, 0, 0, 0, 28, 1, 0, 0, 0, 0, 30, 1, 0, 0, 0, 0, 32, 1, 0, 0, 0, 0, 34, 1, 0, 0, 0, 0, 36, 1, 0, 0, 0, 0, 38, 1, 0, 0, 0, 0, 40, 1, 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 44, 1, 0, 0, 0, 0, 46, 1, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 50, 1, 0, 0, 0, 0, 52, 1, 0, 0, 0, 0, 54, 1, 0, 0, 0, 1, 56, 1, 0, 0, 0, 1, 58, 1, 0, 0, 0, 1, 60, 1, 0, 0, 0, 1, 62, 1, 0, 0, 0, 1, 64, 1, 0, 0, 0, 2, 66, 1, 0, 0, 0, 2, 88, 1, 0, 0, 0, 2, 90, 1, 0, 0, 0, 2, 92, 1, 0, 0, 0, 2, 94, 1, 0, 0, 0, 2, 96, 1, 0, 0, 0, 2, 98, 1, 0, 0, 0, 2, 100, 1, 0, 0, 0, 2, 102, 1, 0, 0, 0, 2, 104, 1, 0, 0, 0, 2, 106, 1, 0, 0, 0, 2, 108, 1, 0, 0, 0, 2, 110, 1, 0, 0, 0, 2, 112, 1, 0, 0, 0, 2, 114, 1, 0, 0, 0, 2, 116, 1, 0, 0, 0, 2, 118, 1, 0, 0, 0, 2, 120, 1, 0, 0, 0, 2, 122, 1, 0, 0, 0, 2, 124, 1, 0, 0, 0, 2, 126, 1, 0, 0, 0, 2, 128, 1, 0, 0, 0, 2, 130, 1, 0, 0, 0, 2, 132, 1, 0, 0, 0, 2, 134, 1, 0, 0, 0, 2, 136, 1, 0, 0, 0, 2, 138, 1, 0, 0, 0, 2, 140, 1, 0, 0, 0, 2, 142, 1, 0, 0, 0, 2, 144, 1, 0, 0, 0, 2, 146, 1, 0, 0, 0, 2, 148, 1, 0, 0, 0, 2, 150, 1, 0, 0, 0, 2, 152, 1, 0, 0, 0, 2, 154, 1, 0, 0, 0, 2, 156, 1, 0, 0, 0, 2, 158, 1, 0, 0, 0, 2, 160, 1, 0, 0, 0, 2, 162, 1, 0, 0, 0, 2, 164, 1, 0, 0, 0, 2, 166, 1, 0, 0, 0, 2, 170, 1, 0, 0, 0, 2, 172, 1, 0, 0, 0, 2, 174, 1, 0, 0, 0, 2, 176, 1, 0, 0, 0, 3, 178, 1, 0, 0, 0, 3, 180, 1, 0, 0, 0, 3, 182, 1, 0, 0, 0, 3, 184, 1, 0, 0, 0, 3, 186, 1, 0, 0, 0, 3, 188, 1, 0, 0, 0, 3, 190, 1, 0, 0, 0, 3, 192, 1, 0, 0, 0, 3, 196, 1, 0, 0, 0, 3, 198, 1, 0, 0, 0, 3, 200, 1, 0, 0, 0, 3, 202, 1, 0, 0, 0, 3, 204, 1, 0, 0, 0, 4, 206, 1, 0, 0, 0, 4, 208, 1, 0, 0, 0, 4, 210, 1, 0, 0, 0, 4, 216, 1, 0, 0, 0, 4, 218, 1, 0, 0, 0, 4, 220, 1, 0, 0, 0, 4, 222, 1, 0, 0, 0, 5, 224, 1, 0, 0, 0, 5, 226, 1, 0, 0, 0, 5, 228, 1, 0, 0, 0, 5, 230, 1, 0, 0, 0, 5, 232, 1, 0, 0, 0, 5, 234, 1, 0, 0, 0, 5, 236, 1, 0, 0, 0, 5, 238, 1, 0, 0, 0, 5, 240, 1, 0, 0, 0, 6, 242, 1, 0, 0, 0, 6, 244, 1, 0, 0, 0, 6, 246, 1, 0, 0, 0, 6, 248, 1, 0, 0, 0, 6, 252, 1, 0, 0, 0, 6, 254, 1, 0, 0, 0, 6, 256, 1, 0, 0, 0, 6, 258, 1, 0, 0, 0, 6, 260, 1, 0, 0, 0, 6, 262, 1, 0, 0, 0, 7, 264, 1, 0, 0, 0, 7, 266, 1, 0, 0, 0, 7, 268, 1, 0, 0, 0, 7, 270, 1, 0, 0, 0, 7, 272, 1, 0, 0, 0, 7, 274, 1, 0, 0, 0, 7, 276, 1, 0, 0, 0, 7, 278, 1, 0, 0, 0, 7, 280, 1, 0, 0, 0, 7, 282, 1, 0, 0, 0, 8, 284, 1, 0, 0, 0, 8, 286, 1, 0, 0, 0, 8, 288, 1, 0, 0, 0, 8, 290, 1, 0, 0, 0, 8, 292, 1, 0, 0, 0, 8, 294, 1, 0, 0, 0, 8, 296, 1, 0, 0, 0, 9, 298, 1, 0, 0, 0, 9, 300, 1, 0, 0, 0, 9, 302, 1, 0, 0, 0, 9, 304, 1, 0, 0, 0, 9, 306, 1, 0, 0, 0, 10, 308, 1, 0, 0, 0, 10, 310, 1, 0, 0, 0, 10, 312, 1, 0, 0, 0, 10, 314, 1, 0, 0, 0, 10, 316, 1, 0, 0, 0, 11, 318, 1, 0, 0, 0, 11, 320, 1, 0, 0, 0, 11, 322, 1, 0, 0, 0, 11, 324, 1, 0, 0, 0, 11, 326, 1, 0, 0, 0, 11, 328, 1, 0, 0, 0, 12, 330, 1, 0, 0, 0, 14, 340, 1, 0, 0, 0, 16, 347, 1, 0, 0, 0, 18, 356, 1, 0, 0, 0, 20, 363, 1, 0, 0, 0, 22, 373, 1, 0, 0, 0, 24, 380, 1, 0, 0, 0, 26, 387, 1, 0, 0, 0, 28, 401, 1, 0, 0, 0, 30, 408, 1, 0, 0, 0, 32, 416, 1, 0, 0, 0, 34, 423, 1, 0, 0, 0, 36, 435, 1, 0, 0, 0, 38, 444, 1, 0, 0, 0, 40, 450, 1, 0, 0, 0, 42, 457, 1, 0, 0, 0, 44, 464, 1, 0, 0, 0, 46, 472, 1, 0, 0, 0, 48, 481, 1, 0, 0, 0, 50, 487, 1, 0, 0, 0, 52, 504, 1, 0, 0, 0, 54, 520, 1, 0, 0, 0, 56, 526, 1, 0, 0, 0, 58, 531, 1, 0, 0, 0, 60, 536, 1, 0, 0, 0, 62, 540, 1, 0, 0, 0, 64, 544, 1, 0, 0, 0, 66, 548, 1, 0, 0, 0, 68, 552, 1, 0, 0, 0, 70, 554, 1, 0, 0, 0, 72, 556, 1, 0, 0, 0, 74, 559, 1, 0, 0, 0, 76, 561, 1, 0, 0, 0, 78, 570, 1, 0, 0, 0, 80, 572, 1, 0, 0, 0, 82, 577, 1, 0, 0, 0, 84, 579, 1, 0, 0, 0, 86, 584, 1, 0, 0, 0, 88, 615, 1, 0, 0, 0, 90, 618, 1, 0, 0, 0, 92, 664, 1, 0, 0, 0, 94, 666, 1, 0, 0, 0, 96, 669, 1, 0, 0, 0, 98, 673, 1, 0, 0, 0, 100, 677, 1, 0, 0, 0, 102, 679, 1, 0, 0, 0, 104, 681, 1, 0, 0, 0, 106, 686, 1, 0, 0, 0, 108, 688, 1, 0, 0, 0, 110, 694, 1, 0, 0, 0, 112, 700, 1, 0, 0, 0, 114, 705, 1, 0, 0, 0, 116, 707, 1, 0, 0, 0, 118, 710, 1, 0, 0, 0, 120, 713, 1, 0, 0, 0, 122, 718, 1, 0, 0, 0, 124, 722, 1, 0, 0, 0, 126, 727, 1, 0, 0, 0, 128, 733, 1, 0, 0, 0, 130, 736, 1, 0, 0, 0, 132, 738, 1, 0, 0, 0, 134, 744, 1, 0, 0, 0, 136, 746, 1, 0, 0, 0, 138, 751, 1, 0, 0, 0, 140, 754, 1, 0, 0, 0, 142, 757, 1, 0, 0, 0, 144, 760, 1, 0, 0, 0, 146, 762, 1, 0, 0, 0, 148, 765, 1, 0, 0, 0, 150, 767, 1, 0, 0, 0, 152, 770, 1, 0, 0, 0, 154, 772, 1, 0, 0, 0, 156, 774, 1, 0, 0, 0, 158, 776, 1, 0, 0, 0, 160, 778, 1, 0, 0, 0, 162, 780, 1, 0, 0, 0, 164, 785, 1, 0, 0, 0, 166, 806, 1, 0, 0, 0, 168, 808, 1, 0, 0, 0, 170, 816, 1, 0, 0, 0, 172, 818, 1, 0, 0, 0, 174, 822, 1, 0, 0, 0, 176, 826, 1, 0, 0, 0, 178, 830, 1, 0, 0, 0, 180, 835, 1, 0, 0, 0, 182, 839, 1, 0, 0, 0, 184, 843, 1, 0, 0, 0, 186, 847, 1, 0, 0, 0, 188, 851, 1, 0, 0, 0, 190, 855, 1, 0, 0, 0, 192, 863, 1, 0, 0, 0, 194, 875, 1, 0, 0, 0, 196, 878, 1, 0, 0, 0, 198, 882, 1, 0, 0, 0, 200, 886, 1, 0, 0, 0, 202, 890, 1, 0, 0, 0, 204, 894, 1, 0, 0, 0, 206, 898, 1, 0, 0, 0, 208, 903, 1, 0, 0, 0, 210, 907, 1, 0, 0, 0, 212, 915, 1, 0, 0, 0, 214, 936, 1, 0, 0, 0, 216, 940, 1, 0, 0, 0, 218, 944, 1, 0, 0, 0, 220, 948, 1, 0, 0, 0, 222, 952, 1, 0, 0, 0, 224, 956, 1, 0, 0, 0, 226, 961, 1, 0, 0, 0, 228, 965, 1, 0, 0, 0, 230, 969, 1, 0, 0, 0, 232, 973, 1, 0, 0, 0, 234, 976, 1, 0, 0, 0, 236, 980, 1, 0, 0, 0, 238, 984, 1, 0, 0, 0, 240, 988, 1, 0, 0, 0, 242, 992, 1, 0, 0, 0, 244, 997, 1, 0, 0, 0, 246, 1002, 1, 0, 0, 0, 248, 1007, 1, 0, 0, 0, 250, 1014, 1, 0, 0, 0, 252, 1023, 1, 0, 0, 0, 254, 1030, 1, 0, 0, 0, 256, 1034, 1, 0, 0, 0, 258, 1038, 1, 0, 0, 0, 260, 1042, 1, 0, 0, 0, 262, 1046, 1, 0, 0, 0, 264, 1050, 1, 0, 0, 0, 266, 1056, 1, 0, 0, 0, 268, 1060, 1, 0, 0, 0, 270, 1064, 1, 0, 0, 0, 272, 1068, 1, 0, 0, 0, 274, 1072, 1, 0, 0, 0, 276, 1076, 1, 0, 0, 0, 278, 1080, 1, 0, 0, 0, 280, 1084, 1, 0, 0, 0, 282, 1088, 1, 0, 0, 0, 284, 1092, 1, 0, 0, 0, 286, 1097, 1, 0, 0, 0, 288, 1101, 1, 0, 0, 0, 290, 1105, 1, 0, 0, 0, 292, 1109, 1, 0, 0, 0, 294, 1113, 1, 0, 0, 0, 296, 1117, 1, 0, 0, 0, 298, 1121, 1, 0, 0, 0, 300, 1126, 1, 0, 0, 0, 302, 1131, 1, 0, 0, 0, 304, 1135, 1, 0, 0, 0, 306, 1139, 1, 0, 0, 0, 308, 1143, 1, 0, 0, 0, 310, 1148, 1, 0, 0, 0, 312, 1158, 1, 0, 0, 0, 314, 1162, 1, 0, 0, 0, 316, 1166, 1, 0, 0, 0, 318, 1170, 1, 0, 0, 0, 320, 1175, 1, 0, 0, 0, 322, 1182, 1, 0, 0, 0, 324, 1186, 1, 0, 0, 0, 326, 1190, 1, 0, 0, 0, 328, 1194, 1, 0, 0, 0, 330, 331, 7, 0, 0, 0, 331, 332, 7, 1, 0, 0, 332, 333, 7, 2, 0, 0, 333, 334, 7, 2, 0, 0, 334, 335, 7, 3, 0, 0, 335, 336, 7, 4, 0, 0, 336, 337, 7, 5, 0, 0, 337, 338, 1, 0, 0, 0, 338, 339, 6, 0, 0, 0, 339, 13, 1, 0, 0, 0, 340, 341, 7, 0, 0, 0, 341, 342, 7, 6, 0, 0, 342, 343, 7, 7, 0, 0, 343, 344, 7, 8, 0, 0, 344, 345, 1, 0, 0, 0, 345, 346, 6, 1, 1, 0, 346, 15, 1, 0, 0, 0, 347, 348, 7, 3, 0, 0, 348, 349, 7, 9, 0, 0, 349, 350, 7, 6, 0, 0, 350, 351, 7, 1, 0, 0, 351, 352, 7, 4, 0, 0, 352, 353, 7, 10, 0, 0, 353, 354, 1, 0, 0, 0, 354, 355, 6, 2, 2, 0, 355, 17, 1, 0, 0, 0, 356, 357, 7, 3, 0, 0, 357, 358, 7, 11, 0, 0, 358, 359, 7, 12, 0, 0, 359, 360, 7, 13, 0, 0, 360, 361, 1, 0, 0, 0, 361, 362, 6, 3, 0, 0, 362, 19, 1, 0, 0, 0, 363, 364, 7, 3, 0, 0, 364, 365, 7, 14, 0, 0, 365, 366, 7, 8, 0, 0, 366, 367, 7, 13, 0, 0, 367, 368, 7, 12, 0, 0, 368, 369, 7, 1, 0, 0, 369, 370, 7, 9, 0, 0, 370, 371, 1, 0, 0, 0, 371, 372, 6, 4, 3, 0, 372, 21, 1, 0, 0, 0, 373, 374, 7, 15, 0, 0, 374, 375, 7, 6, 0, 0, 375, 376, 7, 7, 0, 0, 376, 377, 7, 16, 0, 0, 377, 378, 1, 0, 0, 0, 378, 379, 6, 5, 4, 0, 379, 23, 1, 0, 0, 0, 380, 381, 7, 17, 0, 0, 381, 382, 7, 6, 0, 0, 382, 383, 7, 7, 0, 0, 383, 384, 7, 18, 0, 0, 384, 385, 1, 0, 0, 0, 385, 386, 6, 6, 0, 0, 386, 25, 1, 0, 0, 0, 387, 388, 7, 1, 0, 0, 388, 389, 7, 9, 0, 0, 389, 390, 7, 13, 0, 0, 390, 391, 7, 1, 0, 0, 391, 392, 7, 9, 0, 0, 392, 393, 7, 3, 0, 0, 393, 394, 7, 2, 0, 0, 394, 395, 7, 5, 0, 0, 395, 396, 7, 12, 0, 0, 396, 397, 7, 5, 0, 0, 397, 398, 7, 2, 0, 0, 398, 399, 1, 0, 0, 0, 399, 400, 6, 7, 0, 0, 400, 27, 1, 0, 0, 0, 401, 402, 7, 18, 0, 0, 402, 403, 7, 3, 0, 0, 403, 404, 7, 3, 0, 0, 404, 405, 7, 8, 0, 0, 405, 406, 1, 0, 0, 0, 406, 407, 6, 8, 1, 0, 407, 29, 1, 0, 0, 0, 408, 409, 7, 13, 0, 0, 409, 410, 7, 1, 0, 0, 410, 411, 7, 16, 0, 0, 411, 412, 7, 1, 0, 0, 412, 413, 7, 5, 0, 0, 413, 414, 1, 0, 0, 0, 414, 415, 6, 9, 0, 0, 415, 31, 1, 0, 0, 0, 416, 417, 7, 16, 0, 0, 417, 418, 7, 3, 0, 0, 418, 419, 7, 5, 0, 0, 419, 420, 7, 12, 0, 0, 420, 421, 1, 0, 0, 0, 421, 422, 6, 10, 5, 0, 422, 33, 1, 0, 0, 0, 423, 424, 7, 16, 0, 0, 424, 425, 7, 11, 0, 0, 425, 426, 5, 95, 0, 0, 426, 427, 7, 3, 0, 0, 427, 428, 7, 14, 0, 0, 428, 429, 7, 8, 0, 0, 429, 430, 7, 12, 0, 0, 430, 431, 7, 9, 0, 0, 431, 432, 7, 0, 0, 0, 432, 433, 1, 0, 0, 0, 433, 434, 6, 11, 6, 0, 434, 35, 1, 0, 0, 0, 435, 436, 7, 6, 0, 0, 436, 437, 7, 3, 0, 0, 437, 438, 7, 9, 0, 0, 438, 439, 7, 12, 0, 0, 439, 440, 7, 16, 0, 0, 440, 441, 7, 3, 0, 0, 441, 442, 1, 0, 0, 0, 442, 443, 6, 12, 7, 0, 443, 37, 1, 0, 0, 0, 444, 445, 7, 6, 0, 0, 445, 446, 7, 7, 0, 0, 446, 447, 7, 19, 0, 0, 447, 448, 1, 0, 0, 0, 448, 449, 6, 13, 0, 0, 449, 39, 1, 0, 0, 0, 450, 451, 7, 2, 0, 0, 451, 452, 7, 10, 0, 0, 452, 453, 7, 7, 0, 0, 453, 454, 7, 19, 0, 0, 454, 455, 1, 0, 0, 0, 455, 456, 6, 14, 8, 0, 456, 41, 1, 0, 0, 0, 457, 458, 7, 2, 0, 0, 458, 459, 7, 7, 0, 0, 459, 460, 7, 6, 0, 0, 460, 461, 7, 5, 0, 0, 461, 462, 1, 0, 0, 0, 462, 463, 6, 15, 0, 0, 463, 43, 1, 0, 0, 0, 464, 465, 7, 2, 0, 0, 465, 466, 7, 5, 0, 0, 466, 467, 7, 12, 0, 0, 467, 468, 7, 5, 0, 0, 468, 469, 7, 2, 0, 0, 469, 470, 1, 0, 0, 0, 470, 471, 6, 16, 0, 0, 471, 45, 1, 0, 0, 0, 472, 473, 7, 19, 0, 0, 473, 474, 7, 10, 0, 0, 474, 475, 7, 3, 0, 0, 475, 476, 7, 6, 0, 0, 476, 477, 7, 3, 0, 0, 477, 478, 1, 0, 0, 0, 478, 479, 6, 17, 0, 0, 479, 47, 1, 0, 0, 0, 480, 482, 8, 20, 0, 0, 481, 480, 1, 0, 0, 0, 482, 483, 1, 0, 0, 0, 483, 481, 1, 0, 0, 0, 483, 484, 1, 0, 0, 0, 484, 485, 1, 0, 0, 0, 485, 486, 6, 18, 0, 0, 486, 49, 1, 0, 0, 0, 487, 488, 5, 47, 0, 0, 488, 489, 5, 47, 0, 0, 489, 493, 1, 0, 0, 0, 490, 492, 8, 21, 0, 0, 491, 490, 1, 0, 0, 0, 492, 495, 1, 0, 0, 0, 493, 491, 1, 0, 0, 0, 493, 494, 1, 0, 0, 0, 494, 497, 1, 0, 0, 0, 495, 493, 1, 0, 0, 0, 496, 498, 5, 13, 0, 0, 497, 496, 1, 0, 0, 0, 497, 498, 1, 0, 0, 0, 498, 500, 1, 0, 0, 0, 499, 501, 5, 10, 0, 0, 500, 499, 1, 0, 0, 0, 500, 501, 1, 0, 0, 0, 501, 502, 1, 0, 0, 0, 502, 503, 6, 19, 9, 0, 503, 51, 1, 0, 0, 0, 504, 505, 5, 47, 0, 0, 505, 506, 5, 42, 0, 0, 506, 511, 1, 0, 0, 0, 507, 510, 3, 52, 20, 0, 508, 510, 9, 0, 0, 0, 509, 507, 1, 0, 0, 0, 509, 508, 1, 0, 0, 0, 510, 513, 1, 0, 0, 0, 511, 512, 1, 0, 0, 0, 511, 509, 1, 0, 0, 0, 512, 514, 1, 0, 0, 0, 513, 511, 1, 0, 0, 0, 514, 515, 5, 42, 0, 0, 515, 516, 5, 47, 0, 0, 516, 517, 1, 0, 0, 0, 517, 518, 6, 20, 9, 0, 518, 53, 1, 0, 0, 0, 519, 521, 7, 22, 0, 0, 520, 519, 1, 0, 0, 0, 521, 522, 1, 0, 0, 0, 522, 520, 1, 0, 0, 0, 522, 523, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 525, 6, 21, 9, 0, 525, 55, 1, 0, 0, 0, 526, 527, 3, 162, 75, 0, 527, 528, 1, 0, 0, 0, 528, 529, 6, 22, 10, 0, 529, 530, 6, 22, 11, 0, 530, 57, 1, 0, 0, 0, 531, 532, 3, 66, 27, 0, 532, 533, 1, 0, 0, 0, 533, 534, 6, 23, 12, 0, 534, 535, 6, 23, 13, 0, 535, 59, 1, 0, 0, 0, 536, 537, 3, 54, 21, 0, 537, 538, 1, 0, 0, 0, 538, 539, 6, 24, 9, 0, 539, 61, 1, 0, 0, 0, 540, 541, 3, 50, 19, 0, 541, 542, 1, 0, 0, 0, 542, 543, 6, 25, 9, 0, 543, 63, 1, 0, 0, 0, 544, 545, 3, 52, 20, 0, 545, 546, 1, 0, 0, 0, 546, 547, 6, 26, 9, 0, 547, 65, 1, 0, 0, 0, 548, 549, 5, 124, 0, 0, 549, 550, 1, 0, 0, 0, 550, 551, 6, 27, 13, 0, 551, 67, 1, 0, 0, 0, 552, 553, 7, 23, 0, 0, 553, 69, 1, 0, 0, 0, 554, 555, 7, 24, 0, 0, 555, 71, 1, 0, 0, 0, 556, 557, 5, 92, 0, 0, 557, 558, 7, 25, 0, 0, 558, 73, 1, 0, 0, 0, 559, 560, 8, 26, 0, 0, 560, 75, 1, 0, 0, 0, 561, 563, 7, 3, 0, 0, 562, 564, 7, 27, 0, 0, 563, 562, 1, 0, 0, 0, 563, 564, 1, 0, 0, 0, 564, 566, 1, 0, 0, 0, 565, 567, 3, 68, 28, 0, 566, 565, 1, 0, 0, 0, 567, 568, 1, 0, 0, 0, 568, 566, 1, 0, 0, 0, 568, 569, 1, 0, 0, 0, 569, 77, 1, 0, 0, 0, 570, 571, 5, 64, 0, 0, 571, 79, 1, 0, 0, 0, 572, 573, 5, 96, 0, 0, 573, 81, 1, 0, 0, 0, 574, 578, 8, 28, 0, 0, 575, 576, 5, 96, 0, 0, 576, 578, 5, 96, 0, 0, 577, 574, 1, 0, 0, 0, 577, 575, 1, 0, 0, 0, 578, 83, 1, 0, 0, 0, 579, 580, 5, 95, 0, 0, 580, 85, 1, 0, 0, 0, 581, 585, 3, 70, 29, 0, 582, 585, 3, 68, 28, 0, 583, 585, 3, 84, 36, 0, 584, 581, 1, 0, 0, 0, 584, 582, 1, 0, 0, 0, 584, 583, 1, 0, 0, 0, 585, 87, 1, 0, 0, 0, 586, 591, 5, 34, 0, 0, 587, 590, 3, 72, 30, 0, 588, 590, 3, 74, 31, 0, 589, 587, 1, 0, 0, 0, 589, 588, 1, 0, 0, 0, 590, 593, 1, 0, 0, 0, 591, 589, 1, 0, 0, 0, 591, 592, 1, 0, 0, 0, 592, 594, 1, 0, 0, 0, 593, 591, 1, 0, 0, 0, 594, 616, 5, 34, 0, 0, 595, 596, 5, 34, 0, 0, 596, 597, 5, 34, 0, 0, 597, 598, 5, 34, 0, 0, 598, 602, 1, 0, 0, 0, 599, 601, 8, 21, 0, 0, 600, 599, 1, 0, 0, 0, 601, 604, 1, 0, 0, 0, 602, 603, 1, 0, 0, 0, 602, 600, 1, 0, 0, 0, 603, 605, 1, 0, 0, 0, 604, 602, 1, 0, 0, 0, 605, 606, 5, 34, 0, 0, 606, 607, 5, 34, 0, 0, 607, 608, 5, 34, 0, 0, 608, 610, 1, 0, 0, 0, 609, 611, 5, 34, 0, 0, 610, 609, 1, 0, 0, 0, 610, 611, 1, 0, 0, 0, 611, 613, 1, 0, 0, 0, 612, 614, 5, 34, 0, 0, 613, 612, 1, 0, 0, 0, 613, 614, 1, 0, 0, 0, 614, 616, 1, 0, 0, 0, 615, 586, 1, 0, 0, 0, 615, 595, 1, 0, 0, 0, 616, 89, 1, 0, 0, 0, 617, 619, 3, 68, 28, 0, 618, 617, 1, 0, 0, 0, 619, 620, 1, 0, 0, 0, 620, 618, 1, 0, 0, 0, 620, 621, 1, 0, 0, 0, 621, 91, 1, 0, 0, 0, 622, 624, 3, 68, 28, 0, 623, 622, 1, 0, 0, 0, 624, 625, 1, 0, 0, 0, 625, 623, 1, 0, 0, 0, 625, 626, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 631, 3, 106, 47, 0, 628, 630, 3, 68, 28, 0, 629, 628, 1, 0, 0, 0, 630, 633, 1, 0, 0, 0, 631, 629, 1, 0, 0, 0, 631, 632, 1, 0, 0, 0, 632, 665, 1, 0, 0, 0, 633, 631, 1, 0, 0, 0, 634, 636, 3, 106, 47, 0, 635, 637, 3, 68, 28, 0, 636, 635, 1, 0, 0, 0, 637, 638, 1, 0, 0, 0, 638, 636, 1, 0, 0, 0, 638, 639, 1, 0, 0, 0, 639, 665, 1, 0, 0, 0, 640, 642, 3, 68, 28, 0, 641, 640, 1, 0, 0, 0, 642, 643, 1, 0, 0, 0, 643, 641, 1, 0, 0, 0, 643, 644, 1, 0, 0, 0, 644, 652, 1, 0, 0, 0, 645, 649, 3, 106, 47, 0, 646, 648, 3, 68, 28, 0, 647, 646, 1, 0, 0, 0, 648, 651, 1, 0, 0, 0, 649, 647, 1, 0, 0, 0, 649, 650, 1, 0, 0, 0, 650, 653, 1, 0, 0, 0, 651, 649, 1, 0, 0, 0, 652, 645, 1, 0, 0, 0, 652, 653, 1, 0, 0, 0, 653, 654, 1, 0, 0, 0, 654, 655, 3, 76, 32, 0, 655, 665, 1, 0, 0, 0, 656, 658, 3, 106, 47, 0, 657, 659, 3, 68, 28, 0, 658, 657, 1, 0, 0, 0, 659, 660, 1, 0, 0, 0, 660, 658, 1, 0, 0, 0, 660, 661, 1, 0, 0, 0, 661, 662, 1, 0, 0, 0, 662, 663, 3, 76, 32, 0, 663, 665, 1, 0, 0, 0, 664, 623, 1, 0, 0, 0, 664, 634, 1, 0, 0, 0, 664, 641, 1, 0, 0, 0, 664, 656, 1, 0, 0, 0, 665, 93, 1, 0, 0, 0, 666, 667, 7, 29, 0, 0, 667, 668, 7, 30, 0, 0, 668, 95, 1, 0, 0, 0, 669, 670, 7, 12, 0, 0, 670, 671, 7, 9, 0, 0, 671, 672, 7, 0, 0, 0, 672, 97, 1, 0, 0, 0, 673, 674, 7, 12, 0, 0, 674, 675, 7, 2, 0, 0, 675, 676, 7, 4, 0, 0, 676, 99, 1, 0, 0, 0, 677, 678, 5, 61, 0, 0, 678, 101, 1, 0, 0, 0, 679, 680, 5, 44, 0, 0, 680, 103, 1, 0, 0, 0, 681, 682, 7, 0, 0, 0, 682, 683, 7, 3, 0, 0, 683, 684, 7, 2, 0, 0, 684, 685, 7, 4, 0, 0, 685, 105, 1, 0, 0, 0, 686, 687, 5, 46, 0, 0, 687, 107, 1, 0, 0, 0, 688, 689, 7, 15, 0, 0, 689, 690, 7, 12, 0, 0, 690, 691, 7, 13, 0, 0, 691, 692, 7, 2, 0, 0, 692, 693, 7, 3, 0, 0, 693, 109, 1, 0, 0, 0, 694, 695, 7, 15, 0, 0, 695, 696, 7, 1, 0, 0, 696, 697, 7, 6, 0, 0, 697, 698, 7, 2, 0, 0, 698, 699, 7, 5, 0, 0, 699, 111, 1, 0, 0, 0, 700, 701, 7, 13, 0, 0, 701, 702, 7, 12, 0, 0, 702, 703, 7, 2, 0, 0, 703, 704, 7, 5, 0, 0, 704, 113, 1, 0, 0, 0, 705, 706, 5, 40, 0, 0, 706, 115, 1, 0, 0, 0, 707, 708, 7, 1, 0, 0, 708, 709, 7, 9, 0, 0, 709, 117, 1, 0, 0, 0, 710, 711, 7, 1, 0, 0, 711, 712, 7, 2, 0, 0, 712, 119, 1, 0, 0, 0, 713, 714, 7, 13, 0, 0, 714, 715, 7, 1, 0, 0, 715, 716, 7, 18, 0, 0, 716, 717, 7, 3, 0, 0, 717, 121, 1, 0, 0, 0, 718, 719, 7, 9, 0, 0, 719, 720, 7, 7, 0, 0, 720, 721, 7, 5, 0, 0, 721, 123, 1, 0, 0, 0, 722, 723, 7, 9, 0, 0, 723, 724, 7, 31, 0, 0, 724, 725, 7, 13, 0, 0, 725, 726, 7, 13, 0, 0, 726, 125, 1, 0, 0, 0, 727, 728, 7, 9, 0, 0, 728, 729, 7, 31, 0, 0, 729, 730, 7, 13, 0, 0, 730, 731, 7, 13, 0, 0, 731, 732, 7, 2, 0, 0, 732, 127, 1, 0, 0, 0, 733, 734, 7, 7, 0, 0, 734, 735, 7, 6, 0, 0, 735, 129, 1, 0, 0, 0, 736, 737, 5, 63, 0, 0, 737, 131, 1, 0, 0, 0, 738, 739, 7, 6, 0, 0, 739, 740, 7, 13, 0, 0, 740, 741, 7, 1, 0, 0, 741, 742, 7, 18, 0, 0, 742, 743, 7, 3, 0, 0, 743, 133, 1, 0, 0, 0, 744, 745, 5, 41, 0, 0, 745, 135, 1, 0, 0, 0, 746, 747, 7, 5, 0, 0, 747, 748, 7, 6, 0, 0, 748, 749, 7, 31, 0, 0, 749, 750, 7, 3, 0, 0, 750, 137, 1, 0, 0, 0, 751, 752, 5, 61, 0, 0, 752, 753, 5, 61, 0, 0, 753, 139, 1, 0, 0, 0, 754, 755, 5, 61, 0, 0, 755, 756, 5, 126, 0, 0, 756, 141, 1, 0, 0, 0, 757, 758, 5, 33, 0, 0, 758, 759, 5, 61, 0, 0, 759, 143, 1, 0, 0, 0, 760, 761, 5, 60, 0, 0, 761, 145, 1, 0, 0, 0, 762, 763, 5, 60, 0, 0, 763, 764, 5, 61, 0, 0, 764, 147, 1, 0, 0, 0, 765, 766, 5, 62, 0, 0, 766, 149, 1, 0, 0, 0, 767, 768, 5, 62, 0, 0, 768, 769, 5, 61, 0, 0, 769, 151, 1, 0, 0, 0, 770, 771, 5, 43, 0, 0, 771, 153, 1, 0, 0, 0, 772, 773, 5, 45, 0, 0, 773, 155, 1, 0, 0, 0, 774, 775, 5, 42, 0, 0, 775, 157, 1, 0, 0, 0, 776, 777, 5, 47, 0, 0, 777, 159, 1, 0, 0, 0, 778, 779, 5, 37, 0, 0, 779, 161, 1, 0, 0, 0, 780, 781, 5, 91, 0, 0, 781, 782, 1, 0, 0, 0, 782, 783, 6, 75, 0, 0, 783, 784, 6, 75, 0, 0, 784, 163, 1, 0, 0, 0, 785, 786, 5, 93, 0, 0, 786, 787, 1, 0, 0, 0, 787, 788, 6, 76, 13, 0, 788, 789, 6, 76, 13, 0, 789, 165, 1, 0, 0, 0, 790, 794, 3, 70, 29, 0, 791, 793, 3, 86, 37, 0, 792, 791, 1, 0, 0, 0, 793, 796, 1, 0, 0, 0, 794, 792, 1, 0, 0, 0, 794, 795, 1, 0, 0, 0, 795, 807, 1, 0, 0, 0, 796, 794, 1, 0, 0, 0, 797, 800, 3, 84, 36, 0, 798, 800, 3, 78, 33, 0, 799, 797, 1, 0, 0, 0, 799, 798, 1, 0, 0, 0, 800, 802, 1, 0, 0, 0, 801, 803, 3, 86, 37, 0, 802, 801, 1, 0, 0, 0, 803, 804, 1, 0, 0, 0, 804, 802, 1, 0, 0, 0, 804, 805, 1, 0, 0, 0, 805, 807, 1, 0, 0, 0, 806, 790, 1, 0, 0, 0, 806, 799, 1, 0, 0, 0, 807, 167, 1, 0, 0, 0, 808, 810, 3, 80, 34, 0, 809, 811, 3, 82, 35, 0, 810, 809, 1, 0, 0, 0, 811, 812, 1, 0, 0, 0, 812, 810, 1, 0, 0, 0, 812, 813, 1, 0, 0, 0, 813, 814, 1, 0, 0, 0, 814, 815, 3, 80, 34, 0, 815, 169, 1, 0, 0, 0, 816, 817, 3, 168, 78, 0, 817, 171, 1, 0, 0, 0, 818, 819, 3, 50, 19, 0, 819, 820, 1, 0, 0, 0, 820, 821, 6, 80, 9, 0, 821, 173, 1, 0, 0, 0, 822, 823, 3, 52, 20, 0, 823, 824, 1, 0, 0, 0, 824, 825, 6, 81, 9, 0, 825, 175, 1, 0, 0, 0, 826, 827, 3, 54, 21, 0, 827, 828, 1, 0, 0, 0, 828, 829, 6, 82, 9, 0, 829, 177, 1, 0, 0, 0, 830, 831, 3, 66, 27, 0, 831, 832, 1, 0, 0, 0, 832, 833, 6, 83, 12, 0, 833, 834, 6, 83, 13, 0, 834, 179, 1, 0, 0, 0, 835, 836, 3, 162, 75, 0, 836, 837, 1, 0, 0, 0, 837, 838, 6, 84, 10, 0, 838, 181, 1, 0, 0, 0, 839, 840, 3, 164, 76, 0, 840, 841, 1, 0, 0, 0, 841, 842, 6, 85, 14, 0, 842, 183, 1, 0, 0, 0, 843, 844, 3, 102, 45, 0, 844, 845, 1, 0, 0, 0, 845, 846, 6, 86, 15, 0, 846, 185, 1, 0, 0, 0, 847, 848, 3, 100, 44, 0, 848, 849, 1, 0, 0, 0, 849, 850, 6, 87, 16, 0, 850, 187, 1, 0, 0, 0, 851, 852, 3, 88, 38, 0, 852, 853, 1, 0, 0, 0, 853, 854, 6, 88, 17, 0, 854, 189, 1, 0, 0, 0, 855, 856, 7, 7, 0, 0, 856, 857, 7, 8, 0, 0, 857, 858, 7, 5, 0, 0, 858, 859, 7, 1, 0, 0, 859, 860, 7, 7, 0, 0, 860, 861, 7, 9, 0, 0, 861, 862, 7, 2, 0, 0, 862, 191, 1, 0, 0, 0, 863, 864, 7, 16, 0, 0, 864, 865, 7, 3, 0, 0, 865, 866, 7, 5, 0, 0, 866, 867, 7, 12, 0, 0, 867, 868, 7, 0, 0, 0, 868, 869, 7, 12, 0, 0, 869, 870, 7, 5, 0, 0, 870, 871, 7, 12, 0, 0, 871, 193, 1, 0, 0, 0, 872, 876, 8, 32, 0, 0, 873, 874, 5, 47, 0, 0, 874, 876, 8, 33, 0, 0, 875, 872, 1, 0, 0, 0, 875, 873, 1, 0, 0, 0, 876, 195, 1, 0, 0, 0, 877, 879, 3, 194, 91, 0, 878, 877, 1, 0, 0, 0, 879, 880, 1, 0, 0, 0, 880, 878, 1, 0, 0, 0, 880, 881, 1, 0, 0, 0, 881, 197, 1, 0, 0, 0, 882, 883, 3, 170, 79, 0, 883, 884, 1, 0, 0, 0, 884, 885, 6, 93, 18, 0, 885, 199, 1, 0, 0, 0, 886, 887, 3, 50, 19, 0, 887, 888, 1, 0, 0, 0, 888, 889, 6, 94, 9, 0, 889, 201, 1, 0, 0, 0, 890, 891, 3, 52, 20, 0, 891, 892, 1, 0, 0, 0, 892, 893, 6, 95, 9, 0, 893, 203, 1, 0, 0, 0, 894, 895, 3, 54, 21, 0, 895, 896, 1, 0, 0, 0, 896, 897, 6, 96, 9, 0, 897, 205, 1, 0, 0, 0, 898, 899, 3, 66, 27, 0, 899, 900, 1, 0, 0, 0, 900, 901, 6, 97, 12, 0, 901, 902, 6, 97, 13, 0, 902, 207, 1, 0, 0, 0, 903, 904, 3, 106, 47, 0, 904, 905, 1, 0, 0, 0, 905, 906, 6, 98, 19, 0, 906, 209, 1, 0, 0, 0, 907, 908, 3, 102, 45, 0, 908, 909, 1, 0, 0, 0, 909, 910, 6, 99, 15, 0, 910, 211, 1, 0, 0, 0, 911, 916, 3, 70, 29, 0, 912, 916, 3, 68, 28, 0, 913, 916, 3, 84, 36, 0, 914, 916, 3, 156, 72, 0, 915, 911, 1, 0, 0, 0, 915, 912, 1, 0, 0, 0, 915, 913, 1, 0, 0, 0, 915, 914, 1, 0, 0, 0, 916, 213, 1, 0, 0, 0, 917, 920, 3, 70, 29, 0, 918, 920, 3, 156, 72, 0, 919, 917, 1, 0, 0, 0, 919, 918, 1, 0, 0, 0, 920, 924, 1, 0, 0, 0, 921, 923, 3, 212, 100, 0, 922, 921, 1, 0, 0, 0, 923, 926, 1, 0, 0, 0, 924, 922, 1, 0, 0, 0, 924, 925, 1, 0, 0, 0, 925, 937, 1, 0, 0, 0, 926, 924, 1, 0, 0, 0, 927, 930, 3, 84, 36, 0, 928, 930, 3, 78, 33, 0, 929, 927, 1, 0, 0, 0, 929, 928, 1, 0, 0, 0, 930, 932, 1, 0, 0, 0, 931, 933, 3, 212, 100, 0, 932, 931, 1, 0, 0, 0, 933, 934, 1, 0, 0, 0, 934, 932, 1, 0, 0, 0, 934, 935, 1, 0, 0, 0, 935, 937, 1, 0, 0, 0, 936, 919, 1, 0, 0, 0, 936, 929, 1, 0, 0, 0, 937, 215, 1, 0, 0, 0, 938, 941, 3, 214, 101, 0, 939, 941, 3, 168, 78, 0, 940, 938, 1, 0, 0, 0, 940, 939, 1, 0, 0, 0, 941, 942, 1, 0, 0, 0, 942, 940, 1, 0, 0, 0, 942, 943, 1, 0, 0, 0, 943, 217, 1, 0, 0, 0, 944, 945, 3, 50, 19, 0, 945, 946, 1, 0, 0, 0, 946, 947, 6, 103, 9, 0, 947, 219, 1, 0, 0, 0, 948, 949, 3, 52, 20, 0, 949, 950, 1, 0, 0, 0, 950, 951, 6, 104, 9, 0, 951, 221, 1, 0, 0, 0, 952, 953, 3, 54, 21, 0, 953, 954, 1, 0, 0, 0, 954, 955, 6, 105, 9, 0, 955, 223, 1, 0, 0, 0, 956, 957, 3, 66, 27, 0, 957, 958, 1, 0, 0, 0, 958, 959, 6, 106, 12, 0, 959, 960, 6, 106, 13, 0, 960, 225, 1, 0, 0, 0, 961, 962, 3, 100, 44, 0, 962, 963, 1, 0, 0, 0, 963, 964, 6, 107, 16, 0, 964, 227, 1, 0, 0, 0, 965, 966, 3, 102, 45, 0, 966, 967, 1, 0, 0, 0, 967, 968, 6, 108, 15, 0, 968, 229, 1, 0, 0, 0, 969, 970, 3, 106, 47, 0, 970, 971, 1, 0, 0, 0, 971, 972, 6, 109, 19, 0, 972, 231, 1, 0, 0, 0, 973, 974, 7, 12, 0, 0, 974, 975, 7, 2, 0, 0, 975, 233, 1, 0, 0, 0, 976, 977, 3, 216, 102, 0, 977, 978, 1, 0, 0, 0, 978, 979, 6, 111, 20, 0, 979, 235, 1, 0, 0, 0, 980, 981, 3, 50, 19, 0, 981, 982, 1, 0, 0, 0, 982, 983, 6, 112, 9, 0, 983, 237, 1, 0, 0, 0, 984, 985, 3, 52, 20, 0, 985, 986, 1, 0, 0, 0, 986, 987, 6, 113, 9, 0, 987, 239, 1, 0, 0, 0, 988, 989, 3, 54, 21, 0, 989, 990, 1, 0, 0, 0, 990, 991, 6, 114, 9, 0, 991, 241, 1, 0, 0, 0, 992, 993, 3, 66, 27, 0, 993, 994, 1, 0, 0, 0, 994, 995, 6, 115, 12, 0, 995, 996, 6, 115, 13, 0, 996, 243, 1, 0, 0, 0, 997, 998, 3, 162, 75, 0, 998, 999, 1, 0, 0, 0, 999, 1000, 6, 116, 10, 0, 1000, 1001, 6, 116, 21, 0, 1001, 245, 1, 0, 0, 0, 1002, 1003, 7, 7, 0, 0, 1003, 1004, 7, 9, 0, 0, 1004, 1005, 1, 0, 0, 0, 1005, 1006, 6, 117, 22, 0, 1006, 247, 1, 0, 0, 0, 1007, 1008, 7, 19, 0, 0, 1008, 1009, 7, 1, 0, 0, 1009, 1010, 7, 5, 0, 0, 1010, 1011, 7, 10, 0, 0, 1011, 1012, 1, 0, 0, 0, 1012, 1013, 6, 118, 22, 0, 1013, 249, 1, 0, 0, 0, 1014, 1015, 8, 34, 0, 0, 1015, 251, 1, 0, 0, 0, 1016, 1018, 3, 250, 119, 0, 1017, 1016, 1, 0, 0, 0, 1018, 1019, 1, 0, 0, 0, 1019, 1017, 1, 0, 0, 0, 1019, 1020, 1, 0, 0, 0, 1020, 1021, 1, 0, 0, 0, 1021, 1022, 3, 320, 154, 0, 1022, 1024, 1, 0, 0, 0, 1023, 1017, 1, 0, 0, 0, 1023, 1024, 1, 0, 0, 0, 1024, 1026, 1, 0, 0, 0, 1025, 1027, 3, 250, 119, 0, 1026, 1025, 1, 0, 0, 0, 1027, 1028, 1, 0, 0, 0, 1028, 1026, 1, 0, 0, 0, 1028, 1029, 1, 0, 0, 0, 1029, 253, 1, 0, 0, 0, 1030, 1031, 3, 170, 79, 0, 1031, 1032, 1, 0, 0, 0, 1032, 1033, 6, 121, 18, 0, 1033, 255, 1, 0, 0, 0, 1034, 1035, 3, 252, 120, 0, 1035, 1036, 1, 0, 0, 0, 1036, 1037, 6, 122, 23, 0, 1037, 257, 1, 0, 0, 0, 1038, 1039, 3, 50, 19, 0, 1039, 1040, 1, 0, 0, 0, 1040, 1041, 6, 123, 9, 0, 1041, 259, 1, 0, 0, 0, 1042, 1043, 3, 52, 20, 0, 1043, 1044, 1, 0, 0, 0, 1044, 1045, 6, 124, 9, 0, 1045, 261, 1, 0, 0, 0, 1046, 1047, 3, 54, 21, 0, 1047, 1048, 1, 0, 0, 0, 1048, 1049, 6, 125, 9, 0, 1049, 263, 1, 0, 0, 0, 1050, 1051, 3, 66, 27, 0, 1051, 1052, 1, 0, 0, 0, 1052, 1053, 6, 126, 12, 0, 1053, 1054, 6, 126, 13, 0, 1054, 1055, 6, 126, 13, 0, 1055, 265, 1, 0, 0, 0, 1056, 1057, 3, 100, 44, 0, 1057, 1058, 1, 0, 0, 0, 1058, 1059, 6, 127, 16, 0, 1059, 267, 1, 0, 0, 0, 1060, 1061, 3, 102, 45, 0, 1061, 1062, 1, 0, 0, 0, 1062, 1063, 6, 128, 15, 0, 1063, 269, 1, 0, 0, 0, 1064, 1065, 3, 106, 47, 0, 1065, 1066, 1, 0, 0, 0, 1066, 1067, 6, 129, 19, 0, 1067, 271, 1, 0, 0, 0, 1068, 1069, 3, 248, 118, 0, 1069, 1070, 1, 0, 0, 0, 1070, 1071, 6, 130, 24, 0, 1071, 273, 1, 0, 0, 0, 1072, 1073, 3, 216, 102, 0, 1073, 1074, 1, 0, 0, 0, 1074, 1075, 6, 131, 20, 0, 1075, 275, 1, 0, 0, 0, 1076, 1077, 3, 170, 79, 0, 1077, 1078, 1, 0, 0, 0, 1078, 1079, 6, 132, 18, 0, 1079, 277, 1, 0, 0, 0, 1080, 1081, 3, 50, 19, 0, 1081, 1082, 1, 0, 0, 0, 1082, 1083, 6, 133, 9, 0, 1083, 279, 1, 0, 0, 0, 1084, 1085, 3, 52, 20, 0, 1085, 1086, 1, 0, 0, 0, 1086, 1087, 6, 134, 9, 0, 1087, 281, 1, 0, 0, 0, 1088, 1089, 3, 54, 21, 0, 1089, 1090, 1, 0, 0, 0, 1090, 1091, 6, 135, 9, 0, 1091, 283, 1, 0, 0, 0, 1092, 1093, 3, 66, 27, 0, 1093, 1094, 1, 0, 0, 0, 1094, 1095, 6, 136, 12, 0, 1095, 1096, 6, 136, 13, 0, 1096, 285, 1, 0, 0, 0, 1097, 1098, 3, 106, 47, 0, 1098, 1099, 1, 0, 0, 0, 1099, 1100, 6, 137, 19, 0, 1100, 287, 1, 0, 0, 0, 1101, 1102, 3, 170, 79, 0, 1102, 1103, 1, 0, 0, 0, 1103, 1104, 6, 138, 18, 0, 1104, 289, 1, 0, 0, 0, 1105, 1106, 3, 166, 77, 0, 1106, 1107, 1, 0, 0, 0, 1107, 1108, 6, 139, 25, 0, 1108, 291, 1, 0, 0, 0, 1109, 1110, 3, 50, 19, 0, 1110, 1111, 1, 0, 0, 0, 1111, 1112, 6, 140, 9, 0, 1112, 293, 1, 0, 0, 0, 1113, 1114, 3, 52, 20, 0, 1114, 1115, 1, 0, 0, 0, 1115, 1116, 6, 141, 9, 0, 1116, 295, 1, 0, 0, 0, 1117, 1118, 3, 54, 21, 0, 1118, 1119, 1, 0, 0, 0, 1119, 1120, 6, 142, 9, 0, 1120, 297, 1, 0, 0, 0, 1121, 1122, 3, 66, 27, 0, 1122, 1123, 1, 0, 0, 0, 1123, 1124, 6, 143, 12, 0, 1124, 1125, 6, 143, 13, 0, 1125, 299, 1, 0, 0, 0, 1126, 1127, 7, 1, 0, 0, 1127, 1128, 7, 9, 0, 0, 1128, 1129, 7, 15, 0, 0, 1129, 1130, 7, 7, 0, 0, 1130, 301, 1, 0, 0, 0, 1131, 1132, 3, 50, 19, 0, 1132, 1133, 1, 0, 0, 0, 1133, 1134, 6, 145, 9, 0, 1134, 303, 1, 0, 0, 0, 1135, 1136, 3, 52, 20, 0, 1136, 1137, 1, 0, 0, 0, 1137, 1138, 6, 146, 9, 0, 1138, 305, 1, 0, 0, 0, 1139, 1140, 3, 54, 21, 0, 1140, 1141, 1, 0, 0, 0, 1141, 1142, 6, 147, 9, 0, 1142, 307, 1, 0, 0, 0, 1143, 1144, 3, 66, 27, 0, 1144, 1145, 1, 0, 0, 0, 1145, 1146, 6, 148, 12, 0, 1146, 1147, 6, 148, 13, 0, 1147, 309, 1, 0, 0, 0, 1148, 1149, 7, 15, 0, 0, 1149, 1150, 7, 31, 0, 0, 1150, 1151, 7, 9, 0, 0, 1151, 1152, 7, 4, 0, 0, 1152, 1153, 7, 5, 0, 0, 1153, 1154, 7, 1, 0, 0, 1154, 1155, 7, 7, 0, 0, 1155, 1156, 7, 9, 0, 0, 1156, 1157, 7, 2, 0, 0, 1157, 311, 1, 0, 0, 0, 1158, 1159, 3, 50, 19, 0, 1159, 1160, 1, 0, 0, 0, 1160, 1161, 6, 150, 9, 0, 1161, 313, 1, 0, 0, 0, 1162, 1163, 3, 52, 20, 0, 1163, 1164, 1, 0, 0, 0, 1164, 1165, 6, 151, 9, 0, 1165, 315, 1, 0, 0, 0, 1166, 1167, 3, 54, 21, 0, 1167, 1168, 1, 0, 0, 0, 1168, 1169, 6, 152, 9, 0, 1169, 317, 1, 0, 0, 0, 1170, 1171, 3, 164, 76, 0, 1171, 1172, 1, 0, 0, 0, 1172, 1173, 6, 153, 14, 0, 1173, 1174, 6, 153, 13, 0, 1174, 319, 1, 0, 0, 0, 1175, 1176, 5, 58, 0, 0, 1176, 321, 1, 0, 0, 0, 1177, 1183, 3, 78, 33, 0, 1178, 1183, 3, 68, 28, 0, 1179, 1183, 3, 106, 47, 0, 1180, 1183, 3, 70, 29, 0, 1181, 1183, 3, 84, 36, 0, 1182, 1177, 1, 0, 0, 0, 1182, 1178, 1, 0, 0, 0, 1182, 1179, 1, 0, 0, 0, 1182, 1180, 1, 0, 0, 0, 1182, 1181, 1, 0, 0, 0, 1183, 1184, 1, 0, 0, 0, 1184, 1182, 1, 0, 0, 0, 1184, 1185, 1, 0, 0, 0, 1185, 323, 1, 0, 0, 0, 1186, 1187, 3, 50, 19, 0, 1187, 1188, 1, 0, 0, 0, 1188, 1189, 6, 156, 9, 0, 1189, 325, 1, 0, 0, 0, 1190, 1191, 3, 52, 20, 0, 1191, 1192, 1, 0, 0, 0, 1192, 1193, 6, 157, 9, 0, 1193, 327, 1, 0, 0, 0, 1194, 1195, 3, 54, 21, 0, 1195, 1196, 1, 0, 0, 0, 1196, 1197, 6, 158, 9, 0, 1197, 329, 1, 0, 0, 0, 58, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 483, 493, 497, 500, 509, 511, 522, 563, 568, 577, 584, 589, 591, 602, 610, 613, 615, 620, 625, 631, 638, 643, 649, 652, 660, 664, 794, 799, 804, 806, 812, 875, 880, 915, 919, 924, 929, 934, 936, 940, 942, 1019, 1023, 1028, 1182, 1184, 26, 5, 2, 0, 5, 4, 0, 5, 6, 0, 5, 1, 0, 5, 3, 0, 5, 10, 0, 5, 8, 0, 5, 5, 0, 5, 9, 0, 0, 1, 0, 7, 64, 0, 5, 0, 0, 7, 26, 0, 4, 0, 0, 7, 65, 0, 7, 34, 0, 7, 33, 0, 7, 27, 0, 7, 67, 0, 7, 36, 0, 7, 77, 0, 5, 11, 0, 5, 7, 0, 7, 87, 0, 7, 86, 0, 7, 66, 0] \ No newline at end of file +[4, 0, 110, 1203, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 6, -1, 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, 2, 53, 7, 53, 2, 54, 7, 54, 2, 55, 7, 55, 2, 56, 7, 56, 2, 57, 7, 57, 2, 58, 7, 58, 2, 59, 7, 59, 2, 60, 7, 60, 2, 61, 7, 61, 2, 62, 7, 62, 2, 63, 7, 63, 2, 64, 7, 64, 2, 65, 7, 65, 2, 66, 7, 66, 2, 67, 7, 67, 2, 68, 7, 68, 2, 69, 7, 69, 2, 70, 7, 70, 2, 71, 7, 71, 2, 72, 7, 72, 2, 73, 7, 73, 2, 74, 7, 74, 2, 75, 7, 75, 2, 76, 7, 76, 2, 77, 7, 77, 2, 78, 7, 78, 2, 79, 7, 79, 2, 80, 7, 80, 2, 81, 7, 81, 2, 82, 7, 82, 2, 83, 7, 83, 2, 84, 7, 84, 2, 85, 7, 85, 2, 86, 7, 86, 2, 87, 7, 87, 2, 88, 7, 88, 2, 89, 7, 89, 2, 90, 7, 90, 2, 91, 7, 91, 2, 92, 7, 92, 2, 93, 7, 93, 2, 94, 7, 94, 2, 95, 7, 95, 2, 96, 7, 96, 2, 97, 7, 97, 2, 98, 7, 98, 2, 99, 7, 99, 2, 100, 7, 100, 2, 101, 7, 101, 2, 102, 7, 102, 2, 103, 7, 103, 2, 104, 7, 104, 2, 105, 7, 105, 2, 106, 7, 106, 2, 107, 7, 107, 2, 108, 7, 108, 2, 109, 7, 109, 2, 110, 7, 110, 2, 111, 7, 111, 2, 112, 7, 112, 2, 113, 7, 113, 2, 114, 7, 114, 2, 115, 7, 115, 2, 116, 7, 116, 2, 117, 7, 117, 2, 118, 7, 118, 2, 119, 7, 119, 2, 120, 7, 120, 2, 121, 7, 121, 2, 122, 7, 122, 2, 123, 7, 123, 2, 124, 7, 124, 2, 125, 7, 125, 2, 126, 7, 126, 2, 127, 7, 127, 2, 128, 7, 128, 2, 129, 7, 129, 2, 130, 7, 130, 2, 131, 7, 131, 2, 132, 7, 132, 2, 133, 7, 133, 2, 134, 7, 134, 2, 135, 7, 135, 2, 136, 7, 136, 2, 137, 7, 137, 2, 138, 7, 138, 2, 139, 7, 139, 2, 140, 7, 140, 2, 141, 7, 141, 2, 142, 7, 142, 2, 143, 7, 143, 2, 144, 7, 144, 2, 145, 7, 145, 2, 146, 7, 146, 2, 147, 7, 147, 2, 148, 7, 148, 2, 149, 7, 149, 2, 150, 7, 150, 2, 151, 7, 151, 2, 152, 7, 152, 2, 153, 7, 153, 2, 154, 7, 154, 2, 155, 7, 155, 2, 156, 7, 156, 2, 157, 7, 157, 2, 158, 7, 158, 2, 159, 7, 159, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 3, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 15, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 17, 1, 18, 4, 18, 484, 8, 18, 11, 18, 12, 18, 485, 1, 18, 1, 18, 1, 19, 1, 19, 1, 19, 1, 19, 5, 19, 494, 8, 19, 10, 19, 12, 19, 497, 9, 19, 1, 19, 3, 19, 500, 8, 19, 1, 19, 3, 19, 503, 8, 19, 1, 19, 1, 19, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 5, 20, 512, 8, 20, 10, 20, 12, 20, 515, 9, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 20, 1, 21, 4, 21, 523, 8, 21, 11, 21, 12, 21, 524, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 1, 23, 1, 23, 1, 23, 1, 24, 1, 24, 1, 24, 1, 24, 1, 25, 1, 25, 1, 25, 1, 25, 1, 26, 1, 26, 1, 26, 1, 26, 1, 27, 1, 27, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 32, 1, 32, 3, 32, 566, 8, 32, 1, 32, 4, 32, 569, 8, 32, 11, 32, 12, 32, 570, 1, 33, 1, 33, 1, 34, 1, 34, 1, 35, 1, 35, 1, 35, 3, 35, 580, 8, 35, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 3, 37, 587, 8, 37, 1, 38, 1, 38, 1, 38, 5, 38, 592, 8, 38, 10, 38, 12, 38, 595, 9, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 5, 38, 603, 8, 38, 10, 38, 12, 38, 606, 9, 38, 1, 38, 1, 38, 1, 38, 1, 38, 1, 38, 3, 38, 613, 8, 38, 1, 38, 3, 38, 616, 8, 38, 3, 38, 618, 8, 38, 1, 39, 4, 39, 621, 8, 39, 11, 39, 12, 39, 622, 1, 40, 4, 40, 626, 8, 40, 11, 40, 12, 40, 627, 1, 40, 1, 40, 5, 40, 632, 8, 40, 10, 40, 12, 40, 635, 9, 40, 1, 40, 1, 40, 4, 40, 639, 8, 40, 11, 40, 12, 40, 640, 1, 40, 4, 40, 644, 8, 40, 11, 40, 12, 40, 645, 1, 40, 1, 40, 5, 40, 650, 8, 40, 10, 40, 12, 40, 653, 9, 40, 3, 40, 655, 8, 40, 1, 40, 1, 40, 1, 40, 1, 40, 4, 40, 661, 8, 40, 11, 40, 12, 40, 662, 1, 40, 1, 40, 3, 40, 667, 8, 40, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 42, 1, 42, 1, 43, 1, 43, 1, 43, 1, 43, 1, 44, 1, 44, 1, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 47, 1, 47, 1, 47, 1, 47, 1, 47, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 53, 1, 53, 1, 53, 1, 54, 1, 54, 1, 54, 1, 55, 1, 55, 1, 55, 1, 55, 1, 55, 1, 56, 1, 56, 1, 56, 1, 56, 1, 57, 1, 57, 1, 57, 1, 57, 1, 57, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 58, 1, 59, 1, 59, 1, 59, 1, 60, 1, 60, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 61, 1, 62, 1, 62, 1, 63, 1, 63, 1, 63, 1, 63, 1, 63, 1, 64, 1, 64, 1, 64, 1, 65, 1, 65, 1, 65, 1, 66, 1, 66, 1, 66, 1, 67, 1, 67, 1, 68, 1, 68, 1, 68, 1, 69, 1, 69, 1, 70, 1, 70, 1, 70, 1, 71, 1, 71, 1, 72, 1, 72, 1, 73, 1, 73, 1, 74, 1, 74, 1, 75, 1, 75, 1, 76, 1, 76, 1, 76, 1, 76, 1, 76, 1, 77, 1, 77, 1, 77, 1, 77, 1, 77, 1, 78, 1, 78, 5, 78, 798, 8, 78, 10, 78, 12, 78, 801, 9, 78, 1, 78, 1, 78, 3, 78, 805, 8, 78, 1, 78, 4, 78, 808, 8, 78, 11, 78, 12, 78, 809, 3, 78, 812, 8, 78, 1, 79, 1, 79, 4, 79, 816, 8, 79, 11, 79, 12, 79, 817, 1, 79, 1, 79, 1, 80, 1, 80, 1, 81, 1, 81, 1, 81, 1, 81, 1, 82, 1, 82, 1, 82, 1, 82, 1, 83, 1, 83, 1, 83, 1, 83, 1, 84, 1, 84, 1, 84, 1, 84, 1, 84, 1, 85, 1, 85, 1, 85, 1, 85, 1, 86, 1, 86, 1, 86, 1, 86, 1, 87, 1, 87, 1, 87, 1, 87, 1, 88, 1, 88, 1, 88, 1, 88, 1, 89, 1, 89, 1, 89, 1, 89, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 90, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 91, 1, 92, 1, 92, 1, 92, 3, 92, 881, 8, 92, 1, 93, 4, 93, 884, 8, 93, 11, 93, 12, 93, 885, 1, 94, 1, 94, 1, 94, 1, 94, 1, 95, 1, 95, 1, 95, 1, 95, 1, 96, 1, 96, 1, 96, 1, 96, 1, 97, 1, 97, 1, 97, 1, 97, 1, 98, 1, 98, 1, 98, 1, 98, 1, 98, 1, 99, 1, 99, 1, 99, 1, 99, 1, 100, 1, 100, 1, 100, 1, 100, 1, 101, 1, 101, 1, 101, 1, 101, 3, 101, 921, 8, 101, 1, 102, 1, 102, 3, 102, 925, 8, 102, 1, 102, 5, 102, 928, 8, 102, 10, 102, 12, 102, 931, 9, 102, 1, 102, 1, 102, 3, 102, 935, 8, 102, 1, 102, 4, 102, 938, 8, 102, 11, 102, 12, 102, 939, 3, 102, 942, 8, 102, 1, 103, 1, 103, 4, 103, 946, 8, 103, 11, 103, 12, 103, 947, 1, 104, 1, 104, 1, 104, 1, 104, 1, 105, 1, 105, 1, 105, 1, 105, 1, 106, 1, 106, 1, 106, 1, 106, 1, 107, 1, 107, 1, 107, 1, 107, 1, 107, 1, 108, 1, 108, 1, 108, 1, 108, 1, 109, 1, 109, 1, 109, 1, 109, 1, 110, 1, 110, 1, 110, 1, 110, 1, 111, 1, 111, 1, 111, 1, 112, 1, 112, 1, 112, 1, 112, 1, 113, 1, 113, 1, 113, 1, 113, 1, 114, 1, 114, 1, 114, 1, 114, 1, 115, 1, 115, 1, 115, 1, 115, 1, 116, 1, 116, 1, 116, 1, 116, 1, 116, 1, 117, 1, 117, 1, 117, 1, 117, 1, 117, 1, 118, 1, 118, 1, 118, 1, 118, 1, 118, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 119, 1, 120, 1, 120, 1, 121, 4, 121, 1023, 8, 121, 11, 121, 12, 121, 1024, 1, 121, 1, 121, 3, 121, 1029, 8, 121, 1, 121, 4, 121, 1032, 8, 121, 11, 121, 12, 121, 1033, 1, 122, 1, 122, 1, 122, 1, 122, 1, 123, 1, 123, 1, 123, 1, 123, 1, 124, 1, 124, 1, 124, 1, 124, 1, 125, 1, 125, 1, 125, 1, 125, 1, 126, 1, 126, 1, 126, 1, 126, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 127, 1, 128, 1, 128, 1, 128, 1, 128, 1, 129, 1, 129, 1, 129, 1, 129, 1, 130, 1, 130, 1, 130, 1, 130, 1, 131, 1, 131, 1, 131, 1, 131, 1, 132, 1, 132, 1, 132, 1, 132, 1, 133, 1, 133, 1, 133, 1, 133, 1, 134, 1, 134, 1, 134, 1, 134, 1, 135, 1, 135, 1, 135, 1, 135, 1, 136, 1, 136, 1, 136, 1, 136, 1, 137, 1, 137, 1, 137, 1, 137, 1, 137, 1, 138, 1, 138, 1, 138, 1, 138, 1, 139, 1, 139, 1, 139, 1, 139, 1, 140, 1, 140, 1, 140, 1, 140, 1, 141, 1, 141, 1, 141, 1, 141, 1, 142, 1, 142, 1, 142, 1, 142, 1, 143, 1, 143, 1, 143, 1, 143, 1, 144, 1, 144, 1, 144, 1, 144, 1, 144, 1, 145, 1, 145, 1, 145, 1, 145, 1, 145, 1, 146, 1, 146, 1, 146, 1, 146, 1, 147, 1, 147, 1, 147, 1, 147, 1, 148, 1, 148, 1, 148, 1, 148, 1, 149, 1, 149, 1, 149, 1, 149, 1, 149, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 150, 1, 151, 1, 151, 1, 151, 1, 151, 1, 152, 1, 152, 1, 152, 1, 152, 1, 153, 1, 153, 1, 153, 1, 153, 1, 154, 1, 154, 1, 154, 1, 154, 1, 154, 1, 155, 1, 155, 1, 156, 1, 156, 1, 156, 1, 156, 1, 156, 4, 156, 1188, 8, 156, 11, 156, 12, 156, 1189, 1, 157, 1, 157, 1, 157, 1, 157, 1, 158, 1, 158, 1, 158, 1, 158, 1, 159, 1, 159, 1, 159, 1, 159, 2, 513, 604, 0, 160, 12, 1, 14, 2, 16, 3, 18, 4, 20, 5, 22, 6, 24, 7, 26, 8, 28, 9, 30, 10, 32, 11, 34, 12, 36, 13, 38, 14, 40, 15, 42, 16, 44, 17, 46, 18, 48, 19, 50, 20, 52, 21, 54, 22, 56, 0, 58, 0, 60, 23, 62, 24, 64, 25, 66, 26, 68, 0, 70, 0, 72, 0, 74, 0, 76, 0, 78, 0, 80, 0, 82, 0, 84, 0, 86, 0, 88, 27, 90, 28, 92, 29, 94, 30, 96, 31, 98, 32, 100, 33, 102, 34, 104, 35, 106, 36, 108, 37, 110, 38, 112, 39, 114, 40, 116, 41, 118, 42, 120, 43, 122, 44, 124, 45, 126, 46, 128, 47, 130, 48, 132, 49, 134, 50, 136, 51, 138, 52, 140, 53, 142, 54, 144, 55, 146, 56, 148, 57, 150, 58, 152, 59, 154, 60, 156, 61, 158, 62, 160, 63, 162, 64, 164, 65, 166, 66, 168, 67, 170, 0, 172, 68, 174, 69, 176, 70, 178, 71, 180, 0, 182, 0, 184, 0, 186, 0, 188, 0, 190, 0, 192, 72, 194, 73, 196, 0, 198, 74, 200, 0, 202, 75, 204, 76, 206, 77, 208, 0, 210, 0, 212, 0, 214, 0, 216, 0, 218, 78, 220, 79, 222, 80, 224, 81, 226, 0, 228, 0, 230, 0, 232, 0, 234, 82, 236, 0, 238, 83, 240, 84, 242, 85, 244, 0, 246, 0, 248, 86, 250, 87, 252, 0, 254, 88, 256, 0, 258, 0, 260, 89, 262, 90, 264, 91, 266, 0, 268, 0, 270, 0, 272, 0, 274, 0, 276, 0, 278, 0, 280, 92, 282, 93, 284, 94, 286, 0, 288, 0, 290, 0, 292, 0, 294, 95, 296, 96, 298, 97, 300, 0, 302, 98, 304, 99, 306, 100, 308, 101, 310, 0, 312, 102, 314, 103, 316, 104, 318, 105, 320, 0, 322, 106, 324, 107, 326, 108, 328, 109, 330, 110, 12, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 35, 2, 0, 68, 68, 100, 100, 2, 0, 73, 73, 105, 105, 2, 0, 83, 83, 115, 115, 2, 0, 69, 69, 101, 101, 2, 0, 67, 67, 99, 99, 2, 0, 84, 84, 116, 116, 2, 0, 82, 82, 114, 114, 2, 0, 79, 79, 111, 111, 2, 0, 80, 80, 112, 112, 2, 0, 78, 78, 110, 110, 2, 0, 72, 72, 104, 104, 2, 0, 86, 86, 118, 118, 2, 0, 65, 65, 97, 97, 2, 0, 76, 76, 108, 108, 2, 0, 88, 88, 120, 120, 2, 0, 70, 70, 102, 102, 2, 0, 77, 77, 109, 109, 2, 0, 71, 71, 103, 103, 2, 0, 75, 75, 107, 107, 2, 0, 87, 87, 119, 119, 6, 0, 9, 10, 13, 13, 32, 32, 47, 47, 91, 91, 93, 93, 2, 0, 10, 10, 13, 13, 3, 0, 9, 10, 13, 13, 32, 32, 1, 0, 48, 57, 2, 0, 65, 90, 97, 122, 8, 0, 34, 34, 78, 78, 82, 82, 84, 84, 92, 92, 110, 110, 114, 114, 116, 116, 4, 0, 10, 10, 13, 13, 34, 34, 92, 92, 2, 0, 43, 43, 45, 45, 1, 0, 96, 96, 2, 0, 66, 66, 98, 98, 2, 0, 89, 89, 121, 121, 2, 0, 85, 85, 117, 117, 10, 0, 9, 10, 13, 13, 32, 32, 44, 44, 47, 47, 61, 61, 91, 91, 93, 93, 96, 96, 124, 124, 2, 0, 42, 42, 47, 47, 11, 0, 9, 10, 13, 13, 32, 32, 34, 35, 44, 44, 47, 47, 58, 58, 60, 60, 62, 63, 92, 92, 124, 124, 1230, 0, 12, 1, 0, 0, 0, 0, 14, 1, 0, 0, 0, 0, 16, 1, 0, 0, 0, 0, 18, 1, 0, 0, 0, 0, 20, 1, 0, 0, 0, 0, 22, 1, 0, 0, 0, 0, 24, 1, 0, 0, 0, 0, 26, 1, 0, 0, 0, 0, 28, 1, 0, 0, 0, 0, 30, 1, 0, 0, 0, 0, 32, 1, 0, 0, 0, 0, 34, 1, 0, 0, 0, 0, 36, 1, 0, 0, 0, 0, 38, 1, 0, 0, 0, 0, 40, 1, 0, 0, 0, 0, 42, 1, 0, 0, 0, 0, 44, 1, 0, 0, 0, 0, 46, 1, 0, 0, 0, 0, 48, 1, 0, 0, 0, 0, 50, 1, 0, 0, 0, 0, 52, 1, 0, 0, 0, 0, 54, 1, 0, 0, 0, 1, 56, 1, 0, 0, 0, 1, 58, 1, 0, 0, 0, 1, 60, 1, 0, 0, 0, 1, 62, 1, 0, 0, 0, 1, 64, 1, 0, 0, 0, 2, 66, 1, 0, 0, 0, 2, 88, 1, 0, 0, 0, 2, 90, 1, 0, 0, 0, 2, 92, 1, 0, 0, 0, 2, 94, 1, 0, 0, 0, 2, 96, 1, 0, 0, 0, 2, 98, 1, 0, 0, 0, 2, 100, 1, 0, 0, 0, 2, 102, 1, 0, 0, 0, 2, 104, 1, 0, 0, 0, 2, 106, 1, 0, 0, 0, 2, 108, 1, 0, 0, 0, 2, 110, 1, 0, 0, 0, 2, 112, 1, 0, 0, 0, 2, 114, 1, 0, 0, 0, 2, 116, 1, 0, 0, 0, 2, 118, 1, 0, 0, 0, 2, 120, 1, 0, 0, 0, 2, 122, 1, 0, 0, 0, 2, 124, 1, 0, 0, 0, 2, 126, 1, 0, 0, 0, 2, 128, 1, 0, 0, 0, 2, 130, 1, 0, 0, 0, 2, 132, 1, 0, 0, 0, 2, 134, 1, 0, 0, 0, 2, 136, 1, 0, 0, 0, 2, 138, 1, 0, 0, 0, 2, 140, 1, 0, 0, 0, 2, 142, 1, 0, 0, 0, 2, 144, 1, 0, 0, 0, 2, 146, 1, 0, 0, 0, 2, 148, 1, 0, 0, 0, 2, 150, 1, 0, 0, 0, 2, 152, 1, 0, 0, 0, 2, 154, 1, 0, 0, 0, 2, 156, 1, 0, 0, 0, 2, 158, 1, 0, 0, 0, 2, 160, 1, 0, 0, 0, 2, 162, 1, 0, 0, 0, 2, 164, 1, 0, 0, 0, 2, 166, 1, 0, 0, 0, 2, 168, 1, 0, 0, 0, 2, 172, 1, 0, 0, 0, 2, 174, 1, 0, 0, 0, 2, 176, 1, 0, 0, 0, 2, 178, 1, 0, 0, 0, 3, 180, 1, 0, 0, 0, 3, 182, 1, 0, 0, 0, 3, 184, 1, 0, 0, 0, 3, 186, 1, 0, 0, 0, 3, 188, 1, 0, 0, 0, 3, 190, 1, 0, 0, 0, 3, 192, 1, 0, 0, 0, 3, 194, 1, 0, 0, 0, 3, 198, 1, 0, 0, 0, 3, 200, 1, 0, 0, 0, 3, 202, 1, 0, 0, 0, 3, 204, 1, 0, 0, 0, 3, 206, 1, 0, 0, 0, 4, 208, 1, 0, 0, 0, 4, 210, 1, 0, 0, 0, 4, 212, 1, 0, 0, 0, 4, 218, 1, 0, 0, 0, 4, 220, 1, 0, 0, 0, 4, 222, 1, 0, 0, 0, 4, 224, 1, 0, 0, 0, 5, 226, 1, 0, 0, 0, 5, 228, 1, 0, 0, 0, 5, 230, 1, 0, 0, 0, 5, 232, 1, 0, 0, 0, 5, 234, 1, 0, 0, 0, 5, 236, 1, 0, 0, 0, 5, 238, 1, 0, 0, 0, 5, 240, 1, 0, 0, 0, 5, 242, 1, 0, 0, 0, 6, 244, 1, 0, 0, 0, 6, 246, 1, 0, 0, 0, 6, 248, 1, 0, 0, 0, 6, 250, 1, 0, 0, 0, 6, 254, 1, 0, 0, 0, 6, 256, 1, 0, 0, 0, 6, 258, 1, 0, 0, 0, 6, 260, 1, 0, 0, 0, 6, 262, 1, 0, 0, 0, 6, 264, 1, 0, 0, 0, 7, 266, 1, 0, 0, 0, 7, 268, 1, 0, 0, 0, 7, 270, 1, 0, 0, 0, 7, 272, 1, 0, 0, 0, 7, 274, 1, 0, 0, 0, 7, 276, 1, 0, 0, 0, 7, 278, 1, 0, 0, 0, 7, 280, 1, 0, 0, 0, 7, 282, 1, 0, 0, 0, 7, 284, 1, 0, 0, 0, 8, 286, 1, 0, 0, 0, 8, 288, 1, 0, 0, 0, 8, 290, 1, 0, 0, 0, 8, 292, 1, 0, 0, 0, 8, 294, 1, 0, 0, 0, 8, 296, 1, 0, 0, 0, 8, 298, 1, 0, 0, 0, 9, 300, 1, 0, 0, 0, 9, 302, 1, 0, 0, 0, 9, 304, 1, 0, 0, 0, 9, 306, 1, 0, 0, 0, 9, 308, 1, 0, 0, 0, 10, 310, 1, 0, 0, 0, 10, 312, 1, 0, 0, 0, 10, 314, 1, 0, 0, 0, 10, 316, 1, 0, 0, 0, 10, 318, 1, 0, 0, 0, 11, 320, 1, 0, 0, 0, 11, 322, 1, 0, 0, 0, 11, 324, 1, 0, 0, 0, 11, 326, 1, 0, 0, 0, 11, 328, 1, 0, 0, 0, 11, 330, 1, 0, 0, 0, 12, 332, 1, 0, 0, 0, 14, 342, 1, 0, 0, 0, 16, 349, 1, 0, 0, 0, 18, 358, 1, 0, 0, 0, 20, 365, 1, 0, 0, 0, 22, 375, 1, 0, 0, 0, 24, 382, 1, 0, 0, 0, 26, 389, 1, 0, 0, 0, 28, 403, 1, 0, 0, 0, 30, 410, 1, 0, 0, 0, 32, 418, 1, 0, 0, 0, 34, 425, 1, 0, 0, 0, 36, 437, 1, 0, 0, 0, 38, 446, 1, 0, 0, 0, 40, 452, 1, 0, 0, 0, 42, 459, 1, 0, 0, 0, 44, 466, 1, 0, 0, 0, 46, 474, 1, 0, 0, 0, 48, 483, 1, 0, 0, 0, 50, 489, 1, 0, 0, 0, 52, 506, 1, 0, 0, 0, 54, 522, 1, 0, 0, 0, 56, 528, 1, 0, 0, 0, 58, 533, 1, 0, 0, 0, 60, 538, 1, 0, 0, 0, 62, 542, 1, 0, 0, 0, 64, 546, 1, 0, 0, 0, 66, 550, 1, 0, 0, 0, 68, 554, 1, 0, 0, 0, 70, 556, 1, 0, 0, 0, 72, 558, 1, 0, 0, 0, 74, 561, 1, 0, 0, 0, 76, 563, 1, 0, 0, 0, 78, 572, 1, 0, 0, 0, 80, 574, 1, 0, 0, 0, 82, 579, 1, 0, 0, 0, 84, 581, 1, 0, 0, 0, 86, 586, 1, 0, 0, 0, 88, 617, 1, 0, 0, 0, 90, 620, 1, 0, 0, 0, 92, 666, 1, 0, 0, 0, 94, 668, 1, 0, 0, 0, 96, 671, 1, 0, 0, 0, 98, 675, 1, 0, 0, 0, 100, 679, 1, 0, 0, 0, 102, 681, 1, 0, 0, 0, 104, 684, 1, 0, 0, 0, 106, 686, 1, 0, 0, 0, 108, 691, 1, 0, 0, 0, 110, 693, 1, 0, 0, 0, 112, 699, 1, 0, 0, 0, 114, 705, 1, 0, 0, 0, 116, 710, 1, 0, 0, 0, 118, 712, 1, 0, 0, 0, 120, 715, 1, 0, 0, 0, 122, 718, 1, 0, 0, 0, 124, 723, 1, 0, 0, 0, 126, 727, 1, 0, 0, 0, 128, 732, 1, 0, 0, 0, 130, 738, 1, 0, 0, 0, 132, 741, 1, 0, 0, 0, 134, 743, 1, 0, 0, 0, 136, 749, 1, 0, 0, 0, 138, 751, 1, 0, 0, 0, 140, 756, 1, 0, 0, 0, 142, 759, 1, 0, 0, 0, 144, 762, 1, 0, 0, 0, 146, 765, 1, 0, 0, 0, 148, 767, 1, 0, 0, 0, 150, 770, 1, 0, 0, 0, 152, 772, 1, 0, 0, 0, 154, 775, 1, 0, 0, 0, 156, 777, 1, 0, 0, 0, 158, 779, 1, 0, 0, 0, 160, 781, 1, 0, 0, 0, 162, 783, 1, 0, 0, 0, 164, 785, 1, 0, 0, 0, 166, 790, 1, 0, 0, 0, 168, 811, 1, 0, 0, 0, 170, 813, 1, 0, 0, 0, 172, 821, 1, 0, 0, 0, 174, 823, 1, 0, 0, 0, 176, 827, 1, 0, 0, 0, 178, 831, 1, 0, 0, 0, 180, 835, 1, 0, 0, 0, 182, 840, 1, 0, 0, 0, 184, 844, 1, 0, 0, 0, 186, 848, 1, 0, 0, 0, 188, 852, 1, 0, 0, 0, 190, 856, 1, 0, 0, 0, 192, 860, 1, 0, 0, 0, 194, 868, 1, 0, 0, 0, 196, 880, 1, 0, 0, 0, 198, 883, 1, 0, 0, 0, 200, 887, 1, 0, 0, 0, 202, 891, 1, 0, 0, 0, 204, 895, 1, 0, 0, 0, 206, 899, 1, 0, 0, 0, 208, 903, 1, 0, 0, 0, 210, 908, 1, 0, 0, 0, 212, 912, 1, 0, 0, 0, 214, 920, 1, 0, 0, 0, 216, 941, 1, 0, 0, 0, 218, 945, 1, 0, 0, 0, 220, 949, 1, 0, 0, 0, 222, 953, 1, 0, 0, 0, 224, 957, 1, 0, 0, 0, 226, 961, 1, 0, 0, 0, 228, 966, 1, 0, 0, 0, 230, 970, 1, 0, 0, 0, 232, 974, 1, 0, 0, 0, 234, 978, 1, 0, 0, 0, 236, 981, 1, 0, 0, 0, 238, 985, 1, 0, 0, 0, 240, 989, 1, 0, 0, 0, 242, 993, 1, 0, 0, 0, 244, 997, 1, 0, 0, 0, 246, 1002, 1, 0, 0, 0, 248, 1007, 1, 0, 0, 0, 250, 1012, 1, 0, 0, 0, 252, 1019, 1, 0, 0, 0, 254, 1028, 1, 0, 0, 0, 256, 1035, 1, 0, 0, 0, 258, 1039, 1, 0, 0, 0, 260, 1043, 1, 0, 0, 0, 262, 1047, 1, 0, 0, 0, 264, 1051, 1, 0, 0, 0, 266, 1055, 1, 0, 0, 0, 268, 1061, 1, 0, 0, 0, 270, 1065, 1, 0, 0, 0, 272, 1069, 1, 0, 0, 0, 274, 1073, 1, 0, 0, 0, 276, 1077, 1, 0, 0, 0, 278, 1081, 1, 0, 0, 0, 280, 1085, 1, 0, 0, 0, 282, 1089, 1, 0, 0, 0, 284, 1093, 1, 0, 0, 0, 286, 1097, 1, 0, 0, 0, 288, 1102, 1, 0, 0, 0, 290, 1106, 1, 0, 0, 0, 292, 1110, 1, 0, 0, 0, 294, 1114, 1, 0, 0, 0, 296, 1118, 1, 0, 0, 0, 298, 1122, 1, 0, 0, 0, 300, 1126, 1, 0, 0, 0, 302, 1131, 1, 0, 0, 0, 304, 1136, 1, 0, 0, 0, 306, 1140, 1, 0, 0, 0, 308, 1144, 1, 0, 0, 0, 310, 1148, 1, 0, 0, 0, 312, 1153, 1, 0, 0, 0, 314, 1163, 1, 0, 0, 0, 316, 1167, 1, 0, 0, 0, 318, 1171, 1, 0, 0, 0, 320, 1175, 1, 0, 0, 0, 322, 1180, 1, 0, 0, 0, 324, 1187, 1, 0, 0, 0, 326, 1191, 1, 0, 0, 0, 328, 1195, 1, 0, 0, 0, 330, 1199, 1, 0, 0, 0, 332, 333, 7, 0, 0, 0, 333, 334, 7, 1, 0, 0, 334, 335, 7, 2, 0, 0, 335, 336, 7, 2, 0, 0, 336, 337, 7, 3, 0, 0, 337, 338, 7, 4, 0, 0, 338, 339, 7, 5, 0, 0, 339, 340, 1, 0, 0, 0, 340, 341, 6, 0, 0, 0, 341, 13, 1, 0, 0, 0, 342, 343, 7, 0, 0, 0, 343, 344, 7, 6, 0, 0, 344, 345, 7, 7, 0, 0, 345, 346, 7, 8, 0, 0, 346, 347, 1, 0, 0, 0, 347, 348, 6, 1, 1, 0, 348, 15, 1, 0, 0, 0, 349, 350, 7, 3, 0, 0, 350, 351, 7, 9, 0, 0, 351, 352, 7, 6, 0, 0, 352, 353, 7, 1, 0, 0, 353, 354, 7, 4, 0, 0, 354, 355, 7, 10, 0, 0, 355, 356, 1, 0, 0, 0, 356, 357, 6, 2, 2, 0, 357, 17, 1, 0, 0, 0, 358, 359, 7, 3, 0, 0, 359, 360, 7, 11, 0, 0, 360, 361, 7, 12, 0, 0, 361, 362, 7, 13, 0, 0, 362, 363, 1, 0, 0, 0, 363, 364, 6, 3, 0, 0, 364, 19, 1, 0, 0, 0, 365, 366, 7, 3, 0, 0, 366, 367, 7, 14, 0, 0, 367, 368, 7, 8, 0, 0, 368, 369, 7, 13, 0, 0, 369, 370, 7, 12, 0, 0, 370, 371, 7, 1, 0, 0, 371, 372, 7, 9, 0, 0, 372, 373, 1, 0, 0, 0, 373, 374, 6, 4, 3, 0, 374, 21, 1, 0, 0, 0, 375, 376, 7, 15, 0, 0, 376, 377, 7, 6, 0, 0, 377, 378, 7, 7, 0, 0, 378, 379, 7, 16, 0, 0, 379, 380, 1, 0, 0, 0, 380, 381, 6, 5, 4, 0, 381, 23, 1, 0, 0, 0, 382, 383, 7, 17, 0, 0, 383, 384, 7, 6, 0, 0, 384, 385, 7, 7, 0, 0, 385, 386, 7, 18, 0, 0, 386, 387, 1, 0, 0, 0, 387, 388, 6, 6, 0, 0, 388, 25, 1, 0, 0, 0, 389, 390, 7, 1, 0, 0, 390, 391, 7, 9, 0, 0, 391, 392, 7, 13, 0, 0, 392, 393, 7, 1, 0, 0, 393, 394, 7, 9, 0, 0, 394, 395, 7, 3, 0, 0, 395, 396, 7, 2, 0, 0, 396, 397, 7, 5, 0, 0, 397, 398, 7, 12, 0, 0, 398, 399, 7, 5, 0, 0, 399, 400, 7, 2, 0, 0, 400, 401, 1, 0, 0, 0, 401, 402, 6, 7, 0, 0, 402, 27, 1, 0, 0, 0, 403, 404, 7, 18, 0, 0, 404, 405, 7, 3, 0, 0, 405, 406, 7, 3, 0, 0, 406, 407, 7, 8, 0, 0, 407, 408, 1, 0, 0, 0, 408, 409, 6, 8, 1, 0, 409, 29, 1, 0, 0, 0, 410, 411, 7, 13, 0, 0, 411, 412, 7, 1, 0, 0, 412, 413, 7, 16, 0, 0, 413, 414, 7, 1, 0, 0, 414, 415, 7, 5, 0, 0, 415, 416, 1, 0, 0, 0, 416, 417, 6, 9, 0, 0, 417, 31, 1, 0, 0, 0, 418, 419, 7, 16, 0, 0, 419, 420, 7, 3, 0, 0, 420, 421, 7, 5, 0, 0, 421, 422, 7, 12, 0, 0, 422, 423, 1, 0, 0, 0, 423, 424, 6, 10, 5, 0, 424, 33, 1, 0, 0, 0, 425, 426, 7, 16, 0, 0, 426, 427, 7, 11, 0, 0, 427, 428, 5, 95, 0, 0, 428, 429, 7, 3, 0, 0, 429, 430, 7, 14, 0, 0, 430, 431, 7, 8, 0, 0, 431, 432, 7, 12, 0, 0, 432, 433, 7, 9, 0, 0, 433, 434, 7, 0, 0, 0, 434, 435, 1, 0, 0, 0, 435, 436, 6, 11, 6, 0, 436, 35, 1, 0, 0, 0, 437, 438, 7, 6, 0, 0, 438, 439, 7, 3, 0, 0, 439, 440, 7, 9, 0, 0, 440, 441, 7, 12, 0, 0, 441, 442, 7, 16, 0, 0, 442, 443, 7, 3, 0, 0, 443, 444, 1, 0, 0, 0, 444, 445, 6, 12, 7, 0, 445, 37, 1, 0, 0, 0, 446, 447, 7, 6, 0, 0, 447, 448, 7, 7, 0, 0, 448, 449, 7, 19, 0, 0, 449, 450, 1, 0, 0, 0, 450, 451, 6, 13, 0, 0, 451, 39, 1, 0, 0, 0, 452, 453, 7, 2, 0, 0, 453, 454, 7, 10, 0, 0, 454, 455, 7, 7, 0, 0, 455, 456, 7, 19, 0, 0, 456, 457, 1, 0, 0, 0, 457, 458, 6, 14, 8, 0, 458, 41, 1, 0, 0, 0, 459, 460, 7, 2, 0, 0, 460, 461, 7, 7, 0, 0, 461, 462, 7, 6, 0, 0, 462, 463, 7, 5, 0, 0, 463, 464, 1, 0, 0, 0, 464, 465, 6, 15, 0, 0, 465, 43, 1, 0, 0, 0, 466, 467, 7, 2, 0, 0, 467, 468, 7, 5, 0, 0, 468, 469, 7, 12, 0, 0, 469, 470, 7, 5, 0, 0, 470, 471, 7, 2, 0, 0, 471, 472, 1, 0, 0, 0, 472, 473, 6, 16, 0, 0, 473, 45, 1, 0, 0, 0, 474, 475, 7, 19, 0, 0, 475, 476, 7, 10, 0, 0, 476, 477, 7, 3, 0, 0, 477, 478, 7, 6, 0, 0, 478, 479, 7, 3, 0, 0, 479, 480, 1, 0, 0, 0, 480, 481, 6, 17, 0, 0, 481, 47, 1, 0, 0, 0, 482, 484, 8, 20, 0, 0, 483, 482, 1, 0, 0, 0, 484, 485, 1, 0, 0, 0, 485, 483, 1, 0, 0, 0, 485, 486, 1, 0, 0, 0, 486, 487, 1, 0, 0, 0, 487, 488, 6, 18, 0, 0, 488, 49, 1, 0, 0, 0, 489, 490, 5, 47, 0, 0, 490, 491, 5, 47, 0, 0, 491, 495, 1, 0, 0, 0, 492, 494, 8, 21, 0, 0, 493, 492, 1, 0, 0, 0, 494, 497, 1, 0, 0, 0, 495, 493, 1, 0, 0, 0, 495, 496, 1, 0, 0, 0, 496, 499, 1, 0, 0, 0, 497, 495, 1, 0, 0, 0, 498, 500, 5, 13, 0, 0, 499, 498, 1, 0, 0, 0, 499, 500, 1, 0, 0, 0, 500, 502, 1, 0, 0, 0, 501, 503, 5, 10, 0, 0, 502, 501, 1, 0, 0, 0, 502, 503, 1, 0, 0, 0, 503, 504, 1, 0, 0, 0, 504, 505, 6, 19, 9, 0, 505, 51, 1, 0, 0, 0, 506, 507, 5, 47, 0, 0, 507, 508, 5, 42, 0, 0, 508, 513, 1, 0, 0, 0, 509, 512, 3, 52, 20, 0, 510, 512, 9, 0, 0, 0, 511, 509, 1, 0, 0, 0, 511, 510, 1, 0, 0, 0, 512, 515, 1, 0, 0, 0, 513, 514, 1, 0, 0, 0, 513, 511, 1, 0, 0, 0, 514, 516, 1, 0, 0, 0, 515, 513, 1, 0, 0, 0, 516, 517, 5, 42, 0, 0, 517, 518, 5, 47, 0, 0, 518, 519, 1, 0, 0, 0, 519, 520, 6, 20, 9, 0, 520, 53, 1, 0, 0, 0, 521, 523, 7, 22, 0, 0, 522, 521, 1, 0, 0, 0, 523, 524, 1, 0, 0, 0, 524, 522, 1, 0, 0, 0, 524, 525, 1, 0, 0, 0, 525, 526, 1, 0, 0, 0, 526, 527, 6, 21, 9, 0, 527, 55, 1, 0, 0, 0, 528, 529, 3, 164, 76, 0, 529, 530, 1, 0, 0, 0, 530, 531, 6, 22, 10, 0, 531, 532, 6, 22, 11, 0, 532, 57, 1, 0, 0, 0, 533, 534, 3, 66, 27, 0, 534, 535, 1, 0, 0, 0, 535, 536, 6, 23, 12, 0, 536, 537, 6, 23, 13, 0, 537, 59, 1, 0, 0, 0, 538, 539, 3, 54, 21, 0, 539, 540, 1, 0, 0, 0, 540, 541, 6, 24, 9, 0, 541, 61, 1, 0, 0, 0, 542, 543, 3, 50, 19, 0, 543, 544, 1, 0, 0, 0, 544, 545, 6, 25, 9, 0, 545, 63, 1, 0, 0, 0, 546, 547, 3, 52, 20, 0, 547, 548, 1, 0, 0, 0, 548, 549, 6, 26, 9, 0, 549, 65, 1, 0, 0, 0, 550, 551, 5, 124, 0, 0, 551, 552, 1, 0, 0, 0, 552, 553, 6, 27, 13, 0, 553, 67, 1, 0, 0, 0, 554, 555, 7, 23, 0, 0, 555, 69, 1, 0, 0, 0, 556, 557, 7, 24, 0, 0, 557, 71, 1, 0, 0, 0, 558, 559, 5, 92, 0, 0, 559, 560, 7, 25, 0, 0, 560, 73, 1, 0, 0, 0, 561, 562, 8, 26, 0, 0, 562, 75, 1, 0, 0, 0, 563, 565, 7, 3, 0, 0, 564, 566, 7, 27, 0, 0, 565, 564, 1, 0, 0, 0, 565, 566, 1, 0, 0, 0, 566, 568, 1, 0, 0, 0, 567, 569, 3, 68, 28, 0, 568, 567, 1, 0, 0, 0, 569, 570, 1, 0, 0, 0, 570, 568, 1, 0, 0, 0, 570, 571, 1, 0, 0, 0, 571, 77, 1, 0, 0, 0, 572, 573, 5, 64, 0, 0, 573, 79, 1, 0, 0, 0, 574, 575, 5, 96, 0, 0, 575, 81, 1, 0, 0, 0, 576, 580, 8, 28, 0, 0, 577, 578, 5, 96, 0, 0, 578, 580, 5, 96, 0, 0, 579, 576, 1, 0, 0, 0, 579, 577, 1, 0, 0, 0, 580, 83, 1, 0, 0, 0, 581, 582, 5, 95, 0, 0, 582, 85, 1, 0, 0, 0, 583, 587, 3, 70, 29, 0, 584, 587, 3, 68, 28, 0, 585, 587, 3, 84, 36, 0, 586, 583, 1, 0, 0, 0, 586, 584, 1, 0, 0, 0, 586, 585, 1, 0, 0, 0, 587, 87, 1, 0, 0, 0, 588, 593, 5, 34, 0, 0, 589, 592, 3, 72, 30, 0, 590, 592, 3, 74, 31, 0, 591, 589, 1, 0, 0, 0, 591, 590, 1, 0, 0, 0, 592, 595, 1, 0, 0, 0, 593, 591, 1, 0, 0, 0, 593, 594, 1, 0, 0, 0, 594, 596, 1, 0, 0, 0, 595, 593, 1, 0, 0, 0, 596, 618, 5, 34, 0, 0, 597, 598, 5, 34, 0, 0, 598, 599, 5, 34, 0, 0, 599, 600, 5, 34, 0, 0, 600, 604, 1, 0, 0, 0, 601, 603, 8, 21, 0, 0, 602, 601, 1, 0, 0, 0, 603, 606, 1, 0, 0, 0, 604, 605, 1, 0, 0, 0, 604, 602, 1, 0, 0, 0, 605, 607, 1, 0, 0, 0, 606, 604, 1, 0, 0, 0, 607, 608, 5, 34, 0, 0, 608, 609, 5, 34, 0, 0, 609, 610, 5, 34, 0, 0, 610, 612, 1, 0, 0, 0, 611, 613, 5, 34, 0, 0, 612, 611, 1, 0, 0, 0, 612, 613, 1, 0, 0, 0, 613, 615, 1, 0, 0, 0, 614, 616, 5, 34, 0, 0, 615, 614, 1, 0, 0, 0, 615, 616, 1, 0, 0, 0, 616, 618, 1, 0, 0, 0, 617, 588, 1, 0, 0, 0, 617, 597, 1, 0, 0, 0, 618, 89, 1, 0, 0, 0, 619, 621, 3, 68, 28, 0, 620, 619, 1, 0, 0, 0, 621, 622, 1, 0, 0, 0, 622, 620, 1, 0, 0, 0, 622, 623, 1, 0, 0, 0, 623, 91, 1, 0, 0, 0, 624, 626, 3, 68, 28, 0, 625, 624, 1, 0, 0, 0, 626, 627, 1, 0, 0, 0, 627, 625, 1, 0, 0, 0, 627, 628, 1, 0, 0, 0, 628, 629, 1, 0, 0, 0, 629, 633, 3, 108, 48, 0, 630, 632, 3, 68, 28, 0, 631, 630, 1, 0, 0, 0, 632, 635, 1, 0, 0, 0, 633, 631, 1, 0, 0, 0, 633, 634, 1, 0, 0, 0, 634, 667, 1, 0, 0, 0, 635, 633, 1, 0, 0, 0, 636, 638, 3, 108, 48, 0, 637, 639, 3, 68, 28, 0, 638, 637, 1, 0, 0, 0, 639, 640, 1, 0, 0, 0, 640, 638, 1, 0, 0, 0, 640, 641, 1, 0, 0, 0, 641, 667, 1, 0, 0, 0, 642, 644, 3, 68, 28, 0, 643, 642, 1, 0, 0, 0, 644, 645, 1, 0, 0, 0, 645, 643, 1, 0, 0, 0, 645, 646, 1, 0, 0, 0, 646, 654, 1, 0, 0, 0, 647, 651, 3, 108, 48, 0, 648, 650, 3, 68, 28, 0, 649, 648, 1, 0, 0, 0, 650, 653, 1, 0, 0, 0, 651, 649, 1, 0, 0, 0, 651, 652, 1, 0, 0, 0, 652, 655, 1, 0, 0, 0, 653, 651, 1, 0, 0, 0, 654, 647, 1, 0, 0, 0, 654, 655, 1, 0, 0, 0, 655, 656, 1, 0, 0, 0, 656, 657, 3, 76, 32, 0, 657, 667, 1, 0, 0, 0, 658, 660, 3, 108, 48, 0, 659, 661, 3, 68, 28, 0, 660, 659, 1, 0, 0, 0, 661, 662, 1, 0, 0, 0, 662, 660, 1, 0, 0, 0, 662, 663, 1, 0, 0, 0, 663, 664, 1, 0, 0, 0, 664, 665, 3, 76, 32, 0, 665, 667, 1, 0, 0, 0, 666, 625, 1, 0, 0, 0, 666, 636, 1, 0, 0, 0, 666, 643, 1, 0, 0, 0, 666, 658, 1, 0, 0, 0, 667, 93, 1, 0, 0, 0, 668, 669, 7, 29, 0, 0, 669, 670, 7, 30, 0, 0, 670, 95, 1, 0, 0, 0, 671, 672, 7, 12, 0, 0, 672, 673, 7, 9, 0, 0, 673, 674, 7, 0, 0, 0, 674, 97, 1, 0, 0, 0, 675, 676, 7, 12, 0, 0, 676, 677, 7, 2, 0, 0, 677, 678, 7, 4, 0, 0, 678, 99, 1, 0, 0, 0, 679, 680, 5, 61, 0, 0, 680, 101, 1, 0, 0, 0, 681, 682, 5, 58, 0, 0, 682, 683, 5, 58, 0, 0, 683, 103, 1, 0, 0, 0, 684, 685, 5, 44, 0, 0, 685, 105, 1, 0, 0, 0, 686, 687, 7, 0, 0, 0, 687, 688, 7, 3, 0, 0, 688, 689, 7, 2, 0, 0, 689, 690, 7, 4, 0, 0, 690, 107, 1, 0, 0, 0, 691, 692, 5, 46, 0, 0, 692, 109, 1, 0, 0, 0, 693, 694, 7, 15, 0, 0, 694, 695, 7, 12, 0, 0, 695, 696, 7, 13, 0, 0, 696, 697, 7, 2, 0, 0, 697, 698, 7, 3, 0, 0, 698, 111, 1, 0, 0, 0, 699, 700, 7, 15, 0, 0, 700, 701, 7, 1, 0, 0, 701, 702, 7, 6, 0, 0, 702, 703, 7, 2, 0, 0, 703, 704, 7, 5, 0, 0, 704, 113, 1, 0, 0, 0, 705, 706, 7, 13, 0, 0, 706, 707, 7, 12, 0, 0, 707, 708, 7, 2, 0, 0, 708, 709, 7, 5, 0, 0, 709, 115, 1, 0, 0, 0, 710, 711, 5, 40, 0, 0, 711, 117, 1, 0, 0, 0, 712, 713, 7, 1, 0, 0, 713, 714, 7, 9, 0, 0, 714, 119, 1, 0, 0, 0, 715, 716, 7, 1, 0, 0, 716, 717, 7, 2, 0, 0, 717, 121, 1, 0, 0, 0, 718, 719, 7, 13, 0, 0, 719, 720, 7, 1, 0, 0, 720, 721, 7, 18, 0, 0, 721, 722, 7, 3, 0, 0, 722, 123, 1, 0, 0, 0, 723, 724, 7, 9, 0, 0, 724, 725, 7, 7, 0, 0, 725, 726, 7, 5, 0, 0, 726, 125, 1, 0, 0, 0, 727, 728, 7, 9, 0, 0, 728, 729, 7, 31, 0, 0, 729, 730, 7, 13, 0, 0, 730, 731, 7, 13, 0, 0, 731, 127, 1, 0, 0, 0, 732, 733, 7, 9, 0, 0, 733, 734, 7, 31, 0, 0, 734, 735, 7, 13, 0, 0, 735, 736, 7, 13, 0, 0, 736, 737, 7, 2, 0, 0, 737, 129, 1, 0, 0, 0, 738, 739, 7, 7, 0, 0, 739, 740, 7, 6, 0, 0, 740, 131, 1, 0, 0, 0, 741, 742, 5, 63, 0, 0, 742, 133, 1, 0, 0, 0, 743, 744, 7, 6, 0, 0, 744, 745, 7, 13, 0, 0, 745, 746, 7, 1, 0, 0, 746, 747, 7, 18, 0, 0, 747, 748, 7, 3, 0, 0, 748, 135, 1, 0, 0, 0, 749, 750, 5, 41, 0, 0, 750, 137, 1, 0, 0, 0, 751, 752, 7, 5, 0, 0, 752, 753, 7, 6, 0, 0, 753, 754, 7, 31, 0, 0, 754, 755, 7, 3, 0, 0, 755, 139, 1, 0, 0, 0, 756, 757, 5, 61, 0, 0, 757, 758, 5, 61, 0, 0, 758, 141, 1, 0, 0, 0, 759, 760, 5, 61, 0, 0, 760, 761, 5, 126, 0, 0, 761, 143, 1, 0, 0, 0, 762, 763, 5, 33, 0, 0, 763, 764, 5, 61, 0, 0, 764, 145, 1, 0, 0, 0, 765, 766, 5, 60, 0, 0, 766, 147, 1, 0, 0, 0, 767, 768, 5, 60, 0, 0, 768, 769, 5, 61, 0, 0, 769, 149, 1, 0, 0, 0, 770, 771, 5, 62, 0, 0, 771, 151, 1, 0, 0, 0, 772, 773, 5, 62, 0, 0, 773, 774, 5, 61, 0, 0, 774, 153, 1, 0, 0, 0, 775, 776, 5, 43, 0, 0, 776, 155, 1, 0, 0, 0, 777, 778, 5, 45, 0, 0, 778, 157, 1, 0, 0, 0, 779, 780, 5, 42, 0, 0, 780, 159, 1, 0, 0, 0, 781, 782, 5, 47, 0, 0, 782, 161, 1, 0, 0, 0, 783, 784, 5, 37, 0, 0, 784, 163, 1, 0, 0, 0, 785, 786, 5, 91, 0, 0, 786, 787, 1, 0, 0, 0, 787, 788, 6, 76, 0, 0, 788, 789, 6, 76, 0, 0, 789, 165, 1, 0, 0, 0, 790, 791, 5, 93, 0, 0, 791, 792, 1, 0, 0, 0, 792, 793, 6, 77, 13, 0, 793, 794, 6, 77, 13, 0, 794, 167, 1, 0, 0, 0, 795, 799, 3, 70, 29, 0, 796, 798, 3, 86, 37, 0, 797, 796, 1, 0, 0, 0, 798, 801, 1, 0, 0, 0, 799, 797, 1, 0, 0, 0, 799, 800, 1, 0, 0, 0, 800, 812, 1, 0, 0, 0, 801, 799, 1, 0, 0, 0, 802, 805, 3, 84, 36, 0, 803, 805, 3, 78, 33, 0, 804, 802, 1, 0, 0, 0, 804, 803, 1, 0, 0, 0, 805, 807, 1, 0, 0, 0, 806, 808, 3, 86, 37, 0, 807, 806, 1, 0, 0, 0, 808, 809, 1, 0, 0, 0, 809, 807, 1, 0, 0, 0, 809, 810, 1, 0, 0, 0, 810, 812, 1, 0, 0, 0, 811, 795, 1, 0, 0, 0, 811, 804, 1, 0, 0, 0, 812, 169, 1, 0, 0, 0, 813, 815, 3, 80, 34, 0, 814, 816, 3, 82, 35, 0, 815, 814, 1, 0, 0, 0, 816, 817, 1, 0, 0, 0, 817, 815, 1, 0, 0, 0, 817, 818, 1, 0, 0, 0, 818, 819, 1, 0, 0, 0, 819, 820, 3, 80, 34, 0, 820, 171, 1, 0, 0, 0, 821, 822, 3, 170, 79, 0, 822, 173, 1, 0, 0, 0, 823, 824, 3, 50, 19, 0, 824, 825, 1, 0, 0, 0, 825, 826, 6, 81, 9, 0, 826, 175, 1, 0, 0, 0, 827, 828, 3, 52, 20, 0, 828, 829, 1, 0, 0, 0, 829, 830, 6, 82, 9, 0, 830, 177, 1, 0, 0, 0, 831, 832, 3, 54, 21, 0, 832, 833, 1, 0, 0, 0, 833, 834, 6, 83, 9, 0, 834, 179, 1, 0, 0, 0, 835, 836, 3, 66, 27, 0, 836, 837, 1, 0, 0, 0, 837, 838, 6, 84, 12, 0, 838, 839, 6, 84, 13, 0, 839, 181, 1, 0, 0, 0, 840, 841, 3, 164, 76, 0, 841, 842, 1, 0, 0, 0, 842, 843, 6, 85, 10, 0, 843, 183, 1, 0, 0, 0, 844, 845, 3, 166, 77, 0, 845, 846, 1, 0, 0, 0, 846, 847, 6, 86, 14, 0, 847, 185, 1, 0, 0, 0, 848, 849, 3, 104, 46, 0, 849, 850, 1, 0, 0, 0, 850, 851, 6, 87, 15, 0, 851, 187, 1, 0, 0, 0, 852, 853, 3, 100, 44, 0, 853, 854, 1, 0, 0, 0, 854, 855, 6, 88, 16, 0, 855, 189, 1, 0, 0, 0, 856, 857, 3, 88, 38, 0, 857, 858, 1, 0, 0, 0, 858, 859, 6, 89, 17, 0, 859, 191, 1, 0, 0, 0, 860, 861, 7, 7, 0, 0, 861, 862, 7, 8, 0, 0, 862, 863, 7, 5, 0, 0, 863, 864, 7, 1, 0, 0, 864, 865, 7, 7, 0, 0, 865, 866, 7, 9, 0, 0, 866, 867, 7, 2, 0, 0, 867, 193, 1, 0, 0, 0, 868, 869, 7, 16, 0, 0, 869, 870, 7, 3, 0, 0, 870, 871, 7, 5, 0, 0, 871, 872, 7, 12, 0, 0, 872, 873, 7, 0, 0, 0, 873, 874, 7, 12, 0, 0, 874, 875, 7, 5, 0, 0, 875, 876, 7, 12, 0, 0, 876, 195, 1, 0, 0, 0, 877, 881, 8, 32, 0, 0, 878, 879, 5, 47, 0, 0, 879, 881, 8, 33, 0, 0, 880, 877, 1, 0, 0, 0, 880, 878, 1, 0, 0, 0, 881, 197, 1, 0, 0, 0, 882, 884, 3, 196, 92, 0, 883, 882, 1, 0, 0, 0, 884, 885, 1, 0, 0, 0, 885, 883, 1, 0, 0, 0, 885, 886, 1, 0, 0, 0, 886, 199, 1, 0, 0, 0, 887, 888, 3, 172, 80, 0, 888, 889, 1, 0, 0, 0, 889, 890, 6, 94, 18, 0, 890, 201, 1, 0, 0, 0, 891, 892, 3, 50, 19, 0, 892, 893, 1, 0, 0, 0, 893, 894, 6, 95, 9, 0, 894, 203, 1, 0, 0, 0, 895, 896, 3, 52, 20, 0, 896, 897, 1, 0, 0, 0, 897, 898, 6, 96, 9, 0, 898, 205, 1, 0, 0, 0, 899, 900, 3, 54, 21, 0, 900, 901, 1, 0, 0, 0, 901, 902, 6, 97, 9, 0, 902, 207, 1, 0, 0, 0, 903, 904, 3, 66, 27, 0, 904, 905, 1, 0, 0, 0, 905, 906, 6, 98, 12, 0, 906, 907, 6, 98, 13, 0, 907, 209, 1, 0, 0, 0, 908, 909, 3, 108, 48, 0, 909, 910, 1, 0, 0, 0, 910, 911, 6, 99, 19, 0, 911, 211, 1, 0, 0, 0, 912, 913, 3, 104, 46, 0, 913, 914, 1, 0, 0, 0, 914, 915, 6, 100, 15, 0, 915, 213, 1, 0, 0, 0, 916, 921, 3, 70, 29, 0, 917, 921, 3, 68, 28, 0, 918, 921, 3, 84, 36, 0, 919, 921, 3, 158, 73, 0, 920, 916, 1, 0, 0, 0, 920, 917, 1, 0, 0, 0, 920, 918, 1, 0, 0, 0, 920, 919, 1, 0, 0, 0, 921, 215, 1, 0, 0, 0, 922, 925, 3, 70, 29, 0, 923, 925, 3, 158, 73, 0, 924, 922, 1, 0, 0, 0, 924, 923, 1, 0, 0, 0, 925, 929, 1, 0, 0, 0, 926, 928, 3, 214, 101, 0, 927, 926, 1, 0, 0, 0, 928, 931, 1, 0, 0, 0, 929, 927, 1, 0, 0, 0, 929, 930, 1, 0, 0, 0, 930, 942, 1, 0, 0, 0, 931, 929, 1, 0, 0, 0, 932, 935, 3, 84, 36, 0, 933, 935, 3, 78, 33, 0, 934, 932, 1, 0, 0, 0, 934, 933, 1, 0, 0, 0, 935, 937, 1, 0, 0, 0, 936, 938, 3, 214, 101, 0, 937, 936, 1, 0, 0, 0, 938, 939, 1, 0, 0, 0, 939, 937, 1, 0, 0, 0, 939, 940, 1, 0, 0, 0, 940, 942, 1, 0, 0, 0, 941, 924, 1, 0, 0, 0, 941, 934, 1, 0, 0, 0, 942, 217, 1, 0, 0, 0, 943, 946, 3, 216, 102, 0, 944, 946, 3, 170, 79, 0, 945, 943, 1, 0, 0, 0, 945, 944, 1, 0, 0, 0, 946, 947, 1, 0, 0, 0, 947, 945, 1, 0, 0, 0, 947, 948, 1, 0, 0, 0, 948, 219, 1, 0, 0, 0, 949, 950, 3, 50, 19, 0, 950, 951, 1, 0, 0, 0, 951, 952, 6, 104, 9, 0, 952, 221, 1, 0, 0, 0, 953, 954, 3, 52, 20, 0, 954, 955, 1, 0, 0, 0, 955, 956, 6, 105, 9, 0, 956, 223, 1, 0, 0, 0, 957, 958, 3, 54, 21, 0, 958, 959, 1, 0, 0, 0, 959, 960, 6, 106, 9, 0, 960, 225, 1, 0, 0, 0, 961, 962, 3, 66, 27, 0, 962, 963, 1, 0, 0, 0, 963, 964, 6, 107, 12, 0, 964, 965, 6, 107, 13, 0, 965, 227, 1, 0, 0, 0, 966, 967, 3, 100, 44, 0, 967, 968, 1, 0, 0, 0, 968, 969, 6, 108, 16, 0, 969, 229, 1, 0, 0, 0, 970, 971, 3, 104, 46, 0, 971, 972, 1, 0, 0, 0, 972, 973, 6, 109, 15, 0, 973, 231, 1, 0, 0, 0, 974, 975, 3, 108, 48, 0, 975, 976, 1, 0, 0, 0, 976, 977, 6, 110, 19, 0, 977, 233, 1, 0, 0, 0, 978, 979, 7, 12, 0, 0, 979, 980, 7, 2, 0, 0, 980, 235, 1, 0, 0, 0, 981, 982, 3, 218, 103, 0, 982, 983, 1, 0, 0, 0, 983, 984, 6, 112, 20, 0, 984, 237, 1, 0, 0, 0, 985, 986, 3, 50, 19, 0, 986, 987, 1, 0, 0, 0, 987, 988, 6, 113, 9, 0, 988, 239, 1, 0, 0, 0, 989, 990, 3, 52, 20, 0, 990, 991, 1, 0, 0, 0, 991, 992, 6, 114, 9, 0, 992, 241, 1, 0, 0, 0, 993, 994, 3, 54, 21, 0, 994, 995, 1, 0, 0, 0, 995, 996, 6, 115, 9, 0, 996, 243, 1, 0, 0, 0, 997, 998, 3, 66, 27, 0, 998, 999, 1, 0, 0, 0, 999, 1000, 6, 116, 12, 0, 1000, 1001, 6, 116, 13, 0, 1001, 245, 1, 0, 0, 0, 1002, 1003, 3, 164, 76, 0, 1003, 1004, 1, 0, 0, 0, 1004, 1005, 6, 117, 10, 0, 1005, 1006, 6, 117, 21, 0, 1006, 247, 1, 0, 0, 0, 1007, 1008, 7, 7, 0, 0, 1008, 1009, 7, 9, 0, 0, 1009, 1010, 1, 0, 0, 0, 1010, 1011, 6, 118, 22, 0, 1011, 249, 1, 0, 0, 0, 1012, 1013, 7, 19, 0, 0, 1013, 1014, 7, 1, 0, 0, 1014, 1015, 7, 5, 0, 0, 1015, 1016, 7, 10, 0, 0, 1016, 1017, 1, 0, 0, 0, 1017, 1018, 6, 119, 22, 0, 1018, 251, 1, 0, 0, 0, 1019, 1020, 8, 34, 0, 0, 1020, 253, 1, 0, 0, 0, 1021, 1023, 3, 252, 120, 0, 1022, 1021, 1, 0, 0, 0, 1023, 1024, 1, 0, 0, 0, 1024, 1022, 1, 0, 0, 0, 1024, 1025, 1, 0, 0, 0, 1025, 1026, 1, 0, 0, 0, 1026, 1027, 3, 322, 155, 0, 1027, 1029, 1, 0, 0, 0, 1028, 1022, 1, 0, 0, 0, 1028, 1029, 1, 0, 0, 0, 1029, 1031, 1, 0, 0, 0, 1030, 1032, 3, 252, 120, 0, 1031, 1030, 1, 0, 0, 0, 1032, 1033, 1, 0, 0, 0, 1033, 1031, 1, 0, 0, 0, 1033, 1034, 1, 0, 0, 0, 1034, 255, 1, 0, 0, 0, 1035, 1036, 3, 172, 80, 0, 1036, 1037, 1, 0, 0, 0, 1037, 1038, 6, 122, 18, 0, 1038, 257, 1, 0, 0, 0, 1039, 1040, 3, 254, 121, 0, 1040, 1041, 1, 0, 0, 0, 1041, 1042, 6, 123, 23, 0, 1042, 259, 1, 0, 0, 0, 1043, 1044, 3, 50, 19, 0, 1044, 1045, 1, 0, 0, 0, 1045, 1046, 6, 124, 9, 0, 1046, 261, 1, 0, 0, 0, 1047, 1048, 3, 52, 20, 0, 1048, 1049, 1, 0, 0, 0, 1049, 1050, 6, 125, 9, 0, 1050, 263, 1, 0, 0, 0, 1051, 1052, 3, 54, 21, 0, 1052, 1053, 1, 0, 0, 0, 1053, 1054, 6, 126, 9, 0, 1054, 265, 1, 0, 0, 0, 1055, 1056, 3, 66, 27, 0, 1056, 1057, 1, 0, 0, 0, 1057, 1058, 6, 127, 12, 0, 1058, 1059, 6, 127, 13, 0, 1059, 1060, 6, 127, 13, 0, 1060, 267, 1, 0, 0, 0, 1061, 1062, 3, 100, 44, 0, 1062, 1063, 1, 0, 0, 0, 1063, 1064, 6, 128, 16, 0, 1064, 269, 1, 0, 0, 0, 1065, 1066, 3, 104, 46, 0, 1066, 1067, 1, 0, 0, 0, 1067, 1068, 6, 129, 15, 0, 1068, 271, 1, 0, 0, 0, 1069, 1070, 3, 108, 48, 0, 1070, 1071, 1, 0, 0, 0, 1071, 1072, 6, 130, 19, 0, 1072, 273, 1, 0, 0, 0, 1073, 1074, 3, 250, 119, 0, 1074, 1075, 1, 0, 0, 0, 1075, 1076, 6, 131, 24, 0, 1076, 275, 1, 0, 0, 0, 1077, 1078, 3, 218, 103, 0, 1078, 1079, 1, 0, 0, 0, 1079, 1080, 6, 132, 20, 0, 1080, 277, 1, 0, 0, 0, 1081, 1082, 3, 172, 80, 0, 1082, 1083, 1, 0, 0, 0, 1083, 1084, 6, 133, 18, 0, 1084, 279, 1, 0, 0, 0, 1085, 1086, 3, 50, 19, 0, 1086, 1087, 1, 0, 0, 0, 1087, 1088, 6, 134, 9, 0, 1088, 281, 1, 0, 0, 0, 1089, 1090, 3, 52, 20, 0, 1090, 1091, 1, 0, 0, 0, 1091, 1092, 6, 135, 9, 0, 1092, 283, 1, 0, 0, 0, 1093, 1094, 3, 54, 21, 0, 1094, 1095, 1, 0, 0, 0, 1095, 1096, 6, 136, 9, 0, 1096, 285, 1, 0, 0, 0, 1097, 1098, 3, 66, 27, 0, 1098, 1099, 1, 0, 0, 0, 1099, 1100, 6, 137, 12, 0, 1100, 1101, 6, 137, 13, 0, 1101, 287, 1, 0, 0, 0, 1102, 1103, 3, 108, 48, 0, 1103, 1104, 1, 0, 0, 0, 1104, 1105, 6, 138, 19, 0, 1105, 289, 1, 0, 0, 0, 1106, 1107, 3, 172, 80, 0, 1107, 1108, 1, 0, 0, 0, 1108, 1109, 6, 139, 18, 0, 1109, 291, 1, 0, 0, 0, 1110, 1111, 3, 168, 78, 0, 1111, 1112, 1, 0, 0, 0, 1112, 1113, 6, 140, 25, 0, 1113, 293, 1, 0, 0, 0, 1114, 1115, 3, 50, 19, 0, 1115, 1116, 1, 0, 0, 0, 1116, 1117, 6, 141, 9, 0, 1117, 295, 1, 0, 0, 0, 1118, 1119, 3, 52, 20, 0, 1119, 1120, 1, 0, 0, 0, 1120, 1121, 6, 142, 9, 0, 1121, 297, 1, 0, 0, 0, 1122, 1123, 3, 54, 21, 0, 1123, 1124, 1, 0, 0, 0, 1124, 1125, 6, 143, 9, 0, 1125, 299, 1, 0, 0, 0, 1126, 1127, 3, 66, 27, 0, 1127, 1128, 1, 0, 0, 0, 1128, 1129, 6, 144, 12, 0, 1129, 1130, 6, 144, 13, 0, 1130, 301, 1, 0, 0, 0, 1131, 1132, 7, 1, 0, 0, 1132, 1133, 7, 9, 0, 0, 1133, 1134, 7, 15, 0, 0, 1134, 1135, 7, 7, 0, 0, 1135, 303, 1, 0, 0, 0, 1136, 1137, 3, 50, 19, 0, 1137, 1138, 1, 0, 0, 0, 1138, 1139, 6, 146, 9, 0, 1139, 305, 1, 0, 0, 0, 1140, 1141, 3, 52, 20, 0, 1141, 1142, 1, 0, 0, 0, 1142, 1143, 6, 147, 9, 0, 1143, 307, 1, 0, 0, 0, 1144, 1145, 3, 54, 21, 0, 1145, 1146, 1, 0, 0, 0, 1146, 1147, 6, 148, 9, 0, 1147, 309, 1, 0, 0, 0, 1148, 1149, 3, 66, 27, 0, 1149, 1150, 1, 0, 0, 0, 1150, 1151, 6, 149, 12, 0, 1151, 1152, 6, 149, 13, 0, 1152, 311, 1, 0, 0, 0, 1153, 1154, 7, 15, 0, 0, 1154, 1155, 7, 31, 0, 0, 1155, 1156, 7, 9, 0, 0, 1156, 1157, 7, 4, 0, 0, 1157, 1158, 7, 5, 0, 0, 1158, 1159, 7, 1, 0, 0, 1159, 1160, 7, 7, 0, 0, 1160, 1161, 7, 9, 0, 0, 1161, 1162, 7, 2, 0, 0, 1162, 313, 1, 0, 0, 0, 1163, 1164, 3, 50, 19, 0, 1164, 1165, 1, 0, 0, 0, 1165, 1166, 6, 151, 9, 0, 1166, 315, 1, 0, 0, 0, 1167, 1168, 3, 52, 20, 0, 1168, 1169, 1, 0, 0, 0, 1169, 1170, 6, 152, 9, 0, 1170, 317, 1, 0, 0, 0, 1171, 1172, 3, 54, 21, 0, 1172, 1173, 1, 0, 0, 0, 1173, 1174, 6, 153, 9, 0, 1174, 319, 1, 0, 0, 0, 1175, 1176, 3, 166, 77, 0, 1176, 1177, 1, 0, 0, 0, 1177, 1178, 6, 154, 14, 0, 1178, 1179, 6, 154, 13, 0, 1179, 321, 1, 0, 0, 0, 1180, 1181, 5, 58, 0, 0, 1181, 323, 1, 0, 0, 0, 1182, 1188, 3, 78, 33, 0, 1183, 1188, 3, 68, 28, 0, 1184, 1188, 3, 108, 48, 0, 1185, 1188, 3, 70, 29, 0, 1186, 1188, 3, 84, 36, 0, 1187, 1182, 1, 0, 0, 0, 1187, 1183, 1, 0, 0, 0, 1187, 1184, 1, 0, 0, 0, 1187, 1185, 1, 0, 0, 0, 1187, 1186, 1, 0, 0, 0, 1188, 1189, 1, 0, 0, 0, 1189, 1187, 1, 0, 0, 0, 1189, 1190, 1, 0, 0, 0, 1190, 325, 1, 0, 0, 0, 1191, 1192, 3, 50, 19, 0, 1192, 1193, 1, 0, 0, 0, 1193, 1194, 6, 157, 9, 0, 1194, 327, 1, 0, 0, 0, 1195, 1196, 3, 52, 20, 0, 1196, 1197, 1, 0, 0, 0, 1197, 1198, 6, 158, 9, 0, 1198, 329, 1, 0, 0, 0, 1199, 1200, 3, 54, 21, 0, 1200, 1201, 1, 0, 0, 0, 1201, 1202, 6, 159, 9, 0, 1202, 331, 1, 0, 0, 0, 58, 0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 485, 495, 499, 502, 511, 513, 524, 565, 570, 579, 586, 591, 593, 604, 612, 615, 617, 622, 627, 633, 640, 645, 651, 654, 662, 666, 799, 804, 809, 811, 817, 880, 885, 920, 924, 929, 934, 939, 941, 945, 947, 1024, 1028, 1033, 1187, 1189, 26, 5, 2, 0, 5, 4, 0, 5, 6, 0, 5, 1, 0, 5, 3, 0, 5, 10, 0, 5, 8, 0, 5, 5, 0, 5, 9, 0, 0, 1, 0, 7, 65, 0, 5, 0, 0, 7, 26, 0, 4, 0, 0, 7, 66, 0, 7, 35, 0, 7, 33, 0, 7, 27, 0, 7, 68, 0, 7, 37, 0, 7, 78, 0, 5, 11, 0, 5, 7, 0, 7, 88, 0, 7, 87, 0, 7, 67, 0] \ No newline at end of file diff --git a/packages/kbn-esql-ast/src/antlr/esql_lexer.tokens b/packages/kbn-esql-ast/src/antlr/esql_lexer.tokens index fc02831fc219f..b496aa68b61f7 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_lexer.tokens +++ b/packages/kbn-esql-ast/src/antlr/esql_lexer.tokens @@ -31,82 +31,83 @@ BY=30 AND=31 ASC=32 ASSIGN=33 -COMMA=34 -DESC=35 -DOT=36 -FALSE=37 -FIRST=38 -LAST=39 -LP=40 -IN=41 -IS=42 -LIKE=43 -NOT=44 -NULL=45 -NULLS=46 -OR=47 -PARAM=48 -RLIKE=49 -RP=50 -TRUE=51 -EQ=52 -CIEQ=53 -NEQ=54 -LT=55 -LTE=56 -GT=57 -GTE=58 -PLUS=59 -MINUS=60 -ASTERISK=61 -SLASH=62 -PERCENT=63 -OPENING_BRACKET=64 -CLOSING_BRACKET=65 -UNQUOTED_IDENTIFIER=66 -QUOTED_IDENTIFIER=67 -EXPR_LINE_COMMENT=68 -EXPR_MULTILINE_COMMENT=69 -EXPR_WS=70 -OPTIONS=71 -METADATA=72 -FROM_UNQUOTED_IDENTIFIER=73 -FROM_LINE_COMMENT=74 -FROM_MULTILINE_COMMENT=75 -FROM_WS=76 -ID_PATTERN=77 -PROJECT_LINE_COMMENT=78 -PROJECT_MULTILINE_COMMENT=79 -PROJECT_WS=80 -AS=81 -RENAME_LINE_COMMENT=82 -RENAME_MULTILINE_COMMENT=83 -RENAME_WS=84 -ON=85 -WITH=86 -ENRICH_POLICY_NAME=87 -ENRICH_LINE_COMMENT=88 -ENRICH_MULTILINE_COMMENT=89 -ENRICH_WS=90 -ENRICH_FIELD_LINE_COMMENT=91 -ENRICH_FIELD_MULTILINE_COMMENT=92 -ENRICH_FIELD_WS=93 -MVEXPAND_LINE_COMMENT=94 -MVEXPAND_MULTILINE_COMMENT=95 -MVEXPAND_WS=96 -INFO=97 -SHOW_LINE_COMMENT=98 -SHOW_MULTILINE_COMMENT=99 -SHOW_WS=100 -FUNCTIONS=101 -META_LINE_COMMENT=102 -META_MULTILINE_COMMENT=103 -META_WS=104 -COLON=105 -SETTING=106 -SETTING_LINE_COMMENT=107 -SETTTING_MULTILINE_COMMENT=108 -SETTING_WS=109 +CAST_OP=34 +COMMA=35 +DESC=36 +DOT=37 +FALSE=38 +FIRST=39 +LAST=40 +LP=41 +IN=42 +IS=43 +LIKE=44 +NOT=45 +NULL=46 +NULLS=47 +OR=48 +PARAM=49 +RLIKE=50 +RP=51 +TRUE=52 +EQ=53 +CIEQ=54 +NEQ=55 +LT=56 +LTE=57 +GT=58 +GTE=59 +PLUS=60 +MINUS=61 +ASTERISK=62 +SLASH=63 +PERCENT=64 +OPENING_BRACKET=65 +CLOSING_BRACKET=66 +UNQUOTED_IDENTIFIER=67 +QUOTED_IDENTIFIER=68 +EXPR_LINE_COMMENT=69 +EXPR_MULTILINE_COMMENT=70 +EXPR_WS=71 +OPTIONS=72 +METADATA=73 +FROM_UNQUOTED_IDENTIFIER=74 +FROM_LINE_COMMENT=75 +FROM_MULTILINE_COMMENT=76 +FROM_WS=77 +ID_PATTERN=78 +PROJECT_LINE_COMMENT=79 +PROJECT_MULTILINE_COMMENT=80 +PROJECT_WS=81 +AS=82 +RENAME_LINE_COMMENT=83 +RENAME_MULTILINE_COMMENT=84 +RENAME_WS=85 +ON=86 +WITH=87 +ENRICH_POLICY_NAME=88 +ENRICH_LINE_COMMENT=89 +ENRICH_MULTILINE_COMMENT=90 +ENRICH_WS=91 +ENRICH_FIELD_LINE_COMMENT=92 +ENRICH_FIELD_MULTILINE_COMMENT=93 +ENRICH_FIELD_WS=94 +MVEXPAND_LINE_COMMENT=95 +MVEXPAND_MULTILINE_COMMENT=96 +MVEXPAND_WS=97 +INFO=98 +SHOW_LINE_COMMENT=99 +SHOW_MULTILINE_COMMENT=100 +SHOW_WS=101 +FUNCTIONS=102 +META_LINE_COMMENT=103 +META_MULTILINE_COMMENT=104 +META_WS=105 +COLON=106 +SETTING=107 +SETTING_LINE_COMMENT=108 +SETTTING_MULTILINE_COMMENT=109 +SETTING_WS=110 'dissect'=1 'drop'=2 'enrich'=3 @@ -130,42 +131,43 @@ SETTING_WS=109 'and'=31 'asc'=32 '='=33 -','=34 -'desc'=35 -'.'=36 -'false'=37 -'first'=38 -'last'=39 -'('=40 -'in'=41 -'is'=42 -'like'=43 -'not'=44 -'null'=45 -'nulls'=46 -'or'=47 -'?'=48 -'rlike'=49 -')'=50 -'true'=51 -'=='=52 -'=~'=53 -'!='=54 -'<'=55 -'<='=56 -'>'=57 -'>='=58 -'+'=59 -'-'=60 -'*'=61 -'/'=62 -'%'=63 -']'=65 -'options'=71 -'metadata'=72 -'as'=81 -'on'=85 -'with'=86 -'info'=97 -'functions'=101 -':'=105 +'::'=34 +','=35 +'desc'=36 +'.'=37 +'false'=38 +'first'=39 +'last'=40 +'('=41 +'in'=42 +'is'=43 +'like'=44 +'not'=45 +'null'=46 +'nulls'=47 +'or'=48 +'?'=49 +'rlike'=50 +')'=51 +'true'=52 +'=='=53 +'=~'=54 +'!='=55 +'<'=56 +'<='=57 +'>'=58 +'>='=59 +'+'=60 +'-'=61 +'*'=62 +'/'=63 +'%'=64 +']'=66 +'options'=72 +'metadata'=73 +'as'=82 +'on'=86 +'with'=87 +'info'=98 +'functions'=102 +':'=106 diff --git a/packages/kbn-esql-ast/src/antlr/esql_lexer.ts b/packages/kbn-esql-ast/src/antlr/esql_lexer.ts index 1bce95673161a..5aa7fb2a8bf5c 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_lexer.ts +++ b/packages/kbn-esql-ast/src/antlr/esql_lexer.ts @@ -46,82 +46,83 @@ export default class esql_lexer extends Lexer { public static readonly AND = 31; public static readonly ASC = 32; public static readonly ASSIGN = 33; - public static readonly COMMA = 34; - public static readonly DESC = 35; - public static readonly DOT = 36; - public static readonly FALSE = 37; - public static readonly FIRST = 38; - public static readonly LAST = 39; - public static readonly LP = 40; - public static readonly IN = 41; - public static readonly IS = 42; - public static readonly LIKE = 43; - public static readonly NOT = 44; - public static readonly NULL = 45; - public static readonly NULLS = 46; - public static readonly OR = 47; - public static readonly PARAM = 48; - public static readonly RLIKE = 49; - public static readonly RP = 50; - public static readonly TRUE = 51; - public static readonly EQ = 52; - public static readonly CIEQ = 53; - public static readonly NEQ = 54; - public static readonly LT = 55; - public static readonly LTE = 56; - public static readonly GT = 57; - public static readonly GTE = 58; - public static readonly PLUS = 59; - public static readonly MINUS = 60; - public static readonly ASTERISK = 61; - public static readonly SLASH = 62; - public static readonly PERCENT = 63; - public static readonly OPENING_BRACKET = 64; - public static readonly CLOSING_BRACKET = 65; - public static readonly UNQUOTED_IDENTIFIER = 66; - public static readonly QUOTED_IDENTIFIER = 67; - public static readonly EXPR_LINE_COMMENT = 68; - public static readonly EXPR_MULTILINE_COMMENT = 69; - public static readonly EXPR_WS = 70; - public static readonly OPTIONS = 71; - public static readonly METADATA = 72; - public static readonly FROM_UNQUOTED_IDENTIFIER = 73; - public static readonly FROM_LINE_COMMENT = 74; - public static readonly FROM_MULTILINE_COMMENT = 75; - public static readonly FROM_WS = 76; - public static readonly ID_PATTERN = 77; - public static readonly PROJECT_LINE_COMMENT = 78; - public static readonly PROJECT_MULTILINE_COMMENT = 79; - public static readonly PROJECT_WS = 80; - public static readonly AS = 81; - public static readonly RENAME_LINE_COMMENT = 82; - public static readonly RENAME_MULTILINE_COMMENT = 83; - public static readonly RENAME_WS = 84; - public static readonly ON = 85; - public static readonly WITH = 86; - public static readonly ENRICH_POLICY_NAME = 87; - public static readonly ENRICH_LINE_COMMENT = 88; - public static readonly ENRICH_MULTILINE_COMMENT = 89; - public static readonly ENRICH_WS = 90; - public static readonly ENRICH_FIELD_LINE_COMMENT = 91; - public static readonly ENRICH_FIELD_MULTILINE_COMMENT = 92; - public static readonly ENRICH_FIELD_WS = 93; - public static readonly MVEXPAND_LINE_COMMENT = 94; - public static readonly MVEXPAND_MULTILINE_COMMENT = 95; - public static readonly MVEXPAND_WS = 96; - public static readonly INFO = 97; - public static readonly SHOW_LINE_COMMENT = 98; - public static readonly SHOW_MULTILINE_COMMENT = 99; - public static readonly SHOW_WS = 100; - public static readonly FUNCTIONS = 101; - public static readonly META_LINE_COMMENT = 102; - public static readonly META_MULTILINE_COMMENT = 103; - public static readonly META_WS = 104; - public static readonly COLON = 105; - public static readonly SETTING = 106; - public static readonly SETTING_LINE_COMMENT = 107; - public static readonly SETTTING_MULTILINE_COMMENT = 108; - public static readonly SETTING_WS = 109; + public static readonly CAST_OP = 34; + public static readonly COMMA = 35; + public static readonly DESC = 36; + public static readonly DOT = 37; + public static readonly FALSE = 38; + public static readonly FIRST = 39; + public static readonly LAST = 40; + public static readonly LP = 41; + public static readonly IN = 42; + public static readonly IS = 43; + public static readonly LIKE = 44; + public static readonly NOT = 45; + public static readonly NULL = 46; + public static readonly NULLS = 47; + public static readonly OR = 48; + public static readonly PARAM = 49; + public static readonly RLIKE = 50; + public static readonly RP = 51; + public static readonly TRUE = 52; + public static readonly EQ = 53; + public static readonly CIEQ = 54; + public static readonly NEQ = 55; + public static readonly LT = 56; + public static readonly LTE = 57; + public static readonly GT = 58; + public static readonly GTE = 59; + public static readonly PLUS = 60; + public static readonly MINUS = 61; + public static readonly ASTERISK = 62; + public static readonly SLASH = 63; + public static readonly PERCENT = 64; + public static readonly OPENING_BRACKET = 65; + public static readonly CLOSING_BRACKET = 66; + public static readonly UNQUOTED_IDENTIFIER = 67; + public static readonly QUOTED_IDENTIFIER = 68; + public static readonly EXPR_LINE_COMMENT = 69; + public static readonly EXPR_MULTILINE_COMMENT = 70; + public static readonly EXPR_WS = 71; + public static readonly OPTIONS = 72; + public static readonly METADATA = 73; + public static readonly FROM_UNQUOTED_IDENTIFIER = 74; + public static readonly FROM_LINE_COMMENT = 75; + public static readonly FROM_MULTILINE_COMMENT = 76; + public static readonly FROM_WS = 77; + public static readonly ID_PATTERN = 78; + public static readonly PROJECT_LINE_COMMENT = 79; + public static readonly PROJECT_MULTILINE_COMMENT = 80; + public static readonly PROJECT_WS = 81; + public static readonly AS = 82; + public static readonly RENAME_LINE_COMMENT = 83; + public static readonly RENAME_MULTILINE_COMMENT = 84; + public static readonly RENAME_WS = 85; + public static readonly ON = 86; + public static readonly WITH = 87; + public static readonly ENRICH_POLICY_NAME = 88; + public static readonly ENRICH_LINE_COMMENT = 89; + public static readonly ENRICH_MULTILINE_COMMENT = 90; + public static readonly ENRICH_WS = 91; + public static readonly ENRICH_FIELD_LINE_COMMENT = 92; + public static readonly ENRICH_FIELD_MULTILINE_COMMENT = 93; + public static readonly ENRICH_FIELD_WS = 94; + public static readonly MVEXPAND_LINE_COMMENT = 95; + public static readonly MVEXPAND_MULTILINE_COMMENT = 96; + public static readonly MVEXPAND_WS = 97; + public static readonly INFO = 98; + public static readonly SHOW_LINE_COMMENT = 99; + public static readonly SHOW_MULTILINE_COMMENT = 100; + public static readonly SHOW_WS = 101; + public static readonly FUNCTIONS = 102; + public static readonly META_LINE_COMMENT = 103; + public static readonly META_MULTILINE_COMMENT = 104; + public static readonly META_WS = 105; + public static readonly COLON = 106; + public static readonly SETTING = 107; + public static readonly SETTING_LINE_COMMENT = 108; + public static readonly SETTTING_MULTILINE_COMMENT = 109; + public static readonly SETTING_WS = 110; public static readonly EOF = Token.EOF; public static readonly EXPLAIN_MODE = 1; public static readonly EXPRESSION_MODE = 2; @@ -154,25 +155,26 @@ export default class esql_lexer extends Lexer { null, null, "'by'", "'and'", "'asc'", "'='", - "','", "'desc'", - "'.'", "'false'", - "'first'", "'last'", - "'('", "'in'", - "'is'", "'like'", - "'not'", "'null'", - "'nulls'", "'or'", - "'?'", "'rlike'", - "')'", "'true'", - "'=='", "'=~'", - "'!='", "'<'", - "'<='", "'>'", - "'>='", "'+'", - "'-'", "'*'", - "'/'", "'%'", - null, "']'", + "'::'", "','", + "'desc'", "'.'", + "'false'", "'first'", + "'last'", "'('", + "'in'", "'is'", + "'like'", "'not'", + "'null'", "'nulls'", + "'or'", "'?'", + "'rlike'", "')'", + "'true'", "'=='", + "'=~'", "'!='", + "'<'", "'<='", + "'>'", "'>='", + "'+'", "'-'", + "'*'", "'/'", + "'%'", null, + "']'", null, null, null, null, null, - null, "'options'", + "'options'", "'metadata'", null, null, null, null, @@ -212,6 +214,7 @@ export default class esql_lexer extends Lexer { "DECIMAL_LITERAL", "BY", "AND", "ASC", "ASSIGN", + "CAST_OP", "COMMA", "DESC", "DOT", "FALSE", "FIRST", "LAST", @@ -284,10 +287,10 @@ export default class esql_lexer extends Lexer { "EXPLAIN_MULTILINE_COMMENT", "PIPE", "DIGIT", "LETTER", "ESCAPE_SEQUENCE", "UNESCAPED_CHARS", "EXPONENT", "ASPERAND", "BACKQUOTE", "BACKQUOTE_BLOCK", "UNDERSCORE", "UNQUOTED_ID_BODY", "QUOTED_STRING", "INTEGER_LITERAL", - "DECIMAL_LITERAL", "BY", "AND", "ASC", "ASSIGN", "COMMA", "DESC", "DOT", - "FALSE", "FIRST", "LAST", "LP", "IN", "IS", "LIKE", "NOT", "NULL", "NULLS", - "OR", "PARAM", "RLIKE", "RP", "TRUE", "EQ", "CIEQ", "NEQ", "LT", "LTE", - "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "OPENING_BRACKET", + "DECIMAL_LITERAL", "BY", "AND", "ASC", "ASSIGN", "CAST_OP", "COMMA", "DESC", + "DOT", "FALSE", "FIRST", "LAST", "LP", "IN", "IS", "LIKE", "NOT", "NULL", + "NULLS", "OR", "PARAM", "RLIKE", "RP", "TRUE", "EQ", "CIEQ", "NEQ", "LT", + "LTE", "GT", "GTE", "PLUS", "MINUS", "ASTERISK", "SLASH", "PERCENT", "OPENING_BRACKET", "CLOSING_BRACKET", "UNQUOTED_IDENTIFIER", "QUOTED_ID", "QUOTED_IDENTIFIER", "EXPR_LINE_COMMENT", "EXPR_MULTILINE_COMMENT", "EXPR_WS", "FROM_PIPE", "FROM_OPENING_BRACKET", "FROM_CLOSING_BRACKET", "FROM_COMMA", "FROM_ASSIGN", @@ -329,7 +332,7 @@ export default class esql_lexer extends Lexer { public get modeNames(): string[] { return esql_lexer.modeNames; } - public static readonly _serializedATN: number[] = [4,0,109,1198,6,-1,6, + public static readonly _serializedATN: number[] = [4,0,110,1203,6,-1,6, -1,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,6,-1,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, @@ -354,386 +357,387 @@ export default class esql_lexer extends Lexer { 7,140,2,141,7,141,2,142,7,142,2,143,7,143,2,144,7,144,2,145,7,145,2,146, 7,146,2,147,7,147,2,148,7,148,2,149,7,149,2,150,7,150,2,151,7,151,2,152, 7,152,2,153,7,153,2,154,7,154,2,155,7,155,2,156,7,156,2,157,7,157,2,158, - 7,158,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,1, - 1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1,3,1,3,1,4,1, - 4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,1,6,1,6,1, - 6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1, - 7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1,10,1,10, - 1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1,11,1, - 11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,13,1,13,1,13, - 1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15,1,15,1,15,1, - 15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1,17,1,17,1,17, - 1,17,1,17,1,17,1,17,1,18,4,18,482,8,18,11,18,12,18,483,1,18,1,18,1,19,1, - 19,1,19,1,19,5,19,492,8,19,10,19,12,19,495,9,19,1,19,3,19,498,8,19,1,19, - 3,19,501,8,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,5,20,510,8,20,10,20,12, - 20,513,9,20,1,20,1,20,1,20,1,20,1,20,1,21,4,21,521,8,21,11,21,12,21,522, - 1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1,24,1,24,1, - 24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,27,1,27,1,27,1,27,1,28, - 1,28,1,29,1,29,1,30,1,30,1,30,1,31,1,31,1,32,1,32,3,32,564,8,32,1,32,4, - 32,567,8,32,11,32,12,32,568,1,33,1,33,1,34,1,34,1,35,1,35,1,35,3,35,578, - 8,35,1,36,1,36,1,37,1,37,1,37,3,37,585,8,37,1,38,1,38,1,38,5,38,590,8,38, - 10,38,12,38,593,9,38,1,38,1,38,1,38,1,38,1,38,1,38,5,38,601,8,38,10,38, - 12,38,604,9,38,1,38,1,38,1,38,1,38,1,38,3,38,611,8,38,1,38,3,38,614,8,38, - 3,38,616,8,38,1,39,4,39,619,8,39,11,39,12,39,620,1,40,4,40,624,8,40,11, - 40,12,40,625,1,40,1,40,5,40,630,8,40,10,40,12,40,633,9,40,1,40,1,40,4,40, - 637,8,40,11,40,12,40,638,1,40,4,40,642,8,40,11,40,12,40,643,1,40,1,40,5, - 40,648,8,40,10,40,12,40,651,9,40,3,40,653,8,40,1,40,1,40,1,40,1,40,4,40, - 659,8,40,11,40,12,40,660,1,40,1,40,3,40,665,8,40,1,41,1,41,1,41,1,42,1, - 42,1,42,1,42,1,43,1,43,1,43,1,43,1,44,1,44,1,45,1,45,1,46,1,46,1,46,1,46, - 1,46,1,47,1,47,1,48,1,48,1,48,1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1, - 49,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,52,1,52,1,52,1,53,1,53,1,53,1,54, - 1,54,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,56,1,57,1, - 57,1,57,1,57,1,57,1,57,1,58,1,58,1,58,1,59,1,59,1,60,1,60,1,60,1,60,1,60, - 1,60,1,61,1,61,1,62,1,62,1,62,1,62,1,62,1,63,1,63,1,63,1,64,1,64,1,64,1, - 65,1,65,1,65,1,66,1,66,1,67,1,67,1,67,1,68,1,68,1,69,1,69,1,69,1,70,1,70, - 1,71,1,71,1,72,1,72,1,73,1,73,1,74,1,74,1,75,1,75,1,75,1,75,1,75,1,76,1, - 76,1,76,1,76,1,76,1,77,1,77,5,77,793,8,77,10,77,12,77,796,9,77,1,77,1,77, - 3,77,800,8,77,1,77,4,77,803,8,77,11,77,12,77,804,3,77,807,8,77,1,78,1,78, - 4,78,811,8,78,11,78,12,78,812,1,78,1,78,1,79,1,79,1,80,1,80,1,80,1,80,1, - 81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,83,1,84,1,84, - 1,84,1,84,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1,87,1, - 88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,89,1,90,1,90,1,90, - 1,90,1,90,1,90,1,90,1,90,1,90,1,91,1,91,1,91,3,91,876,8,91,1,92,4,92,879, - 8,92,11,92,12,92,880,1,93,1,93,1,93,1,93,1,94,1,94,1,94,1,94,1,95,1,95, - 1,95,1,95,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1, - 98,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,3,100,916,8,100,1,101,1, - 101,3,101,920,8,101,1,101,5,101,923,8,101,10,101,12,101,926,9,101,1,101, - 1,101,3,101,930,8,101,1,101,4,101,933,8,101,11,101,12,101,934,3,101,937, - 8,101,1,102,1,102,4,102,941,8,102,11,102,12,102,942,1,103,1,103,1,103,1, - 103,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,106,1,106,1,106,1, - 106,1,106,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,109,1,109,1, - 109,1,109,1,110,1,110,1,110,1,111,1,111,1,111,1,111,1,112,1,112,1,112,1, - 112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,115,1,115,1,115,1, - 115,1,115,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1, - 118,1,118,1,118,1,118,1,118,1,118,1,118,1,119,1,119,1,120,4,120,1018,8, - 120,11,120,12,120,1019,1,120,1,120,3,120,1024,8,120,1,120,4,120,1027,8, - 120,11,120,12,120,1028,1,121,1,121,1,121,1,121,1,122,1,122,1,122,1,122, + 7,158,2,159,7,159,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,1,1,1,1,1,1, + 1,1,1,1,1,1,1,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,2,1,3,1,3,1,3,1,3,1,3,1, + 3,1,3,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1, + 5,1,6,1,6,1,6,1,6,1,6,1,6,1,6,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1,7,1, + 7,1,7,1,7,1,7,1,8,1,8,1,8,1,8,1,8,1,8,1,8,1,9,1,9,1,9,1,9,1,9,1,9,1,9,1, + 9,1,10,1,10,1,10,1,10,1,10,1,10,1,10,1,11,1,11,1,11,1,11,1,11,1,11,1,11, + 1,11,1,11,1,11,1,11,1,11,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1,12,1, + 13,1,13,1,13,1,13,1,13,1,13,1,14,1,14,1,14,1,14,1,14,1,14,1,14,1,15,1,15, + 1,15,1,15,1,15,1,15,1,15,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,16,1,17,1, + 17,1,17,1,17,1,17,1,17,1,17,1,17,1,18,4,18,484,8,18,11,18,12,18,485,1,18, + 1,18,1,19,1,19,1,19,1,19,5,19,494,8,19,10,19,12,19,497,9,19,1,19,3,19,500, + 8,19,1,19,3,19,503,8,19,1,19,1,19,1,20,1,20,1,20,1,20,1,20,5,20,512,8,20, + 10,20,12,20,515,9,20,1,20,1,20,1,20,1,20,1,20,1,21,4,21,523,8,21,11,21, + 12,21,524,1,21,1,21,1,22,1,22,1,22,1,22,1,22,1,23,1,23,1,23,1,23,1,23,1, + 24,1,24,1,24,1,24,1,25,1,25,1,25,1,25,1,26,1,26,1,26,1,26,1,27,1,27,1,27, + 1,27,1,28,1,28,1,29,1,29,1,30,1,30,1,30,1,31,1,31,1,32,1,32,3,32,566,8, + 32,1,32,4,32,569,8,32,11,32,12,32,570,1,33,1,33,1,34,1,34,1,35,1,35,1,35, + 3,35,580,8,35,1,36,1,36,1,37,1,37,1,37,3,37,587,8,37,1,38,1,38,1,38,5,38, + 592,8,38,10,38,12,38,595,9,38,1,38,1,38,1,38,1,38,1,38,1,38,5,38,603,8, + 38,10,38,12,38,606,9,38,1,38,1,38,1,38,1,38,1,38,3,38,613,8,38,1,38,3,38, + 616,8,38,3,38,618,8,38,1,39,4,39,621,8,39,11,39,12,39,622,1,40,4,40,626, + 8,40,11,40,12,40,627,1,40,1,40,5,40,632,8,40,10,40,12,40,635,9,40,1,40, + 1,40,4,40,639,8,40,11,40,12,40,640,1,40,4,40,644,8,40,11,40,12,40,645,1, + 40,1,40,5,40,650,8,40,10,40,12,40,653,9,40,3,40,655,8,40,1,40,1,40,1,40, + 1,40,4,40,661,8,40,11,40,12,40,662,1,40,1,40,3,40,667,8,40,1,41,1,41,1, + 41,1,42,1,42,1,42,1,42,1,43,1,43,1,43,1,43,1,44,1,44,1,45,1,45,1,45,1,46, + 1,46,1,47,1,47,1,47,1,47,1,47,1,48,1,48,1,49,1,49,1,49,1,49,1,49,1,49,1, + 50,1,50,1,50,1,50,1,50,1,50,1,51,1,51,1,51,1,51,1,51,1,52,1,52,1,53,1,53, + 1,53,1,54,1,54,1,54,1,55,1,55,1,55,1,55,1,55,1,56,1,56,1,56,1,56,1,57,1, + 57,1,57,1,57,1,57,1,58,1,58,1,58,1,58,1,58,1,58,1,59,1,59,1,59,1,60,1,60, + 1,61,1,61,1,61,1,61,1,61,1,61,1,62,1,62,1,63,1,63,1,63,1,63,1,63,1,64,1, + 64,1,64,1,65,1,65,1,65,1,66,1,66,1,66,1,67,1,67,1,68,1,68,1,68,1,69,1,69, + 1,70,1,70,1,70,1,71,1,71,1,72,1,72,1,73,1,73,1,74,1,74,1,75,1,75,1,76,1, + 76,1,76,1,76,1,76,1,77,1,77,1,77,1,77,1,77,1,78,1,78,5,78,798,8,78,10,78, + 12,78,801,9,78,1,78,1,78,3,78,805,8,78,1,78,4,78,808,8,78,11,78,12,78,809, + 3,78,812,8,78,1,79,1,79,4,79,816,8,79,11,79,12,79,817,1,79,1,79,1,80,1, + 80,1,81,1,81,1,81,1,81,1,82,1,82,1,82,1,82,1,83,1,83,1,83,1,83,1,84,1,84, + 1,84,1,84,1,84,1,85,1,85,1,85,1,85,1,86,1,86,1,86,1,86,1,87,1,87,1,87,1, + 87,1,88,1,88,1,88,1,88,1,89,1,89,1,89,1,89,1,90,1,90,1,90,1,90,1,90,1,90, + 1,90,1,90,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,91,1,92,1,92,1,92,3, + 92,881,8,92,1,93,4,93,884,8,93,11,93,12,93,885,1,94,1,94,1,94,1,94,1,95, + 1,95,1,95,1,95,1,96,1,96,1,96,1,96,1,97,1,97,1,97,1,97,1,98,1,98,1,98,1, + 98,1,98,1,99,1,99,1,99,1,99,1,100,1,100,1,100,1,100,1,101,1,101,1,101,1, + 101,3,101,921,8,101,1,102,1,102,3,102,925,8,102,1,102,5,102,928,8,102,10, + 102,12,102,931,9,102,1,102,1,102,3,102,935,8,102,1,102,4,102,938,8,102, + 11,102,12,102,939,3,102,942,8,102,1,103,1,103,4,103,946,8,103,11,103,12, + 103,947,1,104,1,104,1,104,1,104,1,105,1,105,1,105,1,105,1,106,1,106,1,106, + 1,106,1,107,1,107,1,107,1,107,1,107,1,108,1,108,1,108,1,108,1,109,1,109, + 1,109,1,109,1,110,1,110,1,110,1,110,1,111,1,111,1,111,1,112,1,112,1,112, + 1,112,1,113,1,113,1,113,1,113,1,114,1,114,1,114,1,114,1,115,1,115,1,115, + 1,115,1,116,1,116,1,116,1,116,1,116,1,117,1,117,1,117,1,117,1,117,1,118, + 1,118,1,118,1,118,1,118,1,119,1,119,1,119,1,119,1,119,1,119,1,119,1,120, + 1,120,1,121,4,121,1023,8,121,11,121,12,121,1024,1,121,1,121,3,121,1029, + 8,121,1,121,4,121,1032,8,121,11,121,12,121,1033,1,122,1,122,1,122,1,122, 1,123,1,123,1,123,1,123,1,124,1,124,1,124,1,124,1,125,1,125,1,125,1,125, - 1,126,1,126,1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,128,1,128, + 1,126,1,126,1,126,1,126,1,127,1,127,1,127,1,127,1,127,1,127,1,128,1,128, 1,128,1,128,1,129,1,129,1,129,1,129,1,130,1,130,1,130,1,130,1,131,1,131, 1,131,1,131,1,132,1,132,1,132,1,132,1,133,1,133,1,133,1,133,1,134,1,134, - 1,134,1,134,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,136,1,137, + 1,134,1,134,1,135,1,135,1,135,1,135,1,136,1,136,1,136,1,136,1,137,1,137, 1,137,1,137,1,137,1,138,1,138,1,138,1,138,1,139,1,139,1,139,1,139,1,140, 1,140,1,140,1,140,1,141,1,141,1,141,1,141,1,142,1,142,1,142,1,142,1,143, - 1,143,1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145, + 1,143,1,143,1,143,1,144,1,144,1,144,1,144,1,144,1,145,1,145,1,145,1,145, 1,145,1,146,1,146,1,146,1,146,1,147,1,147,1,147,1,147,1,148,1,148,1,148, - 1,148,1,148,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149,1,149, + 1,148,1,149,1,149,1,149,1,149,1,149,1,150,1,150,1,150,1,150,1,150,1,150, 1,150,1,150,1,150,1,150,1,151,1,151,1,151,1,151,1,152,1,152,1,152,1,152, - 1,153,1,153,1,153,1,153,1,153,1,154,1,154,1,155,1,155,1,155,1,155,1,155, - 4,155,1183,8,155,11,155,12,155,1184,1,156,1,156,1,156,1,156,1,157,1,157, - 1,157,1,157,1,158,1,158,1,158,1,158,2,511,602,0,159,12,1,14,2,16,3,18,4, - 20,5,22,6,24,7,26,8,28,9,30,10,32,11,34,12,36,13,38,14,40,15,42,16,44,17, - 46,18,48,19,50,20,52,21,54,22,56,0,58,0,60,23,62,24,64,25,66,26,68,0,70, - 0,72,0,74,0,76,0,78,0,80,0,82,0,84,0,86,0,88,27,90,28,92,29,94,30,96,31, - 98,32,100,33,102,34,104,35,106,36,108,37,110,38,112,39,114,40,116,41,118, - 42,120,43,122,44,124,45,126,46,128,47,130,48,132,49,134,50,136,51,138,52, - 140,53,142,54,144,55,146,56,148,57,150,58,152,59,154,60,156,61,158,62,160, - 63,162,64,164,65,166,66,168,0,170,67,172,68,174,69,176,70,178,0,180,0,182, - 0,184,0,186,0,188,0,190,71,192,72,194,0,196,73,198,0,200,74,202,75,204, - 76,206,0,208,0,210,0,212,0,214,0,216,77,218,78,220,79,222,80,224,0,226, - 0,228,0,230,0,232,81,234,0,236,82,238,83,240,84,242,0,244,0,246,85,248, - 86,250,0,252,87,254,0,256,0,258,88,260,89,262,90,264,0,266,0,268,0,270, - 0,272,0,274,0,276,0,278,91,280,92,282,93,284,0,286,0,288,0,290,0,292,94, - 294,95,296,96,298,0,300,97,302,98,304,99,306,100,308,0,310,101,312,102, - 314,103,316,104,318,0,320,105,322,106,324,107,326,108,328,109,12,0,1,2, - 3,4,5,6,7,8,9,10,11,35,2,0,68,68,100,100,2,0,73,73,105,105,2,0,83,83,115, - 115,2,0,69,69,101,101,2,0,67,67,99,99,2,0,84,84,116,116,2,0,82,82,114,114, - 2,0,79,79,111,111,2,0,80,80,112,112,2,0,78,78,110,110,2,0,72,72,104,104, - 2,0,86,86,118,118,2,0,65,65,97,97,2,0,76,76,108,108,2,0,88,88,120,120,2, - 0,70,70,102,102,2,0,77,77,109,109,2,0,71,71,103,103,2,0,75,75,107,107,2, - 0,87,87,119,119,6,0,9,10,13,13,32,32,47,47,91,91,93,93,2,0,10,10,13,13, - 3,0,9,10,13,13,32,32,1,0,48,57,2,0,65,90,97,122,8,0,34,34,78,78,82,82,84, - 84,92,92,110,110,114,114,116,116,4,0,10,10,13,13,34,34,92,92,2,0,43,43, - 45,45,1,0,96,96,2,0,66,66,98,98,2,0,89,89,121,121,2,0,85,85,117,117,10, - 0,9,10,13,13,32,32,44,44,47,47,61,61,91,91,93,93,96,96,124,124,2,0,42,42, - 47,47,11,0,9,10,13,13,32,32,34,35,44,44,47,47,58,58,60,60,62,63,92,92,124, - 124,1225,0,12,1,0,0,0,0,14,1,0,0,0,0,16,1,0,0,0,0,18,1,0,0,0,0,20,1,0,0, - 0,0,22,1,0,0,0,0,24,1,0,0,0,0,26,1,0,0,0,0,28,1,0,0,0,0,30,1,0,0,0,0,32, - 1,0,0,0,0,34,1,0,0,0,0,36,1,0,0,0,0,38,1,0,0,0,0,40,1,0,0,0,0,42,1,0,0, - 0,0,44,1,0,0,0,0,46,1,0,0,0,0,48,1,0,0,0,0,50,1,0,0,0,0,52,1,0,0,0,0,54, - 1,0,0,0,1,56,1,0,0,0,1,58,1,0,0,0,1,60,1,0,0,0,1,62,1,0,0,0,1,64,1,0,0, - 0,2,66,1,0,0,0,2,88,1,0,0,0,2,90,1,0,0,0,2,92,1,0,0,0,2,94,1,0,0,0,2,96, - 1,0,0,0,2,98,1,0,0,0,2,100,1,0,0,0,2,102,1,0,0,0,2,104,1,0,0,0,2,106,1, - 0,0,0,2,108,1,0,0,0,2,110,1,0,0,0,2,112,1,0,0,0,2,114,1,0,0,0,2,116,1,0, - 0,0,2,118,1,0,0,0,2,120,1,0,0,0,2,122,1,0,0,0,2,124,1,0,0,0,2,126,1,0,0, - 0,2,128,1,0,0,0,2,130,1,0,0,0,2,132,1,0,0,0,2,134,1,0,0,0,2,136,1,0,0,0, - 2,138,1,0,0,0,2,140,1,0,0,0,2,142,1,0,0,0,2,144,1,0,0,0,2,146,1,0,0,0,2, - 148,1,0,0,0,2,150,1,0,0,0,2,152,1,0,0,0,2,154,1,0,0,0,2,156,1,0,0,0,2,158, - 1,0,0,0,2,160,1,0,0,0,2,162,1,0,0,0,2,164,1,0,0,0,2,166,1,0,0,0,2,170,1, - 0,0,0,2,172,1,0,0,0,2,174,1,0,0,0,2,176,1,0,0,0,3,178,1,0,0,0,3,180,1,0, - 0,0,3,182,1,0,0,0,3,184,1,0,0,0,3,186,1,0,0,0,3,188,1,0,0,0,3,190,1,0,0, - 0,3,192,1,0,0,0,3,196,1,0,0,0,3,198,1,0,0,0,3,200,1,0,0,0,3,202,1,0,0,0, - 3,204,1,0,0,0,4,206,1,0,0,0,4,208,1,0,0,0,4,210,1,0,0,0,4,216,1,0,0,0,4, - 218,1,0,0,0,4,220,1,0,0,0,4,222,1,0,0,0,5,224,1,0,0,0,5,226,1,0,0,0,5,228, - 1,0,0,0,5,230,1,0,0,0,5,232,1,0,0,0,5,234,1,0,0,0,5,236,1,0,0,0,5,238,1, - 0,0,0,5,240,1,0,0,0,6,242,1,0,0,0,6,244,1,0,0,0,6,246,1,0,0,0,6,248,1,0, - 0,0,6,252,1,0,0,0,6,254,1,0,0,0,6,256,1,0,0,0,6,258,1,0,0,0,6,260,1,0,0, - 0,6,262,1,0,0,0,7,264,1,0,0,0,7,266,1,0,0,0,7,268,1,0,0,0,7,270,1,0,0,0, - 7,272,1,0,0,0,7,274,1,0,0,0,7,276,1,0,0,0,7,278,1,0,0,0,7,280,1,0,0,0,7, - 282,1,0,0,0,8,284,1,0,0,0,8,286,1,0,0,0,8,288,1,0,0,0,8,290,1,0,0,0,8,292, - 1,0,0,0,8,294,1,0,0,0,8,296,1,0,0,0,9,298,1,0,0,0,9,300,1,0,0,0,9,302,1, - 0,0,0,9,304,1,0,0,0,9,306,1,0,0,0,10,308,1,0,0,0,10,310,1,0,0,0,10,312, - 1,0,0,0,10,314,1,0,0,0,10,316,1,0,0,0,11,318,1,0,0,0,11,320,1,0,0,0,11, - 322,1,0,0,0,11,324,1,0,0,0,11,326,1,0,0,0,11,328,1,0,0,0,12,330,1,0,0,0, - 14,340,1,0,0,0,16,347,1,0,0,0,18,356,1,0,0,0,20,363,1,0,0,0,22,373,1,0, - 0,0,24,380,1,0,0,0,26,387,1,0,0,0,28,401,1,0,0,0,30,408,1,0,0,0,32,416, - 1,0,0,0,34,423,1,0,0,0,36,435,1,0,0,0,38,444,1,0,0,0,40,450,1,0,0,0,42, - 457,1,0,0,0,44,464,1,0,0,0,46,472,1,0,0,0,48,481,1,0,0,0,50,487,1,0,0,0, - 52,504,1,0,0,0,54,520,1,0,0,0,56,526,1,0,0,0,58,531,1,0,0,0,60,536,1,0, - 0,0,62,540,1,0,0,0,64,544,1,0,0,0,66,548,1,0,0,0,68,552,1,0,0,0,70,554, - 1,0,0,0,72,556,1,0,0,0,74,559,1,0,0,0,76,561,1,0,0,0,78,570,1,0,0,0,80, - 572,1,0,0,0,82,577,1,0,0,0,84,579,1,0,0,0,86,584,1,0,0,0,88,615,1,0,0,0, - 90,618,1,0,0,0,92,664,1,0,0,0,94,666,1,0,0,0,96,669,1,0,0,0,98,673,1,0, - 0,0,100,677,1,0,0,0,102,679,1,0,0,0,104,681,1,0,0,0,106,686,1,0,0,0,108, - 688,1,0,0,0,110,694,1,0,0,0,112,700,1,0,0,0,114,705,1,0,0,0,116,707,1,0, - 0,0,118,710,1,0,0,0,120,713,1,0,0,0,122,718,1,0,0,0,124,722,1,0,0,0,126, - 727,1,0,0,0,128,733,1,0,0,0,130,736,1,0,0,0,132,738,1,0,0,0,134,744,1,0, - 0,0,136,746,1,0,0,0,138,751,1,0,0,0,140,754,1,0,0,0,142,757,1,0,0,0,144, - 760,1,0,0,0,146,762,1,0,0,0,148,765,1,0,0,0,150,767,1,0,0,0,152,770,1,0, - 0,0,154,772,1,0,0,0,156,774,1,0,0,0,158,776,1,0,0,0,160,778,1,0,0,0,162, - 780,1,0,0,0,164,785,1,0,0,0,166,806,1,0,0,0,168,808,1,0,0,0,170,816,1,0, - 0,0,172,818,1,0,0,0,174,822,1,0,0,0,176,826,1,0,0,0,178,830,1,0,0,0,180, - 835,1,0,0,0,182,839,1,0,0,0,184,843,1,0,0,0,186,847,1,0,0,0,188,851,1,0, - 0,0,190,855,1,0,0,0,192,863,1,0,0,0,194,875,1,0,0,0,196,878,1,0,0,0,198, - 882,1,0,0,0,200,886,1,0,0,0,202,890,1,0,0,0,204,894,1,0,0,0,206,898,1,0, - 0,0,208,903,1,0,0,0,210,907,1,0,0,0,212,915,1,0,0,0,214,936,1,0,0,0,216, - 940,1,0,0,0,218,944,1,0,0,0,220,948,1,0,0,0,222,952,1,0,0,0,224,956,1,0, - 0,0,226,961,1,0,0,0,228,965,1,0,0,0,230,969,1,0,0,0,232,973,1,0,0,0,234, - 976,1,0,0,0,236,980,1,0,0,0,238,984,1,0,0,0,240,988,1,0,0,0,242,992,1,0, - 0,0,244,997,1,0,0,0,246,1002,1,0,0,0,248,1007,1,0,0,0,250,1014,1,0,0,0, - 252,1023,1,0,0,0,254,1030,1,0,0,0,256,1034,1,0,0,0,258,1038,1,0,0,0,260, - 1042,1,0,0,0,262,1046,1,0,0,0,264,1050,1,0,0,0,266,1056,1,0,0,0,268,1060, - 1,0,0,0,270,1064,1,0,0,0,272,1068,1,0,0,0,274,1072,1,0,0,0,276,1076,1,0, - 0,0,278,1080,1,0,0,0,280,1084,1,0,0,0,282,1088,1,0,0,0,284,1092,1,0,0,0, - 286,1097,1,0,0,0,288,1101,1,0,0,0,290,1105,1,0,0,0,292,1109,1,0,0,0,294, - 1113,1,0,0,0,296,1117,1,0,0,0,298,1121,1,0,0,0,300,1126,1,0,0,0,302,1131, - 1,0,0,0,304,1135,1,0,0,0,306,1139,1,0,0,0,308,1143,1,0,0,0,310,1148,1,0, - 0,0,312,1158,1,0,0,0,314,1162,1,0,0,0,316,1166,1,0,0,0,318,1170,1,0,0,0, - 320,1175,1,0,0,0,322,1182,1,0,0,0,324,1186,1,0,0,0,326,1190,1,0,0,0,328, - 1194,1,0,0,0,330,331,7,0,0,0,331,332,7,1,0,0,332,333,7,2,0,0,333,334,7, - 2,0,0,334,335,7,3,0,0,335,336,7,4,0,0,336,337,7,5,0,0,337,338,1,0,0,0,338, - 339,6,0,0,0,339,13,1,0,0,0,340,341,7,0,0,0,341,342,7,6,0,0,342,343,7,7, - 0,0,343,344,7,8,0,0,344,345,1,0,0,0,345,346,6,1,1,0,346,15,1,0,0,0,347, - 348,7,3,0,0,348,349,7,9,0,0,349,350,7,6,0,0,350,351,7,1,0,0,351,352,7,4, - 0,0,352,353,7,10,0,0,353,354,1,0,0,0,354,355,6,2,2,0,355,17,1,0,0,0,356, - 357,7,3,0,0,357,358,7,11,0,0,358,359,7,12,0,0,359,360,7,13,0,0,360,361, - 1,0,0,0,361,362,6,3,0,0,362,19,1,0,0,0,363,364,7,3,0,0,364,365,7,14,0,0, - 365,366,7,8,0,0,366,367,7,13,0,0,367,368,7,12,0,0,368,369,7,1,0,0,369,370, - 7,9,0,0,370,371,1,0,0,0,371,372,6,4,3,0,372,21,1,0,0,0,373,374,7,15,0,0, - 374,375,7,6,0,0,375,376,7,7,0,0,376,377,7,16,0,0,377,378,1,0,0,0,378,379, - 6,5,4,0,379,23,1,0,0,0,380,381,7,17,0,0,381,382,7,6,0,0,382,383,7,7,0,0, - 383,384,7,18,0,0,384,385,1,0,0,0,385,386,6,6,0,0,386,25,1,0,0,0,387,388, - 7,1,0,0,388,389,7,9,0,0,389,390,7,13,0,0,390,391,7,1,0,0,391,392,7,9,0, - 0,392,393,7,3,0,0,393,394,7,2,0,0,394,395,7,5,0,0,395,396,7,12,0,0,396, - 397,7,5,0,0,397,398,7,2,0,0,398,399,1,0,0,0,399,400,6,7,0,0,400,27,1,0, - 0,0,401,402,7,18,0,0,402,403,7,3,0,0,403,404,7,3,0,0,404,405,7,8,0,0,405, - 406,1,0,0,0,406,407,6,8,1,0,407,29,1,0,0,0,408,409,7,13,0,0,409,410,7,1, - 0,0,410,411,7,16,0,0,411,412,7,1,0,0,412,413,7,5,0,0,413,414,1,0,0,0,414, - 415,6,9,0,0,415,31,1,0,0,0,416,417,7,16,0,0,417,418,7,3,0,0,418,419,7,5, - 0,0,419,420,7,12,0,0,420,421,1,0,0,0,421,422,6,10,5,0,422,33,1,0,0,0,423, - 424,7,16,0,0,424,425,7,11,0,0,425,426,5,95,0,0,426,427,7,3,0,0,427,428, - 7,14,0,0,428,429,7,8,0,0,429,430,7,12,0,0,430,431,7,9,0,0,431,432,7,0,0, - 0,432,433,1,0,0,0,433,434,6,11,6,0,434,35,1,0,0,0,435,436,7,6,0,0,436,437, - 7,3,0,0,437,438,7,9,0,0,438,439,7,12,0,0,439,440,7,16,0,0,440,441,7,3,0, - 0,441,442,1,0,0,0,442,443,6,12,7,0,443,37,1,0,0,0,444,445,7,6,0,0,445,446, - 7,7,0,0,446,447,7,19,0,0,447,448,1,0,0,0,448,449,6,13,0,0,449,39,1,0,0, - 0,450,451,7,2,0,0,451,452,7,10,0,0,452,453,7,7,0,0,453,454,7,19,0,0,454, - 455,1,0,0,0,455,456,6,14,8,0,456,41,1,0,0,0,457,458,7,2,0,0,458,459,7,7, - 0,0,459,460,7,6,0,0,460,461,7,5,0,0,461,462,1,0,0,0,462,463,6,15,0,0,463, - 43,1,0,0,0,464,465,7,2,0,0,465,466,7,5,0,0,466,467,7,12,0,0,467,468,7,5, - 0,0,468,469,7,2,0,0,469,470,1,0,0,0,470,471,6,16,0,0,471,45,1,0,0,0,472, - 473,7,19,0,0,473,474,7,10,0,0,474,475,7,3,0,0,475,476,7,6,0,0,476,477,7, - 3,0,0,477,478,1,0,0,0,478,479,6,17,0,0,479,47,1,0,0,0,480,482,8,20,0,0, - 481,480,1,0,0,0,482,483,1,0,0,0,483,481,1,0,0,0,483,484,1,0,0,0,484,485, - 1,0,0,0,485,486,6,18,0,0,486,49,1,0,0,0,487,488,5,47,0,0,488,489,5,47,0, - 0,489,493,1,0,0,0,490,492,8,21,0,0,491,490,1,0,0,0,492,495,1,0,0,0,493, - 491,1,0,0,0,493,494,1,0,0,0,494,497,1,0,0,0,495,493,1,0,0,0,496,498,5,13, - 0,0,497,496,1,0,0,0,497,498,1,0,0,0,498,500,1,0,0,0,499,501,5,10,0,0,500, - 499,1,0,0,0,500,501,1,0,0,0,501,502,1,0,0,0,502,503,6,19,9,0,503,51,1,0, - 0,0,504,505,5,47,0,0,505,506,5,42,0,0,506,511,1,0,0,0,507,510,3,52,20,0, - 508,510,9,0,0,0,509,507,1,0,0,0,509,508,1,0,0,0,510,513,1,0,0,0,511,512, - 1,0,0,0,511,509,1,0,0,0,512,514,1,0,0,0,513,511,1,0,0,0,514,515,5,42,0, - 0,515,516,5,47,0,0,516,517,1,0,0,0,517,518,6,20,9,0,518,53,1,0,0,0,519, - 521,7,22,0,0,520,519,1,0,0,0,521,522,1,0,0,0,522,520,1,0,0,0,522,523,1, - 0,0,0,523,524,1,0,0,0,524,525,6,21,9,0,525,55,1,0,0,0,526,527,3,162,75, - 0,527,528,1,0,0,0,528,529,6,22,10,0,529,530,6,22,11,0,530,57,1,0,0,0,531, - 532,3,66,27,0,532,533,1,0,0,0,533,534,6,23,12,0,534,535,6,23,13,0,535,59, - 1,0,0,0,536,537,3,54,21,0,537,538,1,0,0,0,538,539,6,24,9,0,539,61,1,0,0, - 0,540,541,3,50,19,0,541,542,1,0,0,0,542,543,6,25,9,0,543,63,1,0,0,0,544, - 545,3,52,20,0,545,546,1,0,0,0,546,547,6,26,9,0,547,65,1,0,0,0,548,549,5, - 124,0,0,549,550,1,0,0,0,550,551,6,27,13,0,551,67,1,0,0,0,552,553,7,23,0, - 0,553,69,1,0,0,0,554,555,7,24,0,0,555,71,1,0,0,0,556,557,5,92,0,0,557,558, - 7,25,0,0,558,73,1,0,0,0,559,560,8,26,0,0,560,75,1,0,0,0,561,563,7,3,0,0, - 562,564,7,27,0,0,563,562,1,0,0,0,563,564,1,0,0,0,564,566,1,0,0,0,565,567, - 3,68,28,0,566,565,1,0,0,0,567,568,1,0,0,0,568,566,1,0,0,0,568,569,1,0,0, - 0,569,77,1,0,0,0,570,571,5,64,0,0,571,79,1,0,0,0,572,573,5,96,0,0,573,81, - 1,0,0,0,574,578,8,28,0,0,575,576,5,96,0,0,576,578,5,96,0,0,577,574,1,0, - 0,0,577,575,1,0,0,0,578,83,1,0,0,0,579,580,5,95,0,0,580,85,1,0,0,0,581, - 585,3,70,29,0,582,585,3,68,28,0,583,585,3,84,36,0,584,581,1,0,0,0,584,582, - 1,0,0,0,584,583,1,0,0,0,585,87,1,0,0,0,586,591,5,34,0,0,587,590,3,72,30, - 0,588,590,3,74,31,0,589,587,1,0,0,0,589,588,1,0,0,0,590,593,1,0,0,0,591, - 589,1,0,0,0,591,592,1,0,0,0,592,594,1,0,0,0,593,591,1,0,0,0,594,616,5,34, - 0,0,595,596,5,34,0,0,596,597,5,34,0,0,597,598,5,34,0,0,598,602,1,0,0,0, - 599,601,8,21,0,0,600,599,1,0,0,0,601,604,1,0,0,0,602,603,1,0,0,0,602,600, - 1,0,0,0,603,605,1,0,0,0,604,602,1,0,0,0,605,606,5,34,0,0,606,607,5,34,0, - 0,607,608,5,34,0,0,608,610,1,0,0,0,609,611,5,34,0,0,610,609,1,0,0,0,610, - 611,1,0,0,0,611,613,1,0,0,0,612,614,5,34,0,0,613,612,1,0,0,0,613,614,1, - 0,0,0,614,616,1,0,0,0,615,586,1,0,0,0,615,595,1,0,0,0,616,89,1,0,0,0,617, - 619,3,68,28,0,618,617,1,0,0,0,619,620,1,0,0,0,620,618,1,0,0,0,620,621,1, - 0,0,0,621,91,1,0,0,0,622,624,3,68,28,0,623,622,1,0,0,0,624,625,1,0,0,0, - 625,623,1,0,0,0,625,626,1,0,0,0,626,627,1,0,0,0,627,631,3,106,47,0,628, - 630,3,68,28,0,629,628,1,0,0,0,630,633,1,0,0,0,631,629,1,0,0,0,631,632,1, - 0,0,0,632,665,1,0,0,0,633,631,1,0,0,0,634,636,3,106,47,0,635,637,3,68,28, - 0,636,635,1,0,0,0,637,638,1,0,0,0,638,636,1,0,0,0,638,639,1,0,0,0,639,665, - 1,0,0,0,640,642,3,68,28,0,641,640,1,0,0,0,642,643,1,0,0,0,643,641,1,0,0, - 0,643,644,1,0,0,0,644,652,1,0,0,0,645,649,3,106,47,0,646,648,3,68,28,0, - 647,646,1,0,0,0,648,651,1,0,0,0,649,647,1,0,0,0,649,650,1,0,0,0,650,653, - 1,0,0,0,651,649,1,0,0,0,652,645,1,0,0,0,652,653,1,0,0,0,653,654,1,0,0,0, - 654,655,3,76,32,0,655,665,1,0,0,0,656,658,3,106,47,0,657,659,3,68,28,0, - 658,657,1,0,0,0,659,660,1,0,0,0,660,658,1,0,0,0,660,661,1,0,0,0,661,662, - 1,0,0,0,662,663,3,76,32,0,663,665,1,0,0,0,664,623,1,0,0,0,664,634,1,0,0, - 0,664,641,1,0,0,0,664,656,1,0,0,0,665,93,1,0,0,0,666,667,7,29,0,0,667,668, - 7,30,0,0,668,95,1,0,0,0,669,670,7,12,0,0,670,671,7,9,0,0,671,672,7,0,0, - 0,672,97,1,0,0,0,673,674,7,12,0,0,674,675,7,2,0,0,675,676,7,4,0,0,676,99, - 1,0,0,0,677,678,5,61,0,0,678,101,1,0,0,0,679,680,5,44,0,0,680,103,1,0,0, - 0,681,682,7,0,0,0,682,683,7,3,0,0,683,684,7,2,0,0,684,685,7,4,0,0,685,105, - 1,0,0,0,686,687,5,46,0,0,687,107,1,0,0,0,688,689,7,15,0,0,689,690,7,12, - 0,0,690,691,7,13,0,0,691,692,7,2,0,0,692,693,7,3,0,0,693,109,1,0,0,0,694, - 695,7,15,0,0,695,696,7,1,0,0,696,697,7,6,0,0,697,698,7,2,0,0,698,699,7, - 5,0,0,699,111,1,0,0,0,700,701,7,13,0,0,701,702,7,12,0,0,702,703,7,2,0,0, - 703,704,7,5,0,0,704,113,1,0,0,0,705,706,5,40,0,0,706,115,1,0,0,0,707,708, - 7,1,0,0,708,709,7,9,0,0,709,117,1,0,0,0,710,711,7,1,0,0,711,712,7,2,0,0, - 712,119,1,0,0,0,713,714,7,13,0,0,714,715,7,1,0,0,715,716,7,18,0,0,716,717, - 7,3,0,0,717,121,1,0,0,0,718,719,7,9,0,0,719,720,7,7,0,0,720,721,7,5,0,0, - 721,123,1,0,0,0,722,723,7,9,0,0,723,724,7,31,0,0,724,725,7,13,0,0,725,726, - 7,13,0,0,726,125,1,0,0,0,727,728,7,9,0,0,728,729,7,31,0,0,729,730,7,13, - 0,0,730,731,7,13,0,0,731,732,7,2,0,0,732,127,1,0,0,0,733,734,7,7,0,0,734, - 735,7,6,0,0,735,129,1,0,0,0,736,737,5,63,0,0,737,131,1,0,0,0,738,739,7, - 6,0,0,739,740,7,13,0,0,740,741,7,1,0,0,741,742,7,18,0,0,742,743,7,3,0,0, - 743,133,1,0,0,0,744,745,5,41,0,0,745,135,1,0,0,0,746,747,7,5,0,0,747,748, - 7,6,0,0,748,749,7,31,0,0,749,750,7,3,0,0,750,137,1,0,0,0,751,752,5,61,0, - 0,752,753,5,61,0,0,753,139,1,0,0,0,754,755,5,61,0,0,755,756,5,126,0,0,756, - 141,1,0,0,0,757,758,5,33,0,0,758,759,5,61,0,0,759,143,1,0,0,0,760,761,5, - 60,0,0,761,145,1,0,0,0,762,763,5,60,0,0,763,764,5,61,0,0,764,147,1,0,0, - 0,765,766,5,62,0,0,766,149,1,0,0,0,767,768,5,62,0,0,768,769,5,61,0,0,769, - 151,1,0,0,0,770,771,5,43,0,0,771,153,1,0,0,0,772,773,5,45,0,0,773,155,1, - 0,0,0,774,775,5,42,0,0,775,157,1,0,0,0,776,777,5,47,0,0,777,159,1,0,0,0, - 778,779,5,37,0,0,779,161,1,0,0,0,780,781,5,91,0,0,781,782,1,0,0,0,782,783, - 6,75,0,0,783,784,6,75,0,0,784,163,1,0,0,0,785,786,5,93,0,0,786,787,1,0, - 0,0,787,788,6,76,13,0,788,789,6,76,13,0,789,165,1,0,0,0,790,794,3,70,29, - 0,791,793,3,86,37,0,792,791,1,0,0,0,793,796,1,0,0,0,794,792,1,0,0,0,794, - 795,1,0,0,0,795,807,1,0,0,0,796,794,1,0,0,0,797,800,3,84,36,0,798,800,3, - 78,33,0,799,797,1,0,0,0,799,798,1,0,0,0,800,802,1,0,0,0,801,803,3,86,37, - 0,802,801,1,0,0,0,803,804,1,0,0,0,804,802,1,0,0,0,804,805,1,0,0,0,805,807, - 1,0,0,0,806,790,1,0,0,0,806,799,1,0,0,0,807,167,1,0,0,0,808,810,3,80,34, - 0,809,811,3,82,35,0,810,809,1,0,0,0,811,812,1,0,0,0,812,810,1,0,0,0,812, - 813,1,0,0,0,813,814,1,0,0,0,814,815,3,80,34,0,815,169,1,0,0,0,816,817,3, - 168,78,0,817,171,1,0,0,0,818,819,3,50,19,0,819,820,1,0,0,0,820,821,6,80, - 9,0,821,173,1,0,0,0,822,823,3,52,20,0,823,824,1,0,0,0,824,825,6,81,9,0, - 825,175,1,0,0,0,826,827,3,54,21,0,827,828,1,0,0,0,828,829,6,82,9,0,829, - 177,1,0,0,0,830,831,3,66,27,0,831,832,1,0,0,0,832,833,6,83,12,0,833,834, - 6,83,13,0,834,179,1,0,0,0,835,836,3,162,75,0,836,837,1,0,0,0,837,838,6, - 84,10,0,838,181,1,0,0,0,839,840,3,164,76,0,840,841,1,0,0,0,841,842,6,85, - 14,0,842,183,1,0,0,0,843,844,3,102,45,0,844,845,1,0,0,0,845,846,6,86,15, - 0,846,185,1,0,0,0,847,848,3,100,44,0,848,849,1,0,0,0,849,850,6,87,16,0, - 850,187,1,0,0,0,851,852,3,88,38,0,852,853,1,0,0,0,853,854,6,88,17,0,854, - 189,1,0,0,0,855,856,7,7,0,0,856,857,7,8,0,0,857,858,7,5,0,0,858,859,7,1, - 0,0,859,860,7,7,0,0,860,861,7,9,0,0,861,862,7,2,0,0,862,191,1,0,0,0,863, - 864,7,16,0,0,864,865,7,3,0,0,865,866,7,5,0,0,866,867,7,12,0,0,867,868,7, - 0,0,0,868,869,7,12,0,0,869,870,7,5,0,0,870,871,7,12,0,0,871,193,1,0,0,0, - 872,876,8,32,0,0,873,874,5,47,0,0,874,876,8,33,0,0,875,872,1,0,0,0,875, - 873,1,0,0,0,876,195,1,0,0,0,877,879,3,194,91,0,878,877,1,0,0,0,879,880, - 1,0,0,0,880,878,1,0,0,0,880,881,1,0,0,0,881,197,1,0,0,0,882,883,3,170,79, - 0,883,884,1,0,0,0,884,885,6,93,18,0,885,199,1,0,0,0,886,887,3,50,19,0,887, - 888,1,0,0,0,888,889,6,94,9,0,889,201,1,0,0,0,890,891,3,52,20,0,891,892, - 1,0,0,0,892,893,6,95,9,0,893,203,1,0,0,0,894,895,3,54,21,0,895,896,1,0, - 0,0,896,897,6,96,9,0,897,205,1,0,0,0,898,899,3,66,27,0,899,900,1,0,0,0, - 900,901,6,97,12,0,901,902,6,97,13,0,902,207,1,0,0,0,903,904,3,106,47,0, - 904,905,1,0,0,0,905,906,6,98,19,0,906,209,1,0,0,0,907,908,3,102,45,0,908, - 909,1,0,0,0,909,910,6,99,15,0,910,211,1,0,0,0,911,916,3,70,29,0,912,916, - 3,68,28,0,913,916,3,84,36,0,914,916,3,156,72,0,915,911,1,0,0,0,915,912, - 1,0,0,0,915,913,1,0,0,0,915,914,1,0,0,0,916,213,1,0,0,0,917,920,3,70,29, - 0,918,920,3,156,72,0,919,917,1,0,0,0,919,918,1,0,0,0,920,924,1,0,0,0,921, - 923,3,212,100,0,922,921,1,0,0,0,923,926,1,0,0,0,924,922,1,0,0,0,924,925, - 1,0,0,0,925,937,1,0,0,0,926,924,1,0,0,0,927,930,3,84,36,0,928,930,3,78, - 33,0,929,927,1,0,0,0,929,928,1,0,0,0,930,932,1,0,0,0,931,933,3,212,100, - 0,932,931,1,0,0,0,933,934,1,0,0,0,934,932,1,0,0,0,934,935,1,0,0,0,935,937, - 1,0,0,0,936,919,1,0,0,0,936,929,1,0,0,0,937,215,1,0,0,0,938,941,3,214,101, - 0,939,941,3,168,78,0,940,938,1,0,0,0,940,939,1,0,0,0,941,942,1,0,0,0,942, - 940,1,0,0,0,942,943,1,0,0,0,943,217,1,0,0,0,944,945,3,50,19,0,945,946,1, - 0,0,0,946,947,6,103,9,0,947,219,1,0,0,0,948,949,3,52,20,0,949,950,1,0,0, - 0,950,951,6,104,9,0,951,221,1,0,0,0,952,953,3,54,21,0,953,954,1,0,0,0,954, - 955,6,105,9,0,955,223,1,0,0,0,956,957,3,66,27,0,957,958,1,0,0,0,958,959, - 6,106,12,0,959,960,6,106,13,0,960,225,1,0,0,0,961,962,3,100,44,0,962,963, - 1,0,0,0,963,964,6,107,16,0,964,227,1,0,0,0,965,966,3,102,45,0,966,967,1, - 0,0,0,967,968,6,108,15,0,968,229,1,0,0,0,969,970,3,106,47,0,970,971,1,0, - 0,0,971,972,6,109,19,0,972,231,1,0,0,0,973,974,7,12,0,0,974,975,7,2,0,0, - 975,233,1,0,0,0,976,977,3,216,102,0,977,978,1,0,0,0,978,979,6,111,20,0, - 979,235,1,0,0,0,980,981,3,50,19,0,981,982,1,0,0,0,982,983,6,112,9,0,983, - 237,1,0,0,0,984,985,3,52,20,0,985,986,1,0,0,0,986,987,6,113,9,0,987,239, - 1,0,0,0,988,989,3,54,21,0,989,990,1,0,0,0,990,991,6,114,9,0,991,241,1,0, - 0,0,992,993,3,66,27,0,993,994,1,0,0,0,994,995,6,115,12,0,995,996,6,115, - 13,0,996,243,1,0,0,0,997,998,3,162,75,0,998,999,1,0,0,0,999,1000,6,116, - 10,0,1000,1001,6,116,21,0,1001,245,1,0,0,0,1002,1003,7,7,0,0,1003,1004, - 7,9,0,0,1004,1005,1,0,0,0,1005,1006,6,117,22,0,1006,247,1,0,0,0,1007,1008, - 7,19,0,0,1008,1009,7,1,0,0,1009,1010,7,5,0,0,1010,1011,7,10,0,0,1011,1012, - 1,0,0,0,1012,1013,6,118,22,0,1013,249,1,0,0,0,1014,1015,8,34,0,0,1015,251, - 1,0,0,0,1016,1018,3,250,119,0,1017,1016,1,0,0,0,1018,1019,1,0,0,0,1019, - 1017,1,0,0,0,1019,1020,1,0,0,0,1020,1021,1,0,0,0,1021,1022,3,320,154,0, - 1022,1024,1,0,0,0,1023,1017,1,0,0,0,1023,1024,1,0,0,0,1024,1026,1,0,0,0, - 1025,1027,3,250,119,0,1026,1025,1,0,0,0,1027,1028,1,0,0,0,1028,1026,1,0, - 0,0,1028,1029,1,0,0,0,1029,253,1,0,0,0,1030,1031,3,170,79,0,1031,1032,1, - 0,0,0,1032,1033,6,121,18,0,1033,255,1,0,0,0,1034,1035,3,252,120,0,1035, - 1036,1,0,0,0,1036,1037,6,122,23,0,1037,257,1,0,0,0,1038,1039,3,50,19,0, - 1039,1040,1,0,0,0,1040,1041,6,123,9,0,1041,259,1,0,0,0,1042,1043,3,52,20, - 0,1043,1044,1,0,0,0,1044,1045,6,124,9,0,1045,261,1,0,0,0,1046,1047,3,54, - 21,0,1047,1048,1,0,0,0,1048,1049,6,125,9,0,1049,263,1,0,0,0,1050,1051,3, - 66,27,0,1051,1052,1,0,0,0,1052,1053,6,126,12,0,1053,1054,6,126,13,0,1054, - 1055,6,126,13,0,1055,265,1,0,0,0,1056,1057,3,100,44,0,1057,1058,1,0,0,0, - 1058,1059,6,127,16,0,1059,267,1,0,0,0,1060,1061,3,102,45,0,1061,1062,1, - 0,0,0,1062,1063,6,128,15,0,1063,269,1,0,0,0,1064,1065,3,106,47,0,1065,1066, - 1,0,0,0,1066,1067,6,129,19,0,1067,271,1,0,0,0,1068,1069,3,248,118,0,1069, - 1070,1,0,0,0,1070,1071,6,130,24,0,1071,273,1,0,0,0,1072,1073,3,216,102, - 0,1073,1074,1,0,0,0,1074,1075,6,131,20,0,1075,275,1,0,0,0,1076,1077,3,170, - 79,0,1077,1078,1,0,0,0,1078,1079,6,132,18,0,1079,277,1,0,0,0,1080,1081, - 3,50,19,0,1081,1082,1,0,0,0,1082,1083,6,133,9,0,1083,279,1,0,0,0,1084,1085, - 3,52,20,0,1085,1086,1,0,0,0,1086,1087,6,134,9,0,1087,281,1,0,0,0,1088,1089, - 3,54,21,0,1089,1090,1,0,0,0,1090,1091,6,135,9,0,1091,283,1,0,0,0,1092,1093, - 3,66,27,0,1093,1094,1,0,0,0,1094,1095,6,136,12,0,1095,1096,6,136,13,0,1096, - 285,1,0,0,0,1097,1098,3,106,47,0,1098,1099,1,0,0,0,1099,1100,6,137,19,0, - 1100,287,1,0,0,0,1101,1102,3,170,79,0,1102,1103,1,0,0,0,1103,1104,6,138, - 18,0,1104,289,1,0,0,0,1105,1106,3,166,77,0,1106,1107,1,0,0,0,1107,1108, - 6,139,25,0,1108,291,1,0,0,0,1109,1110,3,50,19,0,1110,1111,1,0,0,0,1111, - 1112,6,140,9,0,1112,293,1,0,0,0,1113,1114,3,52,20,0,1114,1115,1,0,0,0,1115, - 1116,6,141,9,0,1116,295,1,0,0,0,1117,1118,3,54,21,0,1118,1119,1,0,0,0,1119, - 1120,6,142,9,0,1120,297,1,0,0,0,1121,1122,3,66,27,0,1122,1123,1,0,0,0,1123, - 1124,6,143,12,0,1124,1125,6,143,13,0,1125,299,1,0,0,0,1126,1127,7,1,0,0, - 1127,1128,7,9,0,0,1128,1129,7,15,0,0,1129,1130,7,7,0,0,1130,301,1,0,0,0, - 1131,1132,3,50,19,0,1132,1133,1,0,0,0,1133,1134,6,145,9,0,1134,303,1,0, - 0,0,1135,1136,3,52,20,0,1136,1137,1,0,0,0,1137,1138,6,146,9,0,1138,305, - 1,0,0,0,1139,1140,3,54,21,0,1140,1141,1,0,0,0,1141,1142,6,147,9,0,1142, - 307,1,0,0,0,1143,1144,3,66,27,0,1144,1145,1,0,0,0,1145,1146,6,148,12,0, - 1146,1147,6,148,13,0,1147,309,1,0,0,0,1148,1149,7,15,0,0,1149,1150,7,31, - 0,0,1150,1151,7,9,0,0,1151,1152,7,4,0,0,1152,1153,7,5,0,0,1153,1154,7,1, - 0,0,1154,1155,7,7,0,0,1155,1156,7,9,0,0,1156,1157,7,2,0,0,1157,311,1,0, - 0,0,1158,1159,3,50,19,0,1159,1160,1,0,0,0,1160,1161,6,150,9,0,1161,313, - 1,0,0,0,1162,1163,3,52,20,0,1163,1164,1,0,0,0,1164,1165,6,151,9,0,1165, - 315,1,0,0,0,1166,1167,3,54,21,0,1167,1168,1,0,0,0,1168,1169,6,152,9,0,1169, - 317,1,0,0,0,1170,1171,3,164,76,0,1171,1172,1,0,0,0,1172,1173,6,153,14,0, - 1173,1174,6,153,13,0,1174,319,1,0,0,0,1175,1176,5,58,0,0,1176,321,1,0,0, - 0,1177,1183,3,78,33,0,1178,1183,3,68,28,0,1179,1183,3,106,47,0,1180,1183, - 3,70,29,0,1181,1183,3,84,36,0,1182,1177,1,0,0,0,1182,1178,1,0,0,0,1182, - 1179,1,0,0,0,1182,1180,1,0,0,0,1182,1181,1,0,0,0,1183,1184,1,0,0,0,1184, - 1182,1,0,0,0,1184,1185,1,0,0,0,1185,323,1,0,0,0,1186,1187,3,50,19,0,1187, - 1188,1,0,0,0,1188,1189,6,156,9,0,1189,325,1,0,0,0,1190,1191,3,52,20,0,1191, - 1192,1,0,0,0,1192,1193,6,157,9,0,1193,327,1,0,0,0,1194,1195,3,54,21,0,1195, - 1196,1,0,0,0,1196,1197,6,158,9,0,1197,329,1,0,0,0,58,0,1,2,3,4,5,6,7,8, - 9,10,11,483,493,497,500,509,511,522,563,568,577,584,589,591,602,610,613, - 615,620,625,631,638,643,649,652,660,664,794,799,804,806,812,875,880,915, - 919,924,929,934,936,940,942,1019,1023,1028,1182,1184,26,5,2,0,5,4,0,5,6, - 0,5,1,0,5,3,0,5,10,0,5,8,0,5,5,0,5,9,0,0,1,0,7,64,0,5,0,0,7,26,0,4,0,0, - 7,65,0,7,34,0,7,33,0,7,27,0,7,67,0,7,36,0,7,77,0,5,11,0,5,7,0,7,87,0,7, - 86,0,7,66,0]; + 1,153,1,153,1,153,1,153,1,154,1,154,1,154,1,154,1,154,1,155,1,155,1,156, + 1,156,1,156,1,156,1,156,4,156,1188,8,156,11,156,12,156,1189,1,157,1,157, + 1,157,1,157,1,158,1,158,1,158,1,158,1,159,1,159,1,159,1,159,2,513,604,0, + 160,12,1,14,2,16,3,18,4,20,5,22,6,24,7,26,8,28,9,30,10,32,11,34,12,36,13, + 38,14,40,15,42,16,44,17,46,18,48,19,50,20,52,21,54,22,56,0,58,0,60,23,62, + 24,64,25,66,26,68,0,70,0,72,0,74,0,76,0,78,0,80,0,82,0,84,0,86,0,88,27, + 90,28,92,29,94,30,96,31,98,32,100,33,102,34,104,35,106,36,108,37,110,38, + 112,39,114,40,116,41,118,42,120,43,122,44,124,45,126,46,128,47,130,48,132, + 49,134,50,136,51,138,52,140,53,142,54,144,55,146,56,148,57,150,58,152,59, + 154,60,156,61,158,62,160,63,162,64,164,65,166,66,168,67,170,0,172,68,174, + 69,176,70,178,71,180,0,182,0,184,0,186,0,188,0,190,0,192,72,194,73,196, + 0,198,74,200,0,202,75,204,76,206,77,208,0,210,0,212,0,214,0,216,0,218,78, + 220,79,222,80,224,81,226,0,228,0,230,0,232,0,234,82,236,0,238,83,240,84, + 242,85,244,0,246,0,248,86,250,87,252,0,254,88,256,0,258,0,260,89,262,90, + 264,91,266,0,268,0,270,0,272,0,274,0,276,0,278,0,280,92,282,93,284,94,286, + 0,288,0,290,0,292,0,294,95,296,96,298,97,300,0,302,98,304,99,306,100,308, + 101,310,0,312,102,314,103,316,104,318,105,320,0,322,106,324,107,326,108, + 328,109,330,110,12,0,1,2,3,4,5,6,7,8,9,10,11,35,2,0,68,68,100,100,2,0,73, + 73,105,105,2,0,83,83,115,115,2,0,69,69,101,101,2,0,67,67,99,99,2,0,84,84, + 116,116,2,0,82,82,114,114,2,0,79,79,111,111,2,0,80,80,112,112,2,0,78,78, + 110,110,2,0,72,72,104,104,2,0,86,86,118,118,2,0,65,65,97,97,2,0,76,76,108, + 108,2,0,88,88,120,120,2,0,70,70,102,102,2,0,77,77,109,109,2,0,71,71,103, + 103,2,0,75,75,107,107,2,0,87,87,119,119,6,0,9,10,13,13,32,32,47,47,91,91, + 93,93,2,0,10,10,13,13,3,0,9,10,13,13,32,32,1,0,48,57,2,0,65,90,97,122,8, + 0,34,34,78,78,82,82,84,84,92,92,110,110,114,114,116,116,4,0,10,10,13,13, + 34,34,92,92,2,0,43,43,45,45,1,0,96,96,2,0,66,66,98,98,2,0,89,89,121,121, + 2,0,85,85,117,117,10,0,9,10,13,13,32,32,44,44,47,47,61,61,91,91,93,93,96, + 96,124,124,2,0,42,42,47,47,11,0,9,10,13,13,32,32,34,35,44,44,47,47,58,58, + 60,60,62,63,92,92,124,124,1230,0,12,1,0,0,0,0,14,1,0,0,0,0,16,1,0,0,0,0, + 18,1,0,0,0,0,20,1,0,0,0,0,22,1,0,0,0,0,24,1,0,0,0,0,26,1,0,0,0,0,28,1,0, + 0,0,0,30,1,0,0,0,0,32,1,0,0,0,0,34,1,0,0,0,0,36,1,0,0,0,0,38,1,0,0,0,0, + 40,1,0,0,0,0,42,1,0,0,0,0,44,1,0,0,0,0,46,1,0,0,0,0,48,1,0,0,0,0,50,1,0, + 0,0,0,52,1,0,0,0,0,54,1,0,0,0,1,56,1,0,0,0,1,58,1,0,0,0,1,60,1,0,0,0,1, + 62,1,0,0,0,1,64,1,0,0,0,2,66,1,0,0,0,2,88,1,0,0,0,2,90,1,0,0,0,2,92,1,0, + 0,0,2,94,1,0,0,0,2,96,1,0,0,0,2,98,1,0,0,0,2,100,1,0,0,0,2,102,1,0,0,0, + 2,104,1,0,0,0,2,106,1,0,0,0,2,108,1,0,0,0,2,110,1,0,0,0,2,112,1,0,0,0,2, + 114,1,0,0,0,2,116,1,0,0,0,2,118,1,0,0,0,2,120,1,0,0,0,2,122,1,0,0,0,2,124, + 1,0,0,0,2,126,1,0,0,0,2,128,1,0,0,0,2,130,1,0,0,0,2,132,1,0,0,0,2,134,1, + 0,0,0,2,136,1,0,0,0,2,138,1,0,0,0,2,140,1,0,0,0,2,142,1,0,0,0,2,144,1,0, + 0,0,2,146,1,0,0,0,2,148,1,0,0,0,2,150,1,0,0,0,2,152,1,0,0,0,2,154,1,0,0, + 0,2,156,1,0,0,0,2,158,1,0,0,0,2,160,1,0,0,0,2,162,1,0,0,0,2,164,1,0,0,0, + 2,166,1,0,0,0,2,168,1,0,0,0,2,172,1,0,0,0,2,174,1,0,0,0,2,176,1,0,0,0,2, + 178,1,0,0,0,3,180,1,0,0,0,3,182,1,0,0,0,3,184,1,0,0,0,3,186,1,0,0,0,3,188, + 1,0,0,0,3,190,1,0,0,0,3,192,1,0,0,0,3,194,1,0,0,0,3,198,1,0,0,0,3,200,1, + 0,0,0,3,202,1,0,0,0,3,204,1,0,0,0,3,206,1,0,0,0,4,208,1,0,0,0,4,210,1,0, + 0,0,4,212,1,0,0,0,4,218,1,0,0,0,4,220,1,0,0,0,4,222,1,0,0,0,4,224,1,0,0, + 0,5,226,1,0,0,0,5,228,1,0,0,0,5,230,1,0,0,0,5,232,1,0,0,0,5,234,1,0,0,0, + 5,236,1,0,0,0,5,238,1,0,0,0,5,240,1,0,0,0,5,242,1,0,0,0,6,244,1,0,0,0,6, + 246,1,0,0,0,6,248,1,0,0,0,6,250,1,0,0,0,6,254,1,0,0,0,6,256,1,0,0,0,6,258, + 1,0,0,0,6,260,1,0,0,0,6,262,1,0,0,0,6,264,1,0,0,0,7,266,1,0,0,0,7,268,1, + 0,0,0,7,270,1,0,0,0,7,272,1,0,0,0,7,274,1,0,0,0,7,276,1,0,0,0,7,278,1,0, + 0,0,7,280,1,0,0,0,7,282,1,0,0,0,7,284,1,0,0,0,8,286,1,0,0,0,8,288,1,0,0, + 0,8,290,1,0,0,0,8,292,1,0,0,0,8,294,1,0,0,0,8,296,1,0,0,0,8,298,1,0,0,0, + 9,300,1,0,0,0,9,302,1,0,0,0,9,304,1,0,0,0,9,306,1,0,0,0,9,308,1,0,0,0,10, + 310,1,0,0,0,10,312,1,0,0,0,10,314,1,0,0,0,10,316,1,0,0,0,10,318,1,0,0,0, + 11,320,1,0,0,0,11,322,1,0,0,0,11,324,1,0,0,0,11,326,1,0,0,0,11,328,1,0, + 0,0,11,330,1,0,0,0,12,332,1,0,0,0,14,342,1,0,0,0,16,349,1,0,0,0,18,358, + 1,0,0,0,20,365,1,0,0,0,22,375,1,0,0,0,24,382,1,0,0,0,26,389,1,0,0,0,28, + 403,1,0,0,0,30,410,1,0,0,0,32,418,1,0,0,0,34,425,1,0,0,0,36,437,1,0,0,0, + 38,446,1,0,0,0,40,452,1,0,0,0,42,459,1,0,0,0,44,466,1,0,0,0,46,474,1,0, + 0,0,48,483,1,0,0,0,50,489,1,0,0,0,52,506,1,0,0,0,54,522,1,0,0,0,56,528, + 1,0,0,0,58,533,1,0,0,0,60,538,1,0,0,0,62,542,1,0,0,0,64,546,1,0,0,0,66, + 550,1,0,0,0,68,554,1,0,0,0,70,556,1,0,0,0,72,558,1,0,0,0,74,561,1,0,0,0, + 76,563,1,0,0,0,78,572,1,0,0,0,80,574,1,0,0,0,82,579,1,0,0,0,84,581,1,0, + 0,0,86,586,1,0,0,0,88,617,1,0,0,0,90,620,1,0,0,0,92,666,1,0,0,0,94,668, + 1,0,0,0,96,671,1,0,0,0,98,675,1,0,0,0,100,679,1,0,0,0,102,681,1,0,0,0,104, + 684,1,0,0,0,106,686,1,0,0,0,108,691,1,0,0,0,110,693,1,0,0,0,112,699,1,0, + 0,0,114,705,1,0,0,0,116,710,1,0,0,0,118,712,1,0,0,0,120,715,1,0,0,0,122, + 718,1,0,0,0,124,723,1,0,0,0,126,727,1,0,0,0,128,732,1,0,0,0,130,738,1,0, + 0,0,132,741,1,0,0,0,134,743,1,0,0,0,136,749,1,0,0,0,138,751,1,0,0,0,140, + 756,1,0,0,0,142,759,1,0,0,0,144,762,1,0,0,0,146,765,1,0,0,0,148,767,1,0, + 0,0,150,770,1,0,0,0,152,772,1,0,0,0,154,775,1,0,0,0,156,777,1,0,0,0,158, + 779,1,0,0,0,160,781,1,0,0,0,162,783,1,0,0,0,164,785,1,0,0,0,166,790,1,0, + 0,0,168,811,1,0,0,0,170,813,1,0,0,0,172,821,1,0,0,0,174,823,1,0,0,0,176, + 827,1,0,0,0,178,831,1,0,0,0,180,835,1,0,0,0,182,840,1,0,0,0,184,844,1,0, + 0,0,186,848,1,0,0,0,188,852,1,0,0,0,190,856,1,0,0,0,192,860,1,0,0,0,194, + 868,1,0,0,0,196,880,1,0,0,0,198,883,1,0,0,0,200,887,1,0,0,0,202,891,1,0, + 0,0,204,895,1,0,0,0,206,899,1,0,0,0,208,903,1,0,0,0,210,908,1,0,0,0,212, + 912,1,0,0,0,214,920,1,0,0,0,216,941,1,0,0,0,218,945,1,0,0,0,220,949,1,0, + 0,0,222,953,1,0,0,0,224,957,1,0,0,0,226,961,1,0,0,0,228,966,1,0,0,0,230, + 970,1,0,0,0,232,974,1,0,0,0,234,978,1,0,0,0,236,981,1,0,0,0,238,985,1,0, + 0,0,240,989,1,0,0,0,242,993,1,0,0,0,244,997,1,0,0,0,246,1002,1,0,0,0,248, + 1007,1,0,0,0,250,1012,1,0,0,0,252,1019,1,0,0,0,254,1028,1,0,0,0,256,1035, + 1,0,0,0,258,1039,1,0,0,0,260,1043,1,0,0,0,262,1047,1,0,0,0,264,1051,1,0, + 0,0,266,1055,1,0,0,0,268,1061,1,0,0,0,270,1065,1,0,0,0,272,1069,1,0,0,0, + 274,1073,1,0,0,0,276,1077,1,0,0,0,278,1081,1,0,0,0,280,1085,1,0,0,0,282, + 1089,1,0,0,0,284,1093,1,0,0,0,286,1097,1,0,0,0,288,1102,1,0,0,0,290,1106, + 1,0,0,0,292,1110,1,0,0,0,294,1114,1,0,0,0,296,1118,1,0,0,0,298,1122,1,0, + 0,0,300,1126,1,0,0,0,302,1131,1,0,0,0,304,1136,1,0,0,0,306,1140,1,0,0,0, + 308,1144,1,0,0,0,310,1148,1,0,0,0,312,1153,1,0,0,0,314,1163,1,0,0,0,316, + 1167,1,0,0,0,318,1171,1,0,0,0,320,1175,1,0,0,0,322,1180,1,0,0,0,324,1187, + 1,0,0,0,326,1191,1,0,0,0,328,1195,1,0,0,0,330,1199,1,0,0,0,332,333,7,0, + 0,0,333,334,7,1,0,0,334,335,7,2,0,0,335,336,7,2,0,0,336,337,7,3,0,0,337, + 338,7,4,0,0,338,339,7,5,0,0,339,340,1,0,0,0,340,341,6,0,0,0,341,13,1,0, + 0,0,342,343,7,0,0,0,343,344,7,6,0,0,344,345,7,7,0,0,345,346,7,8,0,0,346, + 347,1,0,0,0,347,348,6,1,1,0,348,15,1,0,0,0,349,350,7,3,0,0,350,351,7,9, + 0,0,351,352,7,6,0,0,352,353,7,1,0,0,353,354,7,4,0,0,354,355,7,10,0,0,355, + 356,1,0,0,0,356,357,6,2,2,0,357,17,1,0,0,0,358,359,7,3,0,0,359,360,7,11, + 0,0,360,361,7,12,0,0,361,362,7,13,0,0,362,363,1,0,0,0,363,364,6,3,0,0,364, + 19,1,0,0,0,365,366,7,3,0,0,366,367,7,14,0,0,367,368,7,8,0,0,368,369,7,13, + 0,0,369,370,7,12,0,0,370,371,7,1,0,0,371,372,7,9,0,0,372,373,1,0,0,0,373, + 374,6,4,3,0,374,21,1,0,0,0,375,376,7,15,0,0,376,377,7,6,0,0,377,378,7,7, + 0,0,378,379,7,16,0,0,379,380,1,0,0,0,380,381,6,5,4,0,381,23,1,0,0,0,382, + 383,7,17,0,0,383,384,7,6,0,0,384,385,7,7,0,0,385,386,7,18,0,0,386,387,1, + 0,0,0,387,388,6,6,0,0,388,25,1,0,0,0,389,390,7,1,0,0,390,391,7,9,0,0,391, + 392,7,13,0,0,392,393,7,1,0,0,393,394,7,9,0,0,394,395,7,3,0,0,395,396,7, + 2,0,0,396,397,7,5,0,0,397,398,7,12,0,0,398,399,7,5,0,0,399,400,7,2,0,0, + 400,401,1,0,0,0,401,402,6,7,0,0,402,27,1,0,0,0,403,404,7,18,0,0,404,405, + 7,3,0,0,405,406,7,3,0,0,406,407,7,8,0,0,407,408,1,0,0,0,408,409,6,8,1,0, + 409,29,1,0,0,0,410,411,7,13,0,0,411,412,7,1,0,0,412,413,7,16,0,0,413,414, + 7,1,0,0,414,415,7,5,0,0,415,416,1,0,0,0,416,417,6,9,0,0,417,31,1,0,0,0, + 418,419,7,16,0,0,419,420,7,3,0,0,420,421,7,5,0,0,421,422,7,12,0,0,422,423, + 1,0,0,0,423,424,6,10,5,0,424,33,1,0,0,0,425,426,7,16,0,0,426,427,7,11,0, + 0,427,428,5,95,0,0,428,429,7,3,0,0,429,430,7,14,0,0,430,431,7,8,0,0,431, + 432,7,12,0,0,432,433,7,9,0,0,433,434,7,0,0,0,434,435,1,0,0,0,435,436,6, + 11,6,0,436,35,1,0,0,0,437,438,7,6,0,0,438,439,7,3,0,0,439,440,7,9,0,0,440, + 441,7,12,0,0,441,442,7,16,0,0,442,443,7,3,0,0,443,444,1,0,0,0,444,445,6, + 12,7,0,445,37,1,0,0,0,446,447,7,6,0,0,447,448,7,7,0,0,448,449,7,19,0,0, + 449,450,1,0,0,0,450,451,6,13,0,0,451,39,1,0,0,0,452,453,7,2,0,0,453,454, + 7,10,0,0,454,455,7,7,0,0,455,456,7,19,0,0,456,457,1,0,0,0,457,458,6,14, + 8,0,458,41,1,0,0,0,459,460,7,2,0,0,460,461,7,7,0,0,461,462,7,6,0,0,462, + 463,7,5,0,0,463,464,1,0,0,0,464,465,6,15,0,0,465,43,1,0,0,0,466,467,7,2, + 0,0,467,468,7,5,0,0,468,469,7,12,0,0,469,470,7,5,0,0,470,471,7,2,0,0,471, + 472,1,0,0,0,472,473,6,16,0,0,473,45,1,0,0,0,474,475,7,19,0,0,475,476,7, + 10,0,0,476,477,7,3,0,0,477,478,7,6,0,0,478,479,7,3,0,0,479,480,1,0,0,0, + 480,481,6,17,0,0,481,47,1,0,0,0,482,484,8,20,0,0,483,482,1,0,0,0,484,485, + 1,0,0,0,485,483,1,0,0,0,485,486,1,0,0,0,486,487,1,0,0,0,487,488,6,18,0, + 0,488,49,1,0,0,0,489,490,5,47,0,0,490,491,5,47,0,0,491,495,1,0,0,0,492, + 494,8,21,0,0,493,492,1,0,0,0,494,497,1,0,0,0,495,493,1,0,0,0,495,496,1, + 0,0,0,496,499,1,0,0,0,497,495,1,0,0,0,498,500,5,13,0,0,499,498,1,0,0,0, + 499,500,1,0,0,0,500,502,1,0,0,0,501,503,5,10,0,0,502,501,1,0,0,0,502,503, + 1,0,0,0,503,504,1,0,0,0,504,505,6,19,9,0,505,51,1,0,0,0,506,507,5,47,0, + 0,507,508,5,42,0,0,508,513,1,0,0,0,509,512,3,52,20,0,510,512,9,0,0,0,511, + 509,1,0,0,0,511,510,1,0,0,0,512,515,1,0,0,0,513,514,1,0,0,0,513,511,1,0, + 0,0,514,516,1,0,0,0,515,513,1,0,0,0,516,517,5,42,0,0,517,518,5,47,0,0,518, + 519,1,0,0,0,519,520,6,20,9,0,520,53,1,0,0,0,521,523,7,22,0,0,522,521,1, + 0,0,0,523,524,1,0,0,0,524,522,1,0,0,0,524,525,1,0,0,0,525,526,1,0,0,0,526, + 527,6,21,9,0,527,55,1,0,0,0,528,529,3,164,76,0,529,530,1,0,0,0,530,531, + 6,22,10,0,531,532,6,22,11,0,532,57,1,0,0,0,533,534,3,66,27,0,534,535,1, + 0,0,0,535,536,6,23,12,0,536,537,6,23,13,0,537,59,1,0,0,0,538,539,3,54,21, + 0,539,540,1,0,0,0,540,541,6,24,9,0,541,61,1,0,0,0,542,543,3,50,19,0,543, + 544,1,0,0,0,544,545,6,25,9,0,545,63,1,0,0,0,546,547,3,52,20,0,547,548,1, + 0,0,0,548,549,6,26,9,0,549,65,1,0,0,0,550,551,5,124,0,0,551,552,1,0,0,0, + 552,553,6,27,13,0,553,67,1,0,0,0,554,555,7,23,0,0,555,69,1,0,0,0,556,557, + 7,24,0,0,557,71,1,0,0,0,558,559,5,92,0,0,559,560,7,25,0,0,560,73,1,0,0, + 0,561,562,8,26,0,0,562,75,1,0,0,0,563,565,7,3,0,0,564,566,7,27,0,0,565, + 564,1,0,0,0,565,566,1,0,0,0,566,568,1,0,0,0,567,569,3,68,28,0,568,567,1, + 0,0,0,569,570,1,0,0,0,570,568,1,0,0,0,570,571,1,0,0,0,571,77,1,0,0,0,572, + 573,5,64,0,0,573,79,1,0,0,0,574,575,5,96,0,0,575,81,1,0,0,0,576,580,8,28, + 0,0,577,578,5,96,0,0,578,580,5,96,0,0,579,576,1,0,0,0,579,577,1,0,0,0,580, + 83,1,0,0,0,581,582,5,95,0,0,582,85,1,0,0,0,583,587,3,70,29,0,584,587,3, + 68,28,0,585,587,3,84,36,0,586,583,1,0,0,0,586,584,1,0,0,0,586,585,1,0,0, + 0,587,87,1,0,0,0,588,593,5,34,0,0,589,592,3,72,30,0,590,592,3,74,31,0,591, + 589,1,0,0,0,591,590,1,0,0,0,592,595,1,0,0,0,593,591,1,0,0,0,593,594,1,0, + 0,0,594,596,1,0,0,0,595,593,1,0,0,0,596,618,5,34,0,0,597,598,5,34,0,0,598, + 599,5,34,0,0,599,600,5,34,0,0,600,604,1,0,0,0,601,603,8,21,0,0,602,601, + 1,0,0,0,603,606,1,0,0,0,604,605,1,0,0,0,604,602,1,0,0,0,605,607,1,0,0,0, + 606,604,1,0,0,0,607,608,5,34,0,0,608,609,5,34,0,0,609,610,5,34,0,0,610, + 612,1,0,0,0,611,613,5,34,0,0,612,611,1,0,0,0,612,613,1,0,0,0,613,615,1, + 0,0,0,614,616,5,34,0,0,615,614,1,0,0,0,615,616,1,0,0,0,616,618,1,0,0,0, + 617,588,1,0,0,0,617,597,1,0,0,0,618,89,1,0,0,0,619,621,3,68,28,0,620,619, + 1,0,0,0,621,622,1,0,0,0,622,620,1,0,0,0,622,623,1,0,0,0,623,91,1,0,0,0, + 624,626,3,68,28,0,625,624,1,0,0,0,626,627,1,0,0,0,627,625,1,0,0,0,627,628, + 1,0,0,0,628,629,1,0,0,0,629,633,3,108,48,0,630,632,3,68,28,0,631,630,1, + 0,0,0,632,635,1,0,0,0,633,631,1,0,0,0,633,634,1,0,0,0,634,667,1,0,0,0,635, + 633,1,0,0,0,636,638,3,108,48,0,637,639,3,68,28,0,638,637,1,0,0,0,639,640, + 1,0,0,0,640,638,1,0,0,0,640,641,1,0,0,0,641,667,1,0,0,0,642,644,3,68,28, + 0,643,642,1,0,0,0,644,645,1,0,0,0,645,643,1,0,0,0,645,646,1,0,0,0,646,654, + 1,0,0,0,647,651,3,108,48,0,648,650,3,68,28,0,649,648,1,0,0,0,650,653,1, + 0,0,0,651,649,1,0,0,0,651,652,1,0,0,0,652,655,1,0,0,0,653,651,1,0,0,0,654, + 647,1,0,0,0,654,655,1,0,0,0,655,656,1,0,0,0,656,657,3,76,32,0,657,667,1, + 0,0,0,658,660,3,108,48,0,659,661,3,68,28,0,660,659,1,0,0,0,661,662,1,0, + 0,0,662,660,1,0,0,0,662,663,1,0,0,0,663,664,1,0,0,0,664,665,3,76,32,0,665, + 667,1,0,0,0,666,625,1,0,0,0,666,636,1,0,0,0,666,643,1,0,0,0,666,658,1,0, + 0,0,667,93,1,0,0,0,668,669,7,29,0,0,669,670,7,30,0,0,670,95,1,0,0,0,671, + 672,7,12,0,0,672,673,7,9,0,0,673,674,7,0,0,0,674,97,1,0,0,0,675,676,7,12, + 0,0,676,677,7,2,0,0,677,678,7,4,0,0,678,99,1,0,0,0,679,680,5,61,0,0,680, + 101,1,0,0,0,681,682,5,58,0,0,682,683,5,58,0,0,683,103,1,0,0,0,684,685,5, + 44,0,0,685,105,1,0,0,0,686,687,7,0,0,0,687,688,7,3,0,0,688,689,7,2,0,0, + 689,690,7,4,0,0,690,107,1,0,0,0,691,692,5,46,0,0,692,109,1,0,0,0,693,694, + 7,15,0,0,694,695,7,12,0,0,695,696,7,13,0,0,696,697,7,2,0,0,697,698,7,3, + 0,0,698,111,1,0,0,0,699,700,7,15,0,0,700,701,7,1,0,0,701,702,7,6,0,0,702, + 703,7,2,0,0,703,704,7,5,0,0,704,113,1,0,0,0,705,706,7,13,0,0,706,707,7, + 12,0,0,707,708,7,2,0,0,708,709,7,5,0,0,709,115,1,0,0,0,710,711,5,40,0,0, + 711,117,1,0,0,0,712,713,7,1,0,0,713,714,7,9,0,0,714,119,1,0,0,0,715,716, + 7,1,0,0,716,717,7,2,0,0,717,121,1,0,0,0,718,719,7,13,0,0,719,720,7,1,0, + 0,720,721,7,18,0,0,721,722,7,3,0,0,722,123,1,0,0,0,723,724,7,9,0,0,724, + 725,7,7,0,0,725,726,7,5,0,0,726,125,1,0,0,0,727,728,7,9,0,0,728,729,7,31, + 0,0,729,730,7,13,0,0,730,731,7,13,0,0,731,127,1,0,0,0,732,733,7,9,0,0,733, + 734,7,31,0,0,734,735,7,13,0,0,735,736,7,13,0,0,736,737,7,2,0,0,737,129, + 1,0,0,0,738,739,7,7,0,0,739,740,7,6,0,0,740,131,1,0,0,0,741,742,5,63,0, + 0,742,133,1,0,0,0,743,744,7,6,0,0,744,745,7,13,0,0,745,746,7,1,0,0,746, + 747,7,18,0,0,747,748,7,3,0,0,748,135,1,0,0,0,749,750,5,41,0,0,750,137,1, + 0,0,0,751,752,7,5,0,0,752,753,7,6,0,0,753,754,7,31,0,0,754,755,7,3,0,0, + 755,139,1,0,0,0,756,757,5,61,0,0,757,758,5,61,0,0,758,141,1,0,0,0,759,760, + 5,61,0,0,760,761,5,126,0,0,761,143,1,0,0,0,762,763,5,33,0,0,763,764,5,61, + 0,0,764,145,1,0,0,0,765,766,5,60,0,0,766,147,1,0,0,0,767,768,5,60,0,0,768, + 769,5,61,0,0,769,149,1,0,0,0,770,771,5,62,0,0,771,151,1,0,0,0,772,773,5, + 62,0,0,773,774,5,61,0,0,774,153,1,0,0,0,775,776,5,43,0,0,776,155,1,0,0, + 0,777,778,5,45,0,0,778,157,1,0,0,0,779,780,5,42,0,0,780,159,1,0,0,0,781, + 782,5,47,0,0,782,161,1,0,0,0,783,784,5,37,0,0,784,163,1,0,0,0,785,786,5, + 91,0,0,786,787,1,0,0,0,787,788,6,76,0,0,788,789,6,76,0,0,789,165,1,0,0, + 0,790,791,5,93,0,0,791,792,1,0,0,0,792,793,6,77,13,0,793,794,6,77,13,0, + 794,167,1,0,0,0,795,799,3,70,29,0,796,798,3,86,37,0,797,796,1,0,0,0,798, + 801,1,0,0,0,799,797,1,0,0,0,799,800,1,0,0,0,800,812,1,0,0,0,801,799,1,0, + 0,0,802,805,3,84,36,0,803,805,3,78,33,0,804,802,1,0,0,0,804,803,1,0,0,0, + 805,807,1,0,0,0,806,808,3,86,37,0,807,806,1,0,0,0,808,809,1,0,0,0,809,807, + 1,0,0,0,809,810,1,0,0,0,810,812,1,0,0,0,811,795,1,0,0,0,811,804,1,0,0,0, + 812,169,1,0,0,0,813,815,3,80,34,0,814,816,3,82,35,0,815,814,1,0,0,0,816, + 817,1,0,0,0,817,815,1,0,0,0,817,818,1,0,0,0,818,819,1,0,0,0,819,820,3,80, + 34,0,820,171,1,0,0,0,821,822,3,170,79,0,822,173,1,0,0,0,823,824,3,50,19, + 0,824,825,1,0,0,0,825,826,6,81,9,0,826,175,1,0,0,0,827,828,3,52,20,0,828, + 829,1,0,0,0,829,830,6,82,9,0,830,177,1,0,0,0,831,832,3,54,21,0,832,833, + 1,0,0,0,833,834,6,83,9,0,834,179,1,0,0,0,835,836,3,66,27,0,836,837,1,0, + 0,0,837,838,6,84,12,0,838,839,6,84,13,0,839,181,1,0,0,0,840,841,3,164,76, + 0,841,842,1,0,0,0,842,843,6,85,10,0,843,183,1,0,0,0,844,845,3,166,77,0, + 845,846,1,0,0,0,846,847,6,86,14,0,847,185,1,0,0,0,848,849,3,104,46,0,849, + 850,1,0,0,0,850,851,6,87,15,0,851,187,1,0,0,0,852,853,3,100,44,0,853,854, + 1,0,0,0,854,855,6,88,16,0,855,189,1,0,0,0,856,857,3,88,38,0,857,858,1,0, + 0,0,858,859,6,89,17,0,859,191,1,0,0,0,860,861,7,7,0,0,861,862,7,8,0,0,862, + 863,7,5,0,0,863,864,7,1,0,0,864,865,7,7,0,0,865,866,7,9,0,0,866,867,7,2, + 0,0,867,193,1,0,0,0,868,869,7,16,0,0,869,870,7,3,0,0,870,871,7,5,0,0,871, + 872,7,12,0,0,872,873,7,0,0,0,873,874,7,12,0,0,874,875,7,5,0,0,875,876,7, + 12,0,0,876,195,1,0,0,0,877,881,8,32,0,0,878,879,5,47,0,0,879,881,8,33,0, + 0,880,877,1,0,0,0,880,878,1,0,0,0,881,197,1,0,0,0,882,884,3,196,92,0,883, + 882,1,0,0,0,884,885,1,0,0,0,885,883,1,0,0,0,885,886,1,0,0,0,886,199,1,0, + 0,0,887,888,3,172,80,0,888,889,1,0,0,0,889,890,6,94,18,0,890,201,1,0,0, + 0,891,892,3,50,19,0,892,893,1,0,0,0,893,894,6,95,9,0,894,203,1,0,0,0,895, + 896,3,52,20,0,896,897,1,0,0,0,897,898,6,96,9,0,898,205,1,0,0,0,899,900, + 3,54,21,0,900,901,1,0,0,0,901,902,6,97,9,0,902,207,1,0,0,0,903,904,3,66, + 27,0,904,905,1,0,0,0,905,906,6,98,12,0,906,907,6,98,13,0,907,209,1,0,0, + 0,908,909,3,108,48,0,909,910,1,0,0,0,910,911,6,99,19,0,911,211,1,0,0,0, + 912,913,3,104,46,0,913,914,1,0,0,0,914,915,6,100,15,0,915,213,1,0,0,0,916, + 921,3,70,29,0,917,921,3,68,28,0,918,921,3,84,36,0,919,921,3,158,73,0,920, + 916,1,0,0,0,920,917,1,0,0,0,920,918,1,0,0,0,920,919,1,0,0,0,921,215,1,0, + 0,0,922,925,3,70,29,0,923,925,3,158,73,0,924,922,1,0,0,0,924,923,1,0,0, + 0,925,929,1,0,0,0,926,928,3,214,101,0,927,926,1,0,0,0,928,931,1,0,0,0,929, + 927,1,0,0,0,929,930,1,0,0,0,930,942,1,0,0,0,931,929,1,0,0,0,932,935,3,84, + 36,0,933,935,3,78,33,0,934,932,1,0,0,0,934,933,1,0,0,0,935,937,1,0,0,0, + 936,938,3,214,101,0,937,936,1,0,0,0,938,939,1,0,0,0,939,937,1,0,0,0,939, + 940,1,0,0,0,940,942,1,0,0,0,941,924,1,0,0,0,941,934,1,0,0,0,942,217,1,0, + 0,0,943,946,3,216,102,0,944,946,3,170,79,0,945,943,1,0,0,0,945,944,1,0, + 0,0,946,947,1,0,0,0,947,945,1,0,0,0,947,948,1,0,0,0,948,219,1,0,0,0,949, + 950,3,50,19,0,950,951,1,0,0,0,951,952,6,104,9,0,952,221,1,0,0,0,953,954, + 3,52,20,0,954,955,1,0,0,0,955,956,6,105,9,0,956,223,1,0,0,0,957,958,3,54, + 21,0,958,959,1,0,0,0,959,960,6,106,9,0,960,225,1,0,0,0,961,962,3,66,27, + 0,962,963,1,0,0,0,963,964,6,107,12,0,964,965,6,107,13,0,965,227,1,0,0,0, + 966,967,3,100,44,0,967,968,1,0,0,0,968,969,6,108,16,0,969,229,1,0,0,0,970, + 971,3,104,46,0,971,972,1,0,0,0,972,973,6,109,15,0,973,231,1,0,0,0,974,975, + 3,108,48,0,975,976,1,0,0,0,976,977,6,110,19,0,977,233,1,0,0,0,978,979,7, + 12,0,0,979,980,7,2,0,0,980,235,1,0,0,0,981,982,3,218,103,0,982,983,1,0, + 0,0,983,984,6,112,20,0,984,237,1,0,0,0,985,986,3,50,19,0,986,987,1,0,0, + 0,987,988,6,113,9,0,988,239,1,0,0,0,989,990,3,52,20,0,990,991,1,0,0,0,991, + 992,6,114,9,0,992,241,1,0,0,0,993,994,3,54,21,0,994,995,1,0,0,0,995,996, + 6,115,9,0,996,243,1,0,0,0,997,998,3,66,27,0,998,999,1,0,0,0,999,1000,6, + 116,12,0,1000,1001,6,116,13,0,1001,245,1,0,0,0,1002,1003,3,164,76,0,1003, + 1004,1,0,0,0,1004,1005,6,117,10,0,1005,1006,6,117,21,0,1006,247,1,0,0,0, + 1007,1008,7,7,0,0,1008,1009,7,9,0,0,1009,1010,1,0,0,0,1010,1011,6,118,22, + 0,1011,249,1,0,0,0,1012,1013,7,19,0,0,1013,1014,7,1,0,0,1014,1015,7,5,0, + 0,1015,1016,7,10,0,0,1016,1017,1,0,0,0,1017,1018,6,119,22,0,1018,251,1, + 0,0,0,1019,1020,8,34,0,0,1020,253,1,0,0,0,1021,1023,3,252,120,0,1022,1021, + 1,0,0,0,1023,1024,1,0,0,0,1024,1022,1,0,0,0,1024,1025,1,0,0,0,1025,1026, + 1,0,0,0,1026,1027,3,322,155,0,1027,1029,1,0,0,0,1028,1022,1,0,0,0,1028, + 1029,1,0,0,0,1029,1031,1,0,0,0,1030,1032,3,252,120,0,1031,1030,1,0,0,0, + 1032,1033,1,0,0,0,1033,1031,1,0,0,0,1033,1034,1,0,0,0,1034,255,1,0,0,0, + 1035,1036,3,172,80,0,1036,1037,1,0,0,0,1037,1038,6,122,18,0,1038,257,1, + 0,0,0,1039,1040,3,254,121,0,1040,1041,1,0,0,0,1041,1042,6,123,23,0,1042, + 259,1,0,0,0,1043,1044,3,50,19,0,1044,1045,1,0,0,0,1045,1046,6,124,9,0,1046, + 261,1,0,0,0,1047,1048,3,52,20,0,1048,1049,1,0,0,0,1049,1050,6,125,9,0,1050, + 263,1,0,0,0,1051,1052,3,54,21,0,1052,1053,1,0,0,0,1053,1054,6,126,9,0,1054, + 265,1,0,0,0,1055,1056,3,66,27,0,1056,1057,1,0,0,0,1057,1058,6,127,12,0, + 1058,1059,6,127,13,0,1059,1060,6,127,13,0,1060,267,1,0,0,0,1061,1062,3, + 100,44,0,1062,1063,1,0,0,0,1063,1064,6,128,16,0,1064,269,1,0,0,0,1065,1066, + 3,104,46,0,1066,1067,1,0,0,0,1067,1068,6,129,15,0,1068,271,1,0,0,0,1069, + 1070,3,108,48,0,1070,1071,1,0,0,0,1071,1072,6,130,19,0,1072,273,1,0,0,0, + 1073,1074,3,250,119,0,1074,1075,1,0,0,0,1075,1076,6,131,24,0,1076,275,1, + 0,0,0,1077,1078,3,218,103,0,1078,1079,1,0,0,0,1079,1080,6,132,20,0,1080, + 277,1,0,0,0,1081,1082,3,172,80,0,1082,1083,1,0,0,0,1083,1084,6,133,18,0, + 1084,279,1,0,0,0,1085,1086,3,50,19,0,1086,1087,1,0,0,0,1087,1088,6,134, + 9,0,1088,281,1,0,0,0,1089,1090,3,52,20,0,1090,1091,1,0,0,0,1091,1092,6, + 135,9,0,1092,283,1,0,0,0,1093,1094,3,54,21,0,1094,1095,1,0,0,0,1095,1096, + 6,136,9,0,1096,285,1,0,0,0,1097,1098,3,66,27,0,1098,1099,1,0,0,0,1099,1100, + 6,137,12,0,1100,1101,6,137,13,0,1101,287,1,0,0,0,1102,1103,3,108,48,0,1103, + 1104,1,0,0,0,1104,1105,6,138,19,0,1105,289,1,0,0,0,1106,1107,3,172,80,0, + 1107,1108,1,0,0,0,1108,1109,6,139,18,0,1109,291,1,0,0,0,1110,1111,3,168, + 78,0,1111,1112,1,0,0,0,1112,1113,6,140,25,0,1113,293,1,0,0,0,1114,1115, + 3,50,19,0,1115,1116,1,0,0,0,1116,1117,6,141,9,0,1117,295,1,0,0,0,1118,1119, + 3,52,20,0,1119,1120,1,0,0,0,1120,1121,6,142,9,0,1121,297,1,0,0,0,1122,1123, + 3,54,21,0,1123,1124,1,0,0,0,1124,1125,6,143,9,0,1125,299,1,0,0,0,1126,1127, + 3,66,27,0,1127,1128,1,0,0,0,1128,1129,6,144,12,0,1129,1130,6,144,13,0,1130, + 301,1,0,0,0,1131,1132,7,1,0,0,1132,1133,7,9,0,0,1133,1134,7,15,0,0,1134, + 1135,7,7,0,0,1135,303,1,0,0,0,1136,1137,3,50,19,0,1137,1138,1,0,0,0,1138, + 1139,6,146,9,0,1139,305,1,0,0,0,1140,1141,3,52,20,0,1141,1142,1,0,0,0,1142, + 1143,6,147,9,0,1143,307,1,0,0,0,1144,1145,3,54,21,0,1145,1146,1,0,0,0,1146, + 1147,6,148,9,0,1147,309,1,0,0,0,1148,1149,3,66,27,0,1149,1150,1,0,0,0,1150, + 1151,6,149,12,0,1151,1152,6,149,13,0,1152,311,1,0,0,0,1153,1154,7,15,0, + 0,1154,1155,7,31,0,0,1155,1156,7,9,0,0,1156,1157,7,4,0,0,1157,1158,7,5, + 0,0,1158,1159,7,1,0,0,1159,1160,7,7,0,0,1160,1161,7,9,0,0,1161,1162,7,2, + 0,0,1162,313,1,0,0,0,1163,1164,3,50,19,0,1164,1165,1,0,0,0,1165,1166,6, + 151,9,0,1166,315,1,0,0,0,1167,1168,3,52,20,0,1168,1169,1,0,0,0,1169,1170, + 6,152,9,0,1170,317,1,0,0,0,1171,1172,3,54,21,0,1172,1173,1,0,0,0,1173,1174, + 6,153,9,0,1174,319,1,0,0,0,1175,1176,3,166,77,0,1176,1177,1,0,0,0,1177, + 1178,6,154,14,0,1178,1179,6,154,13,0,1179,321,1,0,0,0,1180,1181,5,58,0, + 0,1181,323,1,0,0,0,1182,1188,3,78,33,0,1183,1188,3,68,28,0,1184,1188,3, + 108,48,0,1185,1188,3,70,29,0,1186,1188,3,84,36,0,1187,1182,1,0,0,0,1187, + 1183,1,0,0,0,1187,1184,1,0,0,0,1187,1185,1,0,0,0,1187,1186,1,0,0,0,1188, + 1189,1,0,0,0,1189,1187,1,0,0,0,1189,1190,1,0,0,0,1190,325,1,0,0,0,1191, + 1192,3,50,19,0,1192,1193,1,0,0,0,1193,1194,6,157,9,0,1194,327,1,0,0,0,1195, + 1196,3,52,20,0,1196,1197,1,0,0,0,1197,1198,6,158,9,0,1198,329,1,0,0,0,1199, + 1200,3,54,21,0,1200,1201,1,0,0,0,1201,1202,6,159,9,0,1202,331,1,0,0,0,58, + 0,1,2,3,4,5,6,7,8,9,10,11,485,495,499,502,511,513,524,565,570,579,586,591, + 593,604,612,615,617,622,627,633,640,645,651,654,662,666,799,804,809,811, + 817,880,885,920,924,929,934,939,941,945,947,1024,1028,1033,1187,1189,26, + 5,2,0,5,4,0,5,6,0,5,1,0,5,3,0,5,10,0,5,8,0,5,5,0,5,9,0,0,1,0,7,65,0,5,0, + 0,7,26,0,4,0,0,7,66,0,7,35,0,7,33,0,7,27,0,7,68,0,7,37,0,7,78,0,5,11,0, + 5,7,0,7,88,0,7,87,0,7,67,0]; private static __ATN: ATN; public static get _ATN(): ATN { diff --git a/packages/kbn-esql-ast/src/antlr/esql_parser.g4 b/packages/kbn-esql-ast/src/antlr/esql_parser.g4 index 245558fd4e9f9..5a245f91f4520 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_parser.g4 +++ b/packages/kbn-esql-ast/src/antlr/esql_parser.g4 @@ -88,12 +88,17 @@ primaryExpression | qualifiedName #dereference | functionExpression #function | LP booleanExpression RP #parenthesizedExpression + | primaryExpression CAST_OP dataType #inlineCast ; functionExpression : identifier LP (ASTERISK | (booleanExpression (COMMA booleanExpression)*))? RP ; +dataType + : identifier #toDataType + ; + rowCommand : ROW fields ; diff --git a/packages/kbn-esql-ast/src/antlr/esql_parser.interp b/packages/kbn-esql-ast/src/antlr/esql_parser.interp index 0e3df1df3978e..b4a8e60dd69aa 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_parser.interp +++ b/packages/kbn-esql-ast/src/antlr/esql_parser.interp @@ -33,6 +33,7 @@ null 'and' 'asc' '=' +'::' ',' 'desc' '.' @@ -145,6 +146,7 @@ BY AND ASC ASSIGN +CAST_OP COMMA DESC DOT @@ -234,6 +236,7 @@ valueExpression operatorExpression primaryExpression functionExpression +dataType rowCommand fields field @@ -279,4 +282,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, 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 +[4, 1, 110, 543, 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, 2, 53, 7, 53, 1, 0, 1, 0, 1, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 5, 1, 118, 8, 1, 10, 1, 12, 1, 121, 9, 1, 1, 2, 1, 2, 1, 2, 1, 2, 1, 2, 3, 2, 128, 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, 143, 8, 3, 1, 4, 1, 4, 1, 4, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 155, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 162, 8, 5, 10, 5, 12, 5, 165, 9, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 3, 5, 172, 8, 5, 1, 5, 1, 5, 3, 5, 176, 8, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 1, 5, 5, 5, 184, 8, 5, 10, 5, 12, 5, 187, 9, 5, 1, 6, 1, 6, 3, 6, 191, 8, 6, 1, 6, 1, 6, 1, 6, 1, 6, 1, 6, 3, 6, 198, 8, 6, 1, 6, 1, 6, 1, 6, 3, 6, 203, 8, 6, 1, 7, 1, 7, 1, 7, 1, 7, 1, 7, 3, 7, 210, 8, 7, 1, 8, 1, 8, 1, 8, 1, 8, 3, 8, 216, 8, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 1, 8, 5, 8, 224, 8, 8, 10, 8, 12, 8, 227, 9, 8, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 1, 9, 3, 9, 237, 8, 9, 1, 9, 1, 9, 1, 9, 5, 9, 242, 8, 9, 10, 9, 12, 9, 245, 9, 9, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 1, 10, 5, 10, 253, 8, 10, 10, 10, 12, 10, 256, 9, 10, 3, 10, 258, 8, 10, 1, 10, 1, 10, 1, 11, 1, 11, 1, 12, 1, 12, 1, 12, 1, 13, 1, 13, 1, 13, 5, 13, 270, 8, 13, 10, 13, 12, 13, 273, 9, 13, 1, 14, 1, 14, 1, 14, 1, 14, 1, 14, 3, 14, 280, 8, 14, 1, 15, 1, 15, 1, 15, 1, 15, 5, 15, 286, 8, 15, 10, 15, 12, 15, 289, 9, 15, 1, 15, 3, 15, 292, 8, 15, 1, 15, 3, 15, 295, 8, 15, 1, 16, 1, 16, 1, 17, 1, 17, 1, 17, 1, 17, 5, 17, 303, 8, 17, 10, 17, 12, 17, 306, 9, 17, 1, 18, 1, 18, 1, 18, 1, 18, 1, 19, 1, 19, 3, 19, 314, 8, 19, 1, 20, 1, 20, 1, 20, 1, 20, 5, 20, 320, 8, 20, 10, 20, 12, 20, 323, 9, 20, 1, 21, 1, 21, 1, 21, 1, 21, 1, 22, 1, 22, 1, 22, 1, 23, 1, 23, 3, 23, 334, 8, 23, 1, 23, 1, 23, 3, 23, 338, 8, 23, 1, 24, 1, 24, 1, 24, 1, 24, 3, 24, 344, 8, 24, 1, 25, 1, 25, 1, 25, 5, 25, 349, 8, 25, 10, 25, 12, 25, 352, 9, 25, 1, 26, 1, 26, 1, 26, 5, 26, 357, 8, 26, 10, 26, 12, 26, 360, 9, 26, 1, 27, 1, 27, 1, 28, 1, 28, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 5, 29, 379, 8, 29, 10, 29, 12, 29, 382, 9, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 5, 29, 390, 8, 29, 10, 29, 12, 29, 393, 9, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 1, 29, 5, 29, 401, 8, 29, 10, 29, 12, 29, 404, 9, 29, 1, 29, 1, 29, 3, 29, 408, 8, 29, 1, 30, 1, 30, 1, 30, 1, 31, 1, 31, 1, 31, 1, 31, 5, 31, 417, 8, 31, 10, 31, 12, 31, 420, 9, 31, 1, 32, 1, 32, 3, 32, 424, 8, 32, 1, 32, 1, 32, 3, 32, 428, 8, 32, 1, 33, 1, 33, 1, 33, 1, 33, 5, 33, 434, 8, 33, 10, 33, 12, 33, 437, 9, 33, 1, 34, 1, 34, 1, 34, 1, 34, 5, 34, 443, 8, 34, 10, 34, 12, 34, 446, 9, 34, 1, 35, 1, 35, 1, 35, 1, 35, 5, 35, 452, 8, 35, 10, 35, 12, 35, 455, 9, 35, 1, 36, 1, 36, 1, 36, 1, 36, 1, 37, 1, 37, 1, 37, 1, 37, 3, 37, 465, 8, 37, 1, 38, 1, 38, 1, 38, 1, 38, 1, 39, 1, 39, 1, 39, 1, 40, 1, 40, 1, 40, 5, 40, 477, 8, 40, 10, 40, 12, 40, 480, 9, 40, 1, 41, 1, 41, 1, 41, 1, 41, 1, 42, 1, 42, 1, 43, 1, 43, 3, 43, 490, 8, 43, 1, 44, 3, 44, 493, 8, 44, 1, 44, 1, 44, 1, 45, 3, 45, 498, 8, 45, 1, 45, 1, 45, 1, 46, 1, 46, 1, 47, 1, 47, 1, 48, 1, 48, 1, 48, 1, 49, 1, 49, 1, 49, 1, 49, 1, 50, 1, 50, 1, 50, 1, 51, 1, 51, 1, 51, 1, 52, 1, 52, 1, 52, 1, 52, 3, 52, 523, 8, 52, 1, 52, 1, 52, 1, 52, 1, 52, 5, 52, 529, 8, 52, 10, 52, 12, 52, 532, 9, 52, 3, 52, 534, 8, 52, 1, 53, 1, 53, 1, 53, 3, 53, 539, 8, 53, 1, 53, 1, 53, 1, 53, 0, 4, 2, 10, 16, 18, 54, 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, 106, 0, 8, 1, 0, 60, 61, 1, 0, 62, 64, 2, 0, 68, 68, 74, 74, 1, 0, 67, 68, 2, 0, 32, 32, 36, 36, 1, 0, 39, 40, 2, 0, 38, 38, 52, 52, 2, 0, 53, 53, 55, 59, 568, 0, 108, 1, 0, 0, 0, 2, 111, 1, 0, 0, 0, 4, 127, 1, 0, 0, 0, 6, 142, 1, 0, 0, 0, 8, 144, 1, 0, 0, 0, 10, 175, 1, 0, 0, 0, 12, 202, 1, 0, 0, 0, 14, 209, 1, 0, 0, 0, 16, 215, 1, 0, 0, 0, 18, 236, 1, 0, 0, 0, 20, 246, 1, 0, 0, 0, 22, 261, 1, 0, 0, 0, 24, 263, 1, 0, 0, 0, 26, 266, 1, 0, 0, 0, 28, 279, 1, 0, 0, 0, 30, 281, 1, 0, 0, 0, 32, 296, 1, 0, 0, 0, 34, 298, 1, 0, 0, 0, 36, 307, 1, 0, 0, 0, 38, 313, 1, 0, 0, 0, 40, 315, 1, 0, 0, 0, 42, 324, 1, 0, 0, 0, 44, 328, 1, 0, 0, 0, 46, 331, 1, 0, 0, 0, 48, 339, 1, 0, 0, 0, 50, 345, 1, 0, 0, 0, 52, 353, 1, 0, 0, 0, 54, 361, 1, 0, 0, 0, 56, 363, 1, 0, 0, 0, 58, 407, 1, 0, 0, 0, 60, 409, 1, 0, 0, 0, 62, 412, 1, 0, 0, 0, 64, 421, 1, 0, 0, 0, 66, 429, 1, 0, 0, 0, 68, 438, 1, 0, 0, 0, 70, 447, 1, 0, 0, 0, 72, 456, 1, 0, 0, 0, 74, 460, 1, 0, 0, 0, 76, 466, 1, 0, 0, 0, 78, 470, 1, 0, 0, 0, 80, 473, 1, 0, 0, 0, 82, 481, 1, 0, 0, 0, 84, 485, 1, 0, 0, 0, 86, 489, 1, 0, 0, 0, 88, 492, 1, 0, 0, 0, 90, 497, 1, 0, 0, 0, 92, 501, 1, 0, 0, 0, 94, 503, 1, 0, 0, 0, 96, 505, 1, 0, 0, 0, 98, 508, 1, 0, 0, 0, 100, 512, 1, 0, 0, 0, 102, 515, 1, 0, 0, 0, 104, 518, 1, 0, 0, 0, 106, 538, 1, 0, 0, 0, 108, 109, 3, 2, 1, 0, 109, 110, 5, 0, 0, 1, 110, 1, 1, 0, 0, 0, 111, 112, 6, 1, -1, 0, 112, 113, 3, 4, 2, 0, 113, 119, 1, 0, 0, 0, 114, 115, 10, 1, 0, 0, 115, 116, 5, 26, 0, 0, 116, 118, 3, 6, 3, 0, 117, 114, 1, 0, 0, 0, 118, 121, 1, 0, 0, 0, 119, 117, 1, 0, 0, 0, 119, 120, 1, 0, 0, 0, 120, 3, 1, 0, 0, 0, 121, 119, 1, 0, 0, 0, 122, 128, 3, 96, 48, 0, 123, 128, 3, 30, 15, 0, 124, 128, 3, 24, 12, 0, 125, 128, 3, 100, 50, 0, 126, 128, 3, 102, 51, 0, 127, 122, 1, 0, 0, 0, 127, 123, 1, 0, 0, 0, 127, 124, 1, 0, 0, 0, 127, 125, 1, 0, 0, 0, 127, 126, 1, 0, 0, 0, 128, 5, 1, 0, 0, 0, 129, 143, 3, 44, 22, 0, 130, 143, 3, 48, 24, 0, 131, 143, 3, 60, 30, 0, 132, 143, 3, 66, 33, 0, 133, 143, 3, 62, 31, 0, 134, 143, 3, 46, 23, 0, 135, 143, 3, 8, 4, 0, 136, 143, 3, 68, 34, 0, 137, 143, 3, 70, 35, 0, 138, 143, 3, 74, 37, 0, 139, 143, 3, 76, 38, 0, 140, 143, 3, 104, 52, 0, 141, 143, 3, 78, 39, 0, 142, 129, 1, 0, 0, 0, 142, 130, 1, 0, 0, 0, 142, 131, 1, 0, 0, 0, 142, 132, 1, 0, 0, 0, 142, 133, 1, 0, 0, 0, 142, 134, 1, 0, 0, 0, 142, 135, 1, 0, 0, 0, 142, 136, 1, 0, 0, 0, 142, 137, 1, 0, 0, 0, 142, 138, 1, 0, 0, 0, 142, 139, 1, 0, 0, 0, 142, 140, 1, 0, 0, 0, 142, 141, 1, 0, 0, 0, 143, 7, 1, 0, 0, 0, 144, 145, 5, 18, 0, 0, 145, 146, 3, 10, 5, 0, 146, 9, 1, 0, 0, 0, 147, 148, 6, 5, -1, 0, 148, 149, 5, 45, 0, 0, 149, 176, 3, 10, 5, 7, 150, 176, 3, 14, 7, 0, 151, 176, 3, 12, 6, 0, 152, 154, 3, 14, 7, 0, 153, 155, 5, 45, 0, 0, 154, 153, 1, 0, 0, 0, 154, 155, 1, 0, 0, 0, 155, 156, 1, 0, 0, 0, 156, 157, 5, 42, 0, 0, 157, 158, 5, 41, 0, 0, 158, 163, 3, 14, 7, 0, 159, 160, 5, 35, 0, 0, 160, 162, 3, 14, 7, 0, 161, 159, 1, 0, 0, 0, 162, 165, 1, 0, 0, 0, 163, 161, 1, 0, 0, 0, 163, 164, 1, 0, 0, 0, 164, 166, 1, 0, 0, 0, 165, 163, 1, 0, 0, 0, 166, 167, 5, 51, 0, 0, 167, 176, 1, 0, 0, 0, 168, 169, 3, 14, 7, 0, 169, 171, 5, 43, 0, 0, 170, 172, 5, 45, 0, 0, 171, 170, 1, 0, 0, 0, 171, 172, 1, 0, 0, 0, 172, 173, 1, 0, 0, 0, 173, 174, 5, 46, 0, 0, 174, 176, 1, 0, 0, 0, 175, 147, 1, 0, 0, 0, 175, 150, 1, 0, 0, 0, 175, 151, 1, 0, 0, 0, 175, 152, 1, 0, 0, 0, 175, 168, 1, 0, 0, 0, 176, 185, 1, 0, 0, 0, 177, 178, 10, 4, 0, 0, 178, 179, 5, 31, 0, 0, 179, 184, 3, 10, 5, 5, 180, 181, 10, 3, 0, 0, 181, 182, 5, 48, 0, 0, 182, 184, 3, 10, 5, 4, 183, 177, 1, 0, 0, 0, 183, 180, 1, 0, 0, 0, 184, 187, 1, 0, 0, 0, 185, 183, 1, 0, 0, 0, 185, 186, 1, 0, 0, 0, 186, 11, 1, 0, 0, 0, 187, 185, 1, 0, 0, 0, 188, 190, 3, 14, 7, 0, 189, 191, 5, 45, 0, 0, 190, 189, 1, 0, 0, 0, 190, 191, 1, 0, 0, 0, 191, 192, 1, 0, 0, 0, 192, 193, 5, 44, 0, 0, 193, 194, 3, 92, 46, 0, 194, 203, 1, 0, 0, 0, 195, 197, 3, 14, 7, 0, 196, 198, 5, 45, 0, 0, 197, 196, 1, 0, 0, 0, 197, 198, 1, 0, 0, 0, 198, 199, 1, 0, 0, 0, 199, 200, 5, 50, 0, 0, 200, 201, 3, 92, 46, 0, 201, 203, 1, 0, 0, 0, 202, 188, 1, 0, 0, 0, 202, 195, 1, 0, 0, 0, 203, 13, 1, 0, 0, 0, 204, 210, 3, 16, 8, 0, 205, 206, 3, 16, 8, 0, 206, 207, 3, 94, 47, 0, 207, 208, 3, 16, 8, 0, 208, 210, 1, 0, 0, 0, 209, 204, 1, 0, 0, 0, 209, 205, 1, 0, 0, 0, 210, 15, 1, 0, 0, 0, 211, 212, 6, 8, -1, 0, 212, 216, 3, 18, 9, 0, 213, 214, 7, 0, 0, 0, 214, 216, 3, 16, 8, 3, 215, 211, 1, 0, 0, 0, 215, 213, 1, 0, 0, 0, 216, 225, 1, 0, 0, 0, 217, 218, 10, 2, 0, 0, 218, 219, 7, 1, 0, 0, 219, 224, 3, 16, 8, 3, 220, 221, 10, 1, 0, 0, 221, 222, 7, 0, 0, 0, 222, 224, 3, 16, 8, 2, 223, 217, 1, 0, 0, 0, 223, 220, 1, 0, 0, 0, 224, 227, 1, 0, 0, 0, 225, 223, 1, 0, 0, 0, 225, 226, 1, 0, 0, 0, 226, 17, 1, 0, 0, 0, 227, 225, 1, 0, 0, 0, 228, 229, 6, 9, -1, 0, 229, 237, 3, 58, 29, 0, 230, 237, 3, 50, 25, 0, 231, 237, 3, 20, 10, 0, 232, 233, 5, 41, 0, 0, 233, 234, 3, 10, 5, 0, 234, 235, 5, 51, 0, 0, 235, 237, 1, 0, 0, 0, 236, 228, 1, 0, 0, 0, 236, 230, 1, 0, 0, 0, 236, 231, 1, 0, 0, 0, 236, 232, 1, 0, 0, 0, 237, 243, 1, 0, 0, 0, 238, 239, 10, 1, 0, 0, 239, 240, 5, 34, 0, 0, 240, 242, 3, 22, 11, 0, 241, 238, 1, 0, 0, 0, 242, 245, 1, 0, 0, 0, 243, 241, 1, 0, 0, 0, 243, 244, 1, 0, 0, 0, 244, 19, 1, 0, 0, 0, 245, 243, 1, 0, 0, 0, 246, 247, 3, 54, 27, 0, 247, 257, 5, 41, 0, 0, 248, 258, 5, 62, 0, 0, 249, 254, 3, 10, 5, 0, 250, 251, 5, 35, 0, 0, 251, 253, 3, 10, 5, 0, 252, 250, 1, 0, 0, 0, 253, 256, 1, 0, 0, 0, 254, 252, 1, 0, 0, 0, 254, 255, 1, 0, 0, 0, 255, 258, 1, 0, 0, 0, 256, 254, 1, 0, 0, 0, 257, 248, 1, 0, 0, 0, 257, 249, 1, 0, 0, 0, 257, 258, 1, 0, 0, 0, 258, 259, 1, 0, 0, 0, 259, 260, 5, 51, 0, 0, 260, 21, 1, 0, 0, 0, 261, 262, 3, 54, 27, 0, 262, 23, 1, 0, 0, 0, 263, 264, 5, 14, 0, 0, 264, 265, 3, 26, 13, 0, 265, 25, 1, 0, 0, 0, 266, 271, 3, 28, 14, 0, 267, 268, 5, 35, 0, 0, 268, 270, 3, 28, 14, 0, 269, 267, 1, 0, 0, 0, 270, 273, 1, 0, 0, 0, 271, 269, 1, 0, 0, 0, 271, 272, 1, 0, 0, 0, 272, 27, 1, 0, 0, 0, 273, 271, 1, 0, 0, 0, 274, 280, 3, 10, 5, 0, 275, 276, 3, 50, 25, 0, 276, 277, 5, 33, 0, 0, 277, 278, 3, 10, 5, 0, 278, 280, 1, 0, 0, 0, 279, 274, 1, 0, 0, 0, 279, 275, 1, 0, 0, 0, 280, 29, 1, 0, 0, 0, 281, 282, 5, 6, 0, 0, 282, 287, 3, 32, 16, 0, 283, 284, 5, 35, 0, 0, 284, 286, 3, 32, 16, 0, 285, 283, 1, 0, 0, 0, 286, 289, 1, 0, 0, 0, 287, 285, 1, 0, 0, 0, 287, 288, 1, 0, 0, 0, 288, 291, 1, 0, 0, 0, 289, 287, 1, 0, 0, 0, 290, 292, 3, 38, 19, 0, 291, 290, 1, 0, 0, 0, 291, 292, 1, 0, 0, 0, 292, 294, 1, 0, 0, 0, 293, 295, 3, 34, 17, 0, 294, 293, 1, 0, 0, 0, 294, 295, 1, 0, 0, 0, 295, 31, 1, 0, 0, 0, 296, 297, 7, 2, 0, 0, 297, 33, 1, 0, 0, 0, 298, 299, 5, 72, 0, 0, 299, 304, 3, 36, 18, 0, 300, 301, 5, 35, 0, 0, 301, 303, 3, 36, 18, 0, 302, 300, 1, 0, 0, 0, 303, 306, 1, 0, 0, 0, 304, 302, 1, 0, 0, 0, 304, 305, 1, 0, 0, 0, 305, 35, 1, 0, 0, 0, 306, 304, 1, 0, 0, 0, 307, 308, 3, 92, 46, 0, 308, 309, 5, 33, 0, 0, 309, 310, 3, 92, 46, 0, 310, 37, 1, 0, 0, 0, 311, 314, 3, 40, 20, 0, 312, 314, 3, 42, 21, 0, 313, 311, 1, 0, 0, 0, 313, 312, 1, 0, 0, 0, 314, 39, 1, 0, 0, 0, 315, 316, 5, 73, 0, 0, 316, 321, 3, 32, 16, 0, 317, 318, 5, 35, 0, 0, 318, 320, 3, 32, 16, 0, 319, 317, 1, 0, 0, 0, 320, 323, 1, 0, 0, 0, 321, 319, 1, 0, 0, 0, 321, 322, 1, 0, 0, 0, 322, 41, 1, 0, 0, 0, 323, 321, 1, 0, 0, 0, 324, 325, 5, 65, 0, 0, 325, 326, 3, 40, 20, 0, 326, 327, 5, 66, 0, 0, 327, 43, 1, 0, 0, 0, 328, 329, 5, 4, 0, 0, 329, 330, 3, 26, 13, 0, 330, 45, 1, 0, 0, 0, 331, 333, 5, 17, 0, 0, 332, 334, 3, 26, 13, 0, 333, 332, 1, 0, 0, 0, 333, 334, 1, 0, 0, 0, 334, 337, 1, 0, 0, 0, 335, 336, 5, 30, 0, 0, 336, 338, 3, 26, 13, 0, 337, 335, 1, 0, 0, 0, 337, 338, 1, 0, 0, 0, 338, 47, 1, 0, 0, 0, 339, 340, 5, 8, 0, 0, 340, 343, 3, 26, 13, 0, 341, 342, 5, 30, 0, 0, 342, 344, 3, 26, 13, 0, 343, 341, 1, 0, 0, 0, 343, 344, 1, 0, 0, 0, 344, 49, 1, 0, 0, 0, 345, 350, 3, 54, 27, 0, 346, 347, 5, 37, 0, 0, 347, 349, 3, 54, 27, 0, 348, 346, 1, 0, 0, 0, 349, 352, 1, 0, 0, 0, 350, 348, 1, 0, 0, 0, 350, 351, 1, 0, 0, 0, 351, 51, 1, 0, 0, 0, 352, 350, 1, 0, 0, 0, 353, 358, 3, 56, 28, 0, 354, 355, 5, 37, 0, 0, 355, 357, 3, 56, 28, 0, 356, 354, 1, 0, 0, 0, 357, 360, 1, 0, 0, 0, 358, 356, 1, 0, 0, 0, 358, 359, 1, 0, 0, 0, 359, 53, 1, 0, 0, 0, 360, 358, 1, 0, 0, 0, 361, 362, 7, 3, 0, 0, 362, 55, 1, 0, 0, 0, 363, 364, 5, 78, 0, 0, 364, 57, 1, 0, 0, 0, 365, 408, 5, 46, 0, 0, 366, 367, 3, 90, 45, 0, 367, 368, 5, 67, 0, 0, 368, 408, 1, 0, 0, 0, 369, 408, 3, 88, 44, 0, 370, 408, 3, 90, 45, 0, 371, 408, 3, 84, 42, 0, 372, 408, 5, 49, 0, 0, 373, 408, 3, 92, 46, 0, 374, 375, 5, 65, 0, 0, 375, 380, 3, 86, 43, 0, 376, 377, 5, 35, 0, 0, 377, 379, 3, 86, 43, 0, 378, 376, 1, 0, 0, 0, 379, 382, 1, 0, 0, 0, 380, 378, 1, 0, 0, 0, 380, 381, 1, 0, 0, 0, 381, 383, 1, 0, 0, 0, 382, 380, 1, 0, 0, 0, 383, 384, 5, 66, 0, 0, 384, 408, 1, 0, 0, 0, 385, 386, 5, 65, 0, 0, 386, 391, 3, 84, 42, 0, 387, 388, 5, 35, 0, 0, 388, 390, 3, 84, 42, 0, 389, 387, 1, 0, 0, 0, 390, 393, 1, 0, 0, 0, 391, 389, 1, 0, 0, 0, 391, 392, 1, 0, 0, 0, 392, 394, 1, 0, 0, 0, 393, 391, 1, 0, 0, 0, 394, 395, 5, 66, 0, 0, 395, 408, 1, 0, 0, 0, 396, 397, 5, 65, 0, 0, 397, 402, 3, 92, 46, 0, 398, 399, 5, 35, 0, 0, 399, 401, 3, 92, 46, 0, 400, 398, 1, 0, 0, 0, 401, 404, 1, 0, 0, 0, 402, 400, 1, 0, 0, 0, 402, 403, 1, 0, 0, 0, 403, 405, 1, 0, 0, 0, 404, 402, 1, 0, 0, 0, 405, 406, 5, 66, 0, 0, 406, 408, 1, 0, 0, 0, 407, 365, 1, 0, 0, 0, 407, 366, 1, 0, 0, 0, 407, 369, 1, 0, 0, 0, 407, 370, 1, 0, 0, 0, 407, 371, 1, 0, 0, 0, 407, 372, 1, 0, 0, 0, 407, 373, 1, 0, 0, 0, 407, 374, 1, 0, 0, 0, 407, 385, 1, 0, 0, 0, 407, 396, 1, 0, 0, 0, 408, 59, 1, 0, 0, 0, 409, 410, 5, 10, 0, 0, 410, 411, 5, 28, 0, 0, 411, 61, 1, 0, 0, 0, 412, 413, 5, 16, 0, 0, 413, 418, 3, 64, 32, 0, 414, 415, 5, 35, 0, 0, 415, 417, 3, 64, 32, 0, 416, 414, 1, 0, 0, 0, 417, 420, 1, 0, 0, 0, 418, 416, 1, 0, 0, 0, 418, 419, 1, 0, 0, 0, 419, 63, 1, 0, 0, 0, 420, 418, 1, 0, 0, 0, 421, 423, 3, 10, 5, 0, 422, 424, 7, 4, 0, 0, 423, 422, 1, 0, 0, 0, 423, 424, 1, 0, 0, 0, 424, 427, 1, 0, 0, 0, 425, 426, 5, 47, 0, 0, 426, 428, 7, 5, 0, 0, 427, 425, 1, 0, 0, 0, 427, 428, 1, 0, 0, 0, 428, 65, 1, 0, 0, 0, 429, 430, 5, 9, 0, 0, 430, 435, 3, 52, 26, 0, 431, 432, 5, 35, 0, 0, 432, 434, 3, 52, 26, 0, 433, 431, 1, 0, 0, 0, 434, 437, 1, 0, 0, 0, 435, 433, 1, 0, 0, 0, 435, 436, 1, 0, 0, 0, 436, 67, 1, 0, 0, 0, 437, 435, 1, 0, 0, 0, 438, 439, 5, 2, 0, 0, 439, 444, 3, 52, 26, 0, 440, 441, 5, 35, 0, 0, 441, 443, 3, 52, 26, 0, 442, 440, 1, 0, 0, 0, 443, 446, 1, 0, 0, 0, 444, 442, 1, 0, 0, 0, 444, 445, 1, 0, 0, 0, 445, 69, 1, 0, 0, 0, 446, 444, 1, 0, 0, 0, 447, 448, 5, 13, 0, 0, 448, 453, 3, 72, 36, 0, 449, 450, 5, 35, 0, 0, 450, 452, 3, 72, 36, 0, 451, 449, 1, 0, 0, 0, 452, 455, 1, 0, 0, 0, 453, 451, 1, 0, 0, 0, 453, 454, 1, 0, 0, 0, 454, 71, 1, 0, 0, 0, 455, 453, 1, 0, 0, 0, 456, 457, 3, 52, 26, 0, 457, 458, 5, 82, 0, 0, 458, 459, 3, 52, 26, 0, 459, 73, 1, 0, 0, 0, 460, 461, 5, 1, 0, 0, 461, 462, 3, 18, 9, 0, 462, 464, 3, 92, 46, 0, 463, 465, 3, 80, 40, 0, 464, 463, 1, 0, 0, 0, 464, 465, 1, 0, 0, 0, 465, 75, 1, 0, 0, 0, 466, 467, 5, 7, 0, 0, 467, 468, 3, 18, 9, 0, 468, 469, 3, 92, 46, 0, 469, 77, 1, 0, 0, 0, 470, 471, 5, 12, 0, 0, 471, 472, 3, 50, 25, 0, 472, 79, 1, 0, 0, 0, 473, 478, 3, 82, 41, 0, 474, 475, 5, 35, 0, 0, 475, 477, 3, 82, 41, 0, 476, 474, 1, 0, 0, 0, 477, 480, 1, 0, 0, 0, 478, 476, 1, 0, 0, 0, 478, 479, 1, 0, 0, 0, 479, 81, 1, 0, 0, 0, 480, 478, 1, 0, 0, 0, 481, 482, 3, 54, 27, 0, 482, 483, 5, 33, 0, 0, 483, 484, 3, 58, 29, 0, 484, 83, 1, 0, 0, 0, 485, 486, 7, 6, 0, 0, 486, 85, 1, 0, 0, 0, 487, 490, 3, 88, 44, 0, 488, 490, 3, 90, 45, 0, 489, 487, 1, 0, 0, 0, 489, 488, 1, 0, 0, 0, 490, 87, 1, 0, 0, 0, 491, 493, 7, 0, 0, 0, 492, 491, 1, 0, 0, 0, 492, 493, 1, 0, 0, 0, 493, 494, 1, 0, 0, 0, 494, 495, 5, 29, 0, 0, 495, 89, 1, 0, 0, 0, 496, 498, 7, 0, 0, 0, 497, 496, 1, 0, 0, 0, 497, 498, 1, 0, 0, 0, 498, 499, 1, 0, 0, 0, 499, 500, 5, 28, 0, 0, 500, 91, 1, 0, 0, 0, 501, 502, 5, 27, 0, 0, 502, 93, 1, 0, 0, 0, 503, 504, 7, 7, 0, 0, 504, 95, 1, 0, 0, 0, 505, 506, 5, 5, 0, 0, 506, 507, 3, 98, 49, 0, 507, 97, 1, 0, 0, 0, 508, 509, 5, 65, 0, 0, 509, 510, 3, 2, 1, 0, 510, 511, 5, 66, 0, 0, 511, 99, 1, 0, 0, 0, 512, 513, 5, 15, 0, 0, 513, 514, 5, 98, 0, 0, 514, 101, 1, 0, 0, 0, 515, 516, 5, 11, 0, 0, 516, 517, 5, 102, 0, 0, 517, 103, 1, 0, 0, 0, 518, 519, 5, 3, 0, 0, 519, 522, 5, 88, 0, 0, 520, 521, 5, 86, 0, 0, 521, 523, 3, 52, 26, 0, 522, 520, 1, 0, 0, 0, 522, 523, 1, 0, 0, 0, 523, 533, 1, 0, 0, 0, 524, 525, 5, 87, 0, 0, 525, 530, 3, 106, 53, 0, 526, 527, 5, 35, 0, 0, 527, 529, 3, 106, 53, 0, 528, 526, 1, 0, 0, 0, 529, 532, 1, 0, 0, 0, 530, 528, 1, 0, 0, 0, 530, 531, 1, 0, 0, 0, 531, 534, 1, 0, 0, 0, 532, 530, 1, 0, 0, 0, 533, 524, 1, 0, 0, 0, 533, 534, 1, 0, 0, 0, 534, 105, 1, 0, 0, 0, 535, 536, 3, 52, 26, 0, 536, 537, 5, 33, 0, 0, 537, 539, 1, 0, 0, 0, 538, 535, 1, 0, 0, 0, 538, 539, 1, 0, 0, 0, 539, 540, 1, 0, 0, 0, 540, 541, 3, 52, 26, 0, 541, 107, 1, 0, 0, 0, 52, 119, 127, 142, 154, 163, 171, 175, 183, 185, 190, 197, 202, 209, 215, 223, 225, 236, 243, 254, 257, 271, 279, 287, 291, 294, 304, 313, 321, 333, 337, 343, 350, 358, 380, 391, 402, 407, 418, 423, 427, 435, 444, 453, 464, 478, 489, 492, 497, 522, 530, 533, 538] \ No newline at end of file diff --git a/packages/kbn-esql-ast/src/antlr/esql_parser.tokens b/packages/kbn-esql-ast/src/antlr/esql_parser.tokens index fc02831fc219f..b496aa68b61f7 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_parser.tokens +++ b/packages/kbn-esql-ast/src/antlr/esql_parser.tokens @@ -31,82 +31,83 @@ BY=30 AND=31 ASC=32 ASSIGN=33 -COMMA=34 -DESC=35 -DOT=36 -FALSE=37 -FIRST=38 -LAST=39 -LP=40 -IN=41 -IS=42 -LIKE=43 -NOT=44 -NULL=45 -NULLS=46 -OR=47 -PARAM=48 -RLIKE=49 -RP=50 -TRUE=51 -EQ=52 -CIEQ=53 -NEQ=54 -LT=55 -LTE=56 -GT=57 -GTE=58 -PLUS=59 -MINUS=60 -ASTERISK=61 -SLASH=62 -PERCENT=63 -OPENING_BRACKET=64 -CLOSING_BRACKET=65 -UNQUOTED_IDENTIFIER=66 -QUOTED_IDENTIFIER=67 -EXPR_LINE_COMMENT=68 -EXPR_MULTILINE_COMMENT=69 -EXPR_WS=70 -OPTIONS=71 -METADATA=72 -FROM_UNQUOTED_IDENTIFIER=73 -FROM_LINE_COMMENT=74 -FROM_MULTILINE_COMMENT=75 -FROM_WS=76 -ID_PATTERN=77 -PROJECT_LINE_COMMENT=78 -PROJECT_MULTILINE_COMMENT=79 -PROJECT_WS=80 -AS=81 -RENAME_LINE_COMMENT=82 -RENAME_MULTILINE_COMMENT=83 -RENAME_WS=84 -ON=85 -WITH=86 -ENRICH_POLICY_NAME=87 -ENRICH_LINE_COMMENT=88 -ENRICH_MULTILINE_COMMENT=89 -ENRICH_WS=90 -ENRICH_FIELD_LINE_COMMENT=91 -ENRICH_FIELD_MULTILINE_COMMENT=92 -ENRICH_FIELD_WS=93 -MVEXPAND_LINE_COMMENT=94 -MVEXPAND_MULTILINE_COMMENT=95 -MVEXPAND_WS=96 -INFO=97 -SHOW_LINE_COMMENT=98 -SHOW_MULTILINE_COMMENT=99 -SHOW_WS=100 -FUNCTIONS=101 -META_LINE_COMMENT=102 -META_MULTILINE_COMMENT=103 -META_WS=104 -COLON=105 -SETTING=106 -SETTING_LINE_COMMENT=107 -SETTTING_MULTILINE_COMMENT=108 -SETTING_WS=109 +CAST_OP=34 +COMMA=35 +DESC=36 +DOT=37 +FALSE=38 +FIRST=39 +LAST=40 +LP=41 +IN=42 +IS=43 +LIKE=44 +NOT=45 +NULL=46 +NULLS=47 +OR=48 +PARAM=49 +RLIKE=50 +RP=51 +TRUE=52 +EQ=53 +CIEQ=54 +NEQ=55 +LT=56 +LTE=57 +GT=58 +GTE=59 +PLUS=60 +MINUS=61 +ASTERISK=62 +SLASH=63 +PERCENT=64 +OPENING_BRACKET=65 +CLOSING_BRACKET=66 +UNQUOTED_IDENTIFIER=67 +QUOTED_IDENTIFIER=68 +EXPR_LINE_COMMENT=69 +EXPR_MULTILINE_COMMENT=70 +EXPR_WS=71 +OPTIONS=72 +METADATA=73 +FROM_UNQUOTED_IDENTIFIER=74 +FROM_LINE_COMMENT=75 +FROM_MULTILINE_COMMENT=76 +FROM_WS=77 +ID_PATTERN=78 +PROJECT_LINE_COMMENT=79 +PROJECT_MULTILINE_COMMENT=80 +PROJECT_WS=81 +AS=82 +RENAME_LINE_COMMENT=83 +RENAME_MULTILINE_COMMENT=84 +RENAME_WS=85 +ON=86 +WITH=87 +ENRICH_POLICY_NAME=88 +ENRICH_LINE_COMMENT=89 +ENRICH_MULTILINE_COMMENT=90 +ENRICH_WS=91 +ENRICH_FIELD_LINE_COMMENT=92 +ENRICH_FIELD_MULTILINE_COMMENT=93 +ENRICH_FIELD_WS=94 +MVEXPAND_LINE_COMMENT=95 +MVEXPAND_MULTILINE_COMMENT=96 +MVEXPAND_WS=97 +INFO=98 +SHOW_LINE_COMMENT=99 +SHOW_MULTILINE_COMMENT=100 +SHOW_WS=101 +FUNCTIONS=102 +META_LINE_COMMENT=103 +META_MULTILINE_COMMENT=104 +META_WS=105 +COLON=106 +SETTING=107 +SETTING_LINE_COMMENT=108 +SETTTING_MULTILINE_COMMENT=109 +SETTING_WS=110 'dissect'=1 'drop'=2 'enrich'=3 @@ -130,42 +131,43 @@ SETTING_WS=109 'and'=31 'asc'=32 '='=33 -','=34 -'desc'=35 -'.'=36 -'false'=37 -'first'=38 -'last'=39 -'('=40 -'in'=41 -'is'=42 -'like'=43 -'not'=44 -'null'=45 -'nulls'=46 -'or'=47 -'?'=48 -'rlike'=49 -')'=50 -'true'=51 -'=='=52 -'=~'=53 -'!='=54 -'<'=55 -'<='=56 -'>'=57 -'>='=58 -'+'=59 -'-'=60 -'*'=61 -'/'=62 -'%'=63 -']'=65 -'options'=71 -'metadata'=72 -'as'=81 -'on'=85 -'with'=86 -'info'=97 -'functions'=101 -':'=105 +'::'=34 +','=35 +'desc'=36 +'.'=37 +'false'=38 +'first'=39 +'last'=40 +'('=41 +'in'=42 +'is'=43 +'like'=44 +'not'=45 +'null'=46 +'nulls'=47 +'or'=48 +'?'=49 +'rlike'=50 +')'=51 +'true'=52 +'=='=53 +'=~'=54 +'!='=55 +'<'=56 +'<='=57 +'>'=58 +'>='=59 +'+'=60 +'-'=61 +'*'=62 +'/'=63 +'%'=64 +']'=66 +'options'=72 +'metadata'=73 +'as'=82 +'on'=86 +'with'=87 +'info'=98 +'functions'=102 +':'=106 diff --git a/packages/kbn-esql-ast/src/antlr/esql_parser.ts b/packages/kbn-esql-ast/src/antlr/esql_parser.ts index 3fcca1bb853e1..19b9a742ae228 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_parser.ts +++ b/packages/kbn-esql-ast/src/antlr/esql_parser.ts @@ -51,82 +51,83 @@ export default class esql_parser extends Parser { public static readonly AND = 31; public static readonly ASC = 32; public static readonly ASSIGN = 33; - public static readonly COMMA = 34; - public static readonly DESC = 35; - public static readonly DOT = 36; - public static readonly FALSE = 37; - public static readonly FIRST = 38; - public static readonly LAST = 39; - public static readonly LP = 40; - public static readonly IN = 41; - public static readonly IS = 42; - public static readonly LIKE = 43; - public static readonly NOT = 44; - public static readonly NULL = 45; - public static readonly NULLS = 46; - public static readonly OR = 47; - public static readonly PARAM = 48; - public static readonly RLIKE = 49; - public static readonly RP = 50; - public static readonly TRUE = 51; - public static readonly EQ = 52; - public static readonly CIEQ = 53; - public static readonly NEQ = 54; - public static readonly LT = 55; - public static readonly LTE = 56; - public static readonly GT = 57; - public static readonly GTE = 58; - public static readonly PLUS = 59; - public static readonly MINUS = 60; - public static readonly ASTERISK = 61; - public static readonly SLASH = 62; - public static readonly PERCENT = 63; - public static readonly OPENING_BRACKET = 64; - public static readonly CLOSING_BRACKET = 65; - public static readonly UNQUOTED_IDENTIFIER = 66; - public static readonly QUOTED_IDENTIFIER = 67; - public static readonly EXPR_LINE_COMMENT = 68; - public static readonly EXPR_MULTILINE_COMMENT = 69; - public static readonly EXPR_WS = 70; - public static readonly OPTIONS = 71; - public static readonly METADATA = 72; - public static readonly FROM_UNQUOTED_IDENTIFIER = 73; - public static readonly FROM_LINE_COMMENT = 74; - public static readonly FROM_MULTILINE_COMMENT = 75; - public static readonly FROM_WS = 76; - public static readonly ID_PATTERN = 77; - public static readonly PROJECT_LINE_COMMENT = 78; - public static readonly PROJECT_MULTILINE_COMMENT = 79; - public static readonly PROJECT_WS = 80; - public static readonly AS = 81; - public static readonly RENAME_LINE_COMMENT = 82; - public static readonly RENAME_MULTILINE_COMMENT = 83; - public static readonly RENAME_WS = 84; - public static readonly ON = 85; - public static readonly WITH = 86; - public static readonly ENRICH_POLICY_NAME = 87; - public static readonly ENRICH_LINE_COMMENT = 88; - public static readonly ENRICH_MULTILINE_COMMENT = 89; - public static readonly ENRICH_WS = 90; - public static readonly ENRICH_FIELD_LINE_COMMENT = 91; - public static readonly ENRICH_FIELD_MULTILINE_COMMENT = 92; - public static readonly ENRICH_FIELD_WS = 93; - public static readonly MVEXPAND_LINE_COMMENT = 94; - public static readonly MVEXPAND_MULTILINE_COMMENT = 95; - public static readonly MVEXPAND_WS = 96; - public static readonly INFO = 97; - public static readonly SHOW_LINE_COMMENT = 98; - public static readonly SHOW_MULTILINE_COMMENT = 99; - public static readonly SHOW_WS = 100; - public static readonly FUNCTIONS = 101; - public static readonly META_LINE_COMMENT = 102; - public static readonly META_MULTILINE_COMMENT = 103; - public static readonly META_WS = 104; - public static readonly COLON = 105; - public static readonly SETTING = 106; - public static readonly SETTING_LINE_COMMENT = 107; - public static readonly SETTTING_MULTILINE_COMMENT = 108; - public static readonly SETTING_WS = 109; + public static readonly CAST_OP = 34; + public static readonly COMMA = 35; + public static readonly DESC = 36; + public static readonly DOT = 37; + public static readonly FALSE = 38; + public static readonly FIRST = 39; + public static readonly LAST = 40; + public static readonly LP = 41; + public static readonly IN = 42; + public static readonly IS = 43; + public static readonly LIKE = 44; + public static readonly NOT = 45; + public static readonly NULL = 46; + public static readonly NULLS = 47; + public static readonly OR = 48; + public static readonly PARAM = 49; + public static readonly RLIKE = 50; + public static readonly RP = 51; + public static readonly TRUE = 52; + public static readonly EQ = 53; + public static readonly CIEQ = 54; + public static readonly NEQ = 55; + public static readonly LT = 56; + public static readonly LTE = 57; + public static readonly GT = 58; + public static readonly GTE = 59; + public static readonly PLUS = 60; + public static readonly MINUS = 61; + public static readonly ASTERISK = 62; + public static readonly SLASH = 63; + public static readonly PERCENT = 64; + public static readonly OPENING_BRACKET = 65; + public static readonly CLOSING_BRACKET = 66; + public static readonly UNQUOTED_IDENTIFIER = 67; + public static readonly QUOTED_IDENTIFIER = 68; + public static readonly EXPR_LINE_COMMENT = 69; + public static readonly EXPR_MULTILINE_COMMENT = 70; + public static readonly EXPR_WS = 71; + public static readonly OPTIONS = 72; + public static readonly METADATA = 73; + public static readonly FROM_UNQUOTED_IDENTIFIER = 74; + public static readonly FROM_LINE_COMMENT = 75; + public static readonly FROM_MULTILINE_COMMENT = 76; + public static readonly FROM_WS = 77; + public static readonly ID_PATTERN = 78; + public static readonly PROJECT_LINE_COMMENT = 79; + public static readonly PROJECT_MULTILINE_COMMENT = 80; + public static readonly PROJECT_WS = 81; + public static readonly AS = 82; + public static readonly RENAME_LINE_COMMENT = 83; + public static readonly RENAME_MULTILINE_COMMENT = 84; + public static readonly RENAME_WS = 85; + public static readonly ON = 86; + public static readonly WITH = 87; + public static readonly ENRICH_POLICY_NAME = 88; + public static readonly ENRICH_LINE_COMMENT = 89; + public static readonly ENRICH_MULTILINE_COMMENT = 90; + public static readonly ENRICH_WS = 91; + public static readonly ENRICH_FIELD_LINE_COMMENT = 92; + public static readonly ENRICH_FIELD_MULTILINE_COMMENT = 93; + public static readonly ENRICH_FIELD_WS = 94; + public static readonly MVEXPAND_LINE_COMMENT = 95; + public static readonly MVEXPAND_MULTILINE_COMMENT = 96; + public static readonly MVEXPAND_WS = 97; + public static readonly INFO = 98; + public static readonly SHOW_LINE_COMMENT = 99; + public static readonly SHOW_MULTILINE_COMMENT = 100; + public static readonly SHOW_WS = 101; + public static readonly FUNCTIONS = 102; + public static readonly META_LINE_COMMENT = 103; + public static readonly META_MULTILINE_COMMENT = 104; + public static readonly META_WS = 105; + public static readonly COLON = 106; + public static readonly SETTING = 107; + public static readonly SETTING_LINE_COMMENT = 108; + public static readonly SETTTING_MULTILINE_COMMENT = 109; + public static readonly SETTING_WS = 110; public static readonly EOF = Token.EOF; public static readonly RULE_singleStatement = 0; public static readonly RULE_query = 1; @@ -139,48 +140,49 @@ export default class esql_parser extends Parser { public static readonly RULE_operatorExpression = 8; public static readonly RULE_primaryExpression = 9; public static readonly RULE_functionExpression = 10; - public static readonly RULE_rowCommand = 11; - public static readonly RULE_fields = 12; - public static readonly RULE_field = 13; - public static readonly RULE_fromCommand = 14; - public static readonly RULE_fromIdentifier = 15; - public static readonly RULE_fromOptions = 16; - public static readonly RULE_configOption = 17; - public static readonly RULE_metadata = 18; - public static readonly RULE_metadataOption = 19; - public static readonly RULE_deprecated_metadata = 20; - public static readonly RULE_evalCommand = 21; - public static readonly RULE_statsCommand = 22; - public static readonly RULE_inlinestatsCommand = 23; - public static readonly RULE_qualifiedName = 24; - public static readonly RULE_qualifiedNamePattern = 25; - public static readonly RULE_identifier = 26; - public static readonly RULE_identifierPattern = 27; - public static readonly RULE_constant = 28; - public static readonly RULE_limitCommand = 29; - public static readonly RULE_sortCommand = 30; - public static readonly RULE_orderExpression = 31; - public static readonly RULE_keepCommand = 32; - public static readonly RULE_dropCommand = 33; - public static readonly RULE_renameCommand = 34; - public static readonly RULE_renameClause = 35; - public static readonly RULE_dissectCommand = 36; - public static readonly RULE_grokCommand = 37; - public static readonly RULE_mvExpandCommand = 38; - public static readonly RULE_commandOptions = 39; - public static readonly RULE_commandOption = 40; - public static readonly RULE_booleanValue = 41; - public static readonly RULE_numericValue = 42; - public static readonly RULE_decimalValue = 43; - public static readonly RULE_integerValue = 44; - public static readonly RULE_string = 45; - public static readonly RULE_comparisonOperator = 46; - public static readonly RULE_explainCommand = 47; - public static readonly RULE_subqueryExpression = 48; - public static readonly RULE_showCommand = 49; - public static readonly RULE_metaCommand = 50; - public static readonly RULE_enrichCommand = 51; - public static readonly RULE_enrichWithClause = 52; + public static readonly RULE_dataType = 11; + public static readonly RULE_rowCommand = 12; + public static readonly RULE_fields = 13; + public static readonly RULE_field = 14; + public static readonly RULE_fromCommand = 15; + public static readonly RULE_fromIdentifier = 16; + public static readonly RULE_fromOptions = 17; + public static readonly RULE_configOption = 18; + public static readonly RULE_metadata = 19; + public static readonly RULE_metadataOption = 20; + public static readonly RULE_deprecated_metadata = 21; + public static readonly RULE_evalCommand = 22; + public static readonly RULE_statsCommand = 23; + public static readonly RULE_inlinestatsCommand = 24; + public static readonly RULE_qualifiedName = 25; + public static readonly RULE_qualifiedNamePattern = 26; + public static readonly RULE_identifier = 27; + public static readonly RULE_identifierPattern = 28; + public static readonly RULE_constant = 29; + public static readonly RULE_limitCommand = 30; + public static readonly RULE_sortCommand = 31; + public static readonly RULE_orderExpression = 32; + public static readonly RULE_keepCommand = 33; + public static readonly RULE_dropCommand = 34; + public static readonly RULE_renameCommand = 35; + public static readonly RULE_renameClause = 36; + public static readonly RULE_dissectCommand = 37; + public static readonly RULE_grokCommand = 38; + public static readonly RULE_mvExpandCommand = 39; + public static readonly RULE_commandOptions = 40; + public static readonly RULE_commandOption = 41; + public static readonly RULE_booleanValue = 42; + public static readonly RULE_numericValue = 43; + public static readonly RULE_decimalValue = 44; + public static readonly RULE_integerValue = 45; + public static readonly RULE_string = 46; + public static readonly RULE_comparisonOperator = 47; + public static readonly RULE_explainCommand = 48; + public static readonly RULE_subqueryExpression = 49; + public static readonly RULE_showCommand = 50; + public static readonly RULE_metaCommand = 51; + public static readonly RULE_enrichCommand = 52; + public static readonly RULE_enrichWithClause = 53; public static readonly literalNames: (string | null)[] = [ null, "'dissect'", "'drop'", "'enrich'", "'eval'", "'explain'", @@ -199,25 +201,26 @@ export default class esql_parser extends Parser { null, null, "'by'", "'and'", "'asc'", "'='", - "','", "'desc'", - "'.'", "'false'", - "'first'", "'last'", - "'('", "'in'", - "'is'", "'like'", - "'not'", "'null'", - "'nulls'", "'or'", - "'?'", "'rlike'", - "')'", "'true'", - "'=='", "'=~'", - "'!='", "'<'", - "'<='", "'>'", - "'>='", "'+'", - "'-'", "'*'", - "'/'", "'%'", - null, "']'", + "'::'", "','", + "'desc'", "'.'", + "'false'", "'first'", + "'last'", "'('", + "'in'", "'is'", + "'like'", "'not'", + "'null'", "'nulls'", + "'or'", "'?'", + "'rlike'", "')'", + "'true'", "'=='", + "'=~'", "'!='", + "'<'", "'<='", + "'>'", "'>='", + "'+'", "'-'", + "'*'", "'/'", + "'%'", null, + "']'", null, null, null, null, null, - null, "'options'", + "'options'", "'metadata'", null, null, null, null, @@ -257,6 +260,7 @@ export default class esql_parser extends Parser { "DECIMAL_LITERAL", "BY", "AND", "ASC", "ASSIGN", + "CAST_OP", "COMMA", "DESC", "DOT", "FALSE", "FIRST", "LAST", @@ -318,9 +322,9 @@ export default class esql_parser extends Parser { public static readonly ruleNames: string[] = [ "singleStatement", "query", "sourceCommand", "processingCommand", "whereCommand", "booleanExpression", "regexBooleanExpression", "valueExpression", "operatorExpression", - "primaryExpression", "functionExpression", "rowCommand", "fields", "field", - "fromCommand", "fromIdentifier", "fromOptions", "configOption", "metadata", - "metadataOption", "deprecated_metadata", "evalCommand", "statsCommand", + "primaryExpression", "functionExpression", "dataType", "rowCommand", "fields", + "field", "fromCommand", "fromIdentifier", "fromOptions", "configOption", + "metadata", "metadataOption", "deprecated_metadata", "evalCommand", "statsCommand", "inlinestatsCommand", "qualifiedName", "qualifiedNamePattern", "identifier", "identifierPattern", "constant", "limitCommand", "sortCommand", "orderExpression", "keepCommand", "dropCommand", "renameCommand", "renameClause", "dissectCommand", @@ -350,9 +354,9 @@ export default class esql_parser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 106; + this.state = 108; this.query(0); - this.state = 107; + this.state = 109; this.match(esql_parser.EOF); } } @@ -394,11 +398,11 @@ export default class esql_parser extends Parser { this._ctx = localctx; _prevctx = localctx; - this.state = 110; + this.state = 112; this.sourceCommand(); } this._ctx.stop = this._input.LT(-1); - this.state = 117; + this.state = 119; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 0, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { @@ -411,18 +415,18 @@ export default class esql_parser extends Parser { { localctx = new CompositeQueryContext(this, new QueryContext(this, _parentctx, _parentState)); this.pushNewRecursionContext(localctx, _startState, esql_parser.RULE_query); - this.state = 112; + this.state = 114; if (!(this.precpred(this._ctx, 1))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 1)"); } - this.state = 113; + this.state = 115; this.match(esql_parser.PIPE); - this.state = 114; + this.state = 116; this.processingCommand(); } } } - this.state = 119; + this.state = 121; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 0, this._ctx); } @@ -447,41 +451,41 @@ export default class esql_parser extends Parser { let localctx: SourceCommandContext = new SourceCommandContext(this, this._ctx, this.state); this.enterRule(localctx, 4, esql_parser.RULE_sourceCommand); try { - this.state = 125; + this.state = 127; this._errHandler.sync(this); switch (this._input.LA(1)) { case 5: this.enterOuterAlt(localctx, 1); { - this.state = 120; + this.state = 122; this.explainCommand(); } break; case 6: this.enterOuterAlt(localctx, 2); { - this.state = 121; + this.state = 123; this.fromCommand(); } break; case 14: this.enterOuterAlt(localctx, 3); { - this.state = 122; + this.state = 124; this.rowCommand(); } break; case 15: this.enterOuterAlt(localctx, 4); { - this.state = 123; + this.state = 125; this.showCommand(); } break; case 11: this.enterOuterAlt(localctx, 5); { - this.state = 124; + this.state = 126; this.metaCommand(); } break; @@ -508,97 +512,97 @@ export default class esql_parser extends Parser { let localctx: ProcessingCommandContext = new ProcessingCommandContext(this, this._ctx, this.state); this.enterRule(localctx, 6, esql_parser.RULE_processingCommand); try { - this.state = 140; + this.state = 142; this._errHandler.sync(this); switch (this._input.LA(1)) { case 4: this.enterOuterAlt(localctx, 1); { - this.state = 127; + this.state = 129; this.evalCommand(); } break; case 8: this.enterOuterAlt(localctx, 2); { - this.state = 128; + this.state = 130; this.inlinestatsCommand(); } break; case 10: this.enterOuterAlt(localctx, 3); { - this.state = 129; + this.state = 131; this.limitCommand(); } break; case 9: this.enterOuterAlt(localctx, 4); { - this.state = 130; + this.state = 132; this.keepCommand(); } break; case 16: this.enterOuterAlt(localctx, 5); { - this.state = 131; + this.state = 133; this.sortCommand(); } break; case 17: this.enterOuterAlt(localctx, 6); { - this.state = 132; + this.state = 134; this.statsCommand(); } break; case 18: this.enterOuterAlt(localctx, 7); { - this.state = 133; + this.state = 135; this.whereCommand(); } break; case 2: this.enterOuterAlt(localctx, 8); { - this.state = 134; + this.state = 136; this.dropCommand(); } break; case 13: this.enterOuterAlt(localctx, 9); { - this.state = 135; + this.state = 137; this.renameCommand(); } break; case 1: this.enterOuterAlt(localctx, 10); { - this.state = 136; + this.state = 138; this.dissectCommand(); } break; case 7: this.enterOuterAlt(localctx, 11); { - this.state = 137; + this.state = 139; this.grokCommand(); } break; case 3: this.enterOuterAlt(localctx, 12); { - this.state = 138; + this.state = 140; this.enrichCommand(); } break; case 12: this.enterOuterAlt(localctx, 13); { - this.state = 139; + this.state = 141; this.mvExpandCommand(); } break; @@ -627,9 +631,9 @@ export default class esql_parser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 142; + this.state = 144; this.match(esql_parser.WHERE); - this.state = 143; + this.state = 145; this.booleanExpression(0); } } @@ -667,7 +671,7 @@ export default class esql_parser extends Parser { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 173; + this.state = 175; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 6, this._ctx) ) { case 1: @@ -676,9 +680,9 @@ export default class esql_parser extends Parser { this._ctx = localctx; _prevctx = localctx; - this.state = 146; + this.state = 148; this.match(esql_parser.NOT); - this.state = 147; + this.state = 149; this.booleanExpression(7); } break; @@ -687,7 +691,7 @@ export default class esql_parser extends Parser { localctx = new BooleanDefaultContext(this, localctx); this._ctx = localctx; _prevctx = localctx; - this.state = 148; + this.state = 150; this.valueExpression(); } break; @@ -696,7 +700,7 @@ export default class esql_parser extends Parser { localctx = new RegexExpressionContext(this, localctx); this._ctx = localctx; _prevctx = localctx; - this.state = 149; + this.state = 151; this.regexBooleanExpression(); } break; @@ -705,41 +709,41 @@ export default class esql_parser extends Parser { localctx = new LogicalInContext(this, localctx); this._ctx = localctx; _prevctx = localctx; - this.state = 150; - this.valueExpression(); this.state = 152; + this.valueExpression(); + this.state = 154; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la===44) { + if (_la===45) { { - this.state = 151; + this.state = 153; this.match(esql_parser.NOT); } } - this.state = 154; + this.state = 156; this.match(esql_parser.IN); - this.state = 155; + this.state = 157; this.match(esql_parser.LP); - this.state = 156; + this.state = 158; this.valueExpression(); - this.state = 161; + this.state = 163; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===34) { + while (_la===35) { { { - this.state = 157; + this.state = 159; this.match(esql_parser.COMMA); - this.state = 158; + this.state = 160; this.valueExpression(); } } - this.state = 163; + this.state = 165; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 164; + this.state = 166; this.match(esql_parser.RP); } break; @@ -748,27 +752,27 @@ export default class esql_parser extends Parser { localctx = new IsNullContext(this, localctx); this._ctx = localctx; _prevctx = localctx; - this.state = 166; + this.state = 168; this.valueExpression(); - this.state = 167; - this.match(esql_parser.IS); this.state = 169; + this.match(esql_parser.IS); + this.state = 171; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la===44) { + if (_la===45) { { - this.state = 168; + this.state = 170; this.match(esql_parser.NOT); } } - this.state = 171; + this.state = 173; this.match(esql_parser.NULL); } break; } this._ctx.stop = this._input.LT(-1); - this.state = 183; + this.state = 185; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 8, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { @@ -778,7 +782,7 @@ export default class esql_parser extends Parser { } _prevctx = localctx; { - this.state = 181; + this.state = 183; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 7, this._ctx) ) { case 1: @@ -786,13 +790,13 @@ export default class esql_parser extends Parser { localctx = new LogicalBinaryContext(this, new BooleanExpressionContext(this, _parentctx, _parentState)); (localctx as LogicalBinaryContext)._left = _prevctx; this.pushNewRecursionContext(localctx, _startState, esql_parser.RULE_booleanExpression); - this.state = 175; + this.state = 177; if (!(this.precpred(this._ctx, 4))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 4)"); } - this.state = 176; + this.state = 178; (localctx as LogicalBinaryContext)._operator = this.match(esql_parser.AND); - this.state = 177; + this.state = 179; (localctx as LogicalBinaryContext)._right = this.booleanExpression(5); } break; @@ -801,20 +805,20 @@ export default class esql_parser extends Parser { localctx = new LogicalBinaryContext(this, new BooleanExpressionContext(this, _parentctx, _parentState)); (localctx as LogicalBinaryContext)._left = _prevctx; this.pushNewRecursionContext(localctx, _startState, esql_parser.RULE_booleanExpression); - this.state = 178; + this.state = 180; if (!(this.precpred(this._ctx, 3))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 3)"); } - this.state = 179; + this.state = 181; (localctx as LogicalBinaryContext)._operator = this.match(esql_parser.OR); - this.state = 180; + this.state = 182; (localctx as LogicalBinaryContext)._right = this.booleanExpression(4); } break; } } } - this.state = 185; + this.state = 187; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 8, this._ctx); } @@ -840,48 +844,48 @@ export default class esql_parser extends Parser { this.enterRule(localctx, 12, esql_parser.RULE_regexBooleanExpression); let _la: number; try { - this.state = 200; + this.state = 202; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 11, this._ctx) ) { case 1: this.enterOuterAlt(localctx, 1); { - this.state = 186; - this.valueExpression(); this.state = 188; + this.valueExpression(); + this.state = 190; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la===44) { + if (_la===45) { { - this.state = 187; + this.state = 189; this.match(esql_parser.NOT); } } - this.state = 190; + this.state = 192; localctx._kind = this.match(esql_parser.LIKE); - this.state = 191; + this.state = 193; localctx._pattern = this.string_(); } break; case 2: this.enterOuterAlt(localctx, 2); { - this.state = 193; - this.valueExpression(); this.state = 195; + this.valueExpression(); + this.state = 197; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la===44) { + if (_la===45) { { - this.state = 194; + this.state = 196; this.match(esql_parser.NOT); } } - this.state = 197; + this.state = 199; localctx._kind = this.match(esql_parser.RLIKE); - this.state = 198; + this.state = 200; localctx._pattern = this.string_(); } break; @@ -906,14 +910,14 @@ export default class esql_parser extends Parser { let localctx: ValueExpressionContext = new ValueExpressionContext(this, this._ctx, this.state); this.enterRule(localctx, 14, esql_parser.RULE_valueExpression); try { - this.state = 207; + this.state = 209; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 12, this._ctx) ) { case 1: localctx = new ValueExpressionDefaultContext(this, localctx); this.enterOuterAlt(localctx, 1); { - this.state = 202; + this.state = 204; this.operatorExpression(0); } break; @@ -921,11 +925,11 @@ export default class esql_parser extends Parser { localctx = new ComparisonContext(this, localctx); this.enterOuterAlt(localctx, 2); { - this.state = 203; + this.state = 205; (localctx as ComparisonContext)._left = this.operatorExpression(0); - this.state = 204; + this.state = 206; this.comparisonOperator(); - this.state = 205; + this.state = 207; (localctx as ComparisonContext)._right = this.operatorExpression(0); } break; @@ -965,7 +969,7 @@ export default class esql_parser extends Parser { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 213; + this.state = 215; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 13, this._ctx) ) { case 1: @@ -974,8 +978,8 @@ export default class esql_parser extends Parser { this._ctx = localctx; _prevctx = localctx; - this.state = 210; - this.primaryExpression(); + this.state = 212; + this.primaryExpression(0); } break; case 2: @@ -983,23 +987,23 @@ export default class esql_parser extends Parser { localctx = new ArithmeticUnaryContext(this, localctx); this._ctx = localctx; _prevctx = localctx; - this.state = 211; + this.state = 213; (localctx as ArithmeticUnaryContext)._operator = this._input.LT(1); _la = this._input.LA(1); - if(!(_la===59 || _la===60)) { + if(!(_la===60 || _la===61)) { (localctx as ArithmeticUnaryContext)._operator = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } - this.state = 212; + this.state = 214; this.operatorExpression(3); } break; } this._ctx.stop = this._input.LT(-1); - this.state = 223; + this.state = 225; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 15, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { @@ -1009,7 +1013,7 @@ export default class esql_parser extends Parser { } _prevctx = localctx; { - this.state = 221; + this.state = 223; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 14, this._ctx) ) { case 1: @@ -1017,21 +1021,21 @@ export default class esql_parser extends Parser { localctx = new ArithmeticBinaryContext(this, new OperatorExpressionContext(this, _parentctx, _parentState)); (localctx as ArithmeticBinaryContext)._left = _prevctx; this.pushNewRecursionContext(localctx, _startState, esql_parser.RULE_operatorExpression); - this.state = 215; + this.state = 217; if (!(this.precpred(this._ctx, 2))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 2)"); } - this.state = 216; + this.state = 218; (localctx as ArithmeticBinaryContext)._operator = this._input.LT(1); _la = this._input.LA(1); - if(!(((((_la - 61)) & ~0x1F) === 0 && ((1 << (_la - 61)) & 7) !== 0))) { + if(!(((((_la - 62)) & ~0x1F) === 0 && ((1 << (_la - 62)) & 7) !== 0))) { (localctx as ArithmeticBinaryContext)._operator = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } - this.state = 217; + this.state = 219; (localctx as ArithmeticBinaryContext)._right = this.operatorExpression(3); } break; @@ -1040,28 +1044,28 @@ export default class esql_parser extends Parser { localctx = new ArithmeticBinaryContext(this, new OperatorExpressionContext(this, _parentctx, _parentState)); (localctx as ArithmeticBinaryContext)._left = _prevctx; this.pushNewRecursionContext(localctx, _startState, esql_parser.RULE_operatorExpression); - this.state = 218; + this.state = 220; if (!(this.precpred(this._ctx, 1))) { throw this.createFailedPredicateException("this.precpred(this._ctx, 1)"); } - this.state = 219; + this.state = 221; (localctx as ArithmeticBinaryContext)._operator = this._input.LT(1); _la = this._input.LA(1); - if(!(_la===59 || _la===60)) { + if(!(_la===60 || _la===61)) { (localctx as ArithmeticBinaryContext)._operator = this._errHandler.recoverInline(this); } else { this._errHandler.reportMatch(this); this.consume(); } - this.state = 220; + this.state = 222; (localctx as ArithmeticBinaryContext)._right = this.operatorExpression(2); } break; } } } - this.state = 225; + this.state = 227; this._errHandler.sync(this); _alt = this._interp.adaptivePredict(this._input, 15, this._ctx); } @@ -1081,51 +1085,100 @@ export default class esql_parser extends Parser { } return localctx; } + + public primaryExpression(): PrimaryExpressionContext; + public primaryExpression(_p: number): PrimaryExpressionContext; // @RuleVersion(0) - public primaryExpression(): PrimaryExpressionContext { - let localctx: PrimaryExpressionContext = new PrimaryExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 18, esql_parser.RULE_primaryExpression); + public primaryExpression(_p?: number): PrimaryExpressionContext { + if (_p === undefined) { + _p = 0; + } + + let _parentctx: ParserRuleContext = this._ctx; + let _parentState: number = this.state; + let localctx: PrimaryExpressionContext = new PrimaryExpressionContext(this, this._ctx, _parentState); + let _prevctx: PrimaryExpressionContext = localctx; + let _startState: number = 18; + this.enterRecursionRule(localctx, 18, esql_parser.RULE_primaryExpression, _p); try { - this.state = 233; + let _alt: number; + this.enterOuterAlt(localctx, 1); + { + this.state = 236; this._errHandler.sync(this); switch ( this._interp.adaptivePredict(this._input, 16, this._ctx) ) { case 1: - localctx = new ConstantDefaultContext(this, localctx); - this.enterOuterAlt(localctx, 1); { - this.state = 226; + localctx = new ConstantDefaultContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + + this.state = 229; this.constant(); } break; case 2: - localctx = new DereferenceContext(this, localctx); - this.enterOuterAlt(localctx, 2); { - this.state = 227; + localctx = new DereferenceContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 230; this.qualifiedName(); } break; case 3: - localctx = new FunctionContext(this, localctx); - this.enterOuterAlt(localctx, 3); { - this.state = 228; + localctx = new FunctionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 231; this.functionExpression(); } break; case 4: - localctx = new ParenthesizedExpressionContext(this, localctx); - this.enterOuterAlt(localctx, 4); { - this.state = 229; + localctx = new ParenthesizedExpressionContext(this, localctx); + this._ctx = localctx; + _prevctx = localctx; + this.state = 232; this.match(esql_parser.LP); - this.state = 230; + this.state = 233; this.booleanExpression(0); - this.state = 231; + this.state = 234; this.match(esql_parser.RP); } break; } + this._ctx.stop = this._input.LT(-1); + this.state = 243; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 17, this._ctx); + while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { + if (_alt === 1) { + if (this._parseListeners != null) { + this.triggerExitRuleEvent(); + } + _prevctx = localctx; + { + { + localctx = new InlineCastContext(this, new PrimaryExpressionContext(this, _parentctx, _parentState)); + this.pushNewRecursionContext(localctx, _startState, esql_parser.RULE_primaryExpression); + this.state = 238; + if (!(this.precpred(this._ctx, 1))) { + throw this.createFailedPredicateException("this.precpred(this._ctx, 1)"); + } + this.state = 239; + this.match(esql_parser.CAST_OP); + this.state = 240; + this.dataType(); + } + } + } + this.state = 245; + this._errHandler.sync(this); + _alt = this._interp.adaptivePredict(this._input, 17, this._ctx); + } + } } catch (re) { if (re instanceof RecognitionException) { @@ -1137,7 +1190,7 @@ export default class esql_parser extends Parser { } } finally { - this.exitRule(); + this.unrollRecursionContexts(_parentctx); } return localctx; } @@ -1149,62 +1202,62 @@ export default class esql_parser extends Parser { try { this.enterOuterAlt(localctx, 1); { - this.state = 235; + this.state = 246; this.identifier(); - this.state = 236; + this.state = 247; this.match(esql_parser.LP); - this.state = 246; + this.state = 257; this._errHandler.sync(this); switch (this._input.LA(1)) { - case 61: + case 62: { - this.state = 237; + this.state = 248; this.match(esql_parser.ASTERISK); } break; case 27: case 28: case 29: - case 37: - case 40: - case 44: + case 38: + case 41: case 45: - case 48: - case 51: - case 59: + case 46: + case 49: + case 52: case 60: - case 64: - case 66: + case 61: + case 65: case 67: + case 68: { { - this.state = 238; + this.state = 249; this.booleanExpression(0); - this.state = 243; + this.state = 254; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===34) { + while (_la===35) { { { - this.state = 239; + this.state = 250; this.match(esql_parser.COMMA); - this.state = 240; + this.state = 251; this.booleanExpression(0); } } - this.state = 245; + this.state = 256; this._errHandler.sync(this); _la = this._input.LA(1); } } } break; - case 50: + case 51: break; default: break; } - this.state = 248; + this.state = 259; this.match(esql_parser.RP); } } @@ -1223,15 +1276,41 @@ export default class esql_parser extends Parser { return localctx; } // @RuleVersion(0) + public dataType(): DataTypeContext { + let localctx: DataTypeContext = new DataTypeContext(this, this._ctx, this.state); + this.enterRule(localctx, 22, esql_parser.RULE_dataType); + try { + localctx = new ToDataTypeContext(this, localctx); + this.enterOuterAlt(localctx, 1); + { + this.state = 261; + this.identifier(); + } + } + catch (re) { + if (re instanceof RecognitionException) { + localctx.exception = re; + this._errHandler.reportError(this, re); + this._errHandler.recover(this, re); + } else { + throw re; + } + } + finally { + this.exitRule(); + } + return localctx; + } + // @RuleVersion(0) public rowCommand(): RowCommandContext { let localctx: RowCommandContext = new RowCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 22, esql_parser.RULE_rowCommand); + this.enterRule(localctx, 24, esql_parser.RULE_rowCommand); try { this.enterOuterAlt(localctx, 1); { - this.state = 250; + this.state = 263; this.match(esql_parser.ROW); - this.state = 251; + this.state = 264; this.fields(); } } @@ -1252,30 +1331,30 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public fields(): FieldsContext { let localctx: FieldsContext = new FieldsContext(this, this._ctx, this.state); - this.enterRule(localctx, 24, esql_parser.RULE_fields); + this.enterRule(localctx, 26, esql_parser.RULE_fields); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 253; + this.state = 266; this.field(); - this.state = 258; + this.state = 271; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 19, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 20, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 254; + this.state = 267; this.match(esql_parser.COMMA); - this.state = 255; + this.state = 268; this.field(); } } } - this.state = 260; + this.state = 273; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 19, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 20, this._ctx); } } } @@ -1296,26 +1375,26 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public field(): FieldContext { let localctx: FieldContext = new FieldContext(this, this._ctx, this.state); - this.enterRule(localctx, 26, esql_parser.RULE_field); + this.enterRule(localctx, 28, esql_parser.RULE_field); try { - this.state = 266; + this.state = 279; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 20, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 21, this._ctx) ) { case 1: this.enterOuterAlt(localctx, 1); { - this.state = 261; + this.state = 274; this.booleanExpression(0); } break; case 2: this.enterOuterAlt(localctx, 2); { - this.state = 262; + this.state = 275; this.qualifiedName(); - this.state = 263; + this.state = 276; this.match(esql_parser.ASSIGN); - this.state = 264; + this.state = 277; this.booleanExpression(0); } break; @@ -1338,49 +1417,49 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public fromCommand(): FromCommandContext { let localctx: FromCommandContext = new FromCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 28, esql_parser.RULE_fromCommand); + this.enterRule(localctx, 30, esql_parser.RULE_fromCommand); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 268; + this.state = 281; this.match(esql_parser.FROM); - this.state = 269; + this.state = 282; this.fromIdentifier(); - this.state = 274; + this.state = 287; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 21, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 22, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 270; + this.state = 283; this.match(esql_parser.COMMA); - this.state = 271; + this.state = 284; this.fromIdentifier(); } } } - this.state = 276; + this.state = 289; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 21, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 22, this._ctx); } - this.state = 278; + this.state = 291; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 22, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 23, this._ctx) ) { case 1: { - this.state = 277; + this.state = 290; this.metadata(); } break; } - this.state = 281; + this.state = 294; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 23, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 24, this._ctx) ) { case 1: { - this.state = 280; + this.state = 293; this.fromOptions(); } break; @@ -1404,14 +1483,14 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public fromIdentifier(): FromIdentifierContext { let localctx: FromIdentifierContext = new FromIdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 30, esql_parser.RULE_fromIdentifier); + this.enterRule(localctx, 32, esql_parser.RULE_fromIdentifier); let _la: number; try { this.enterOuterAlt(localctx, 1); { - this.state = 283; + this.state = 296; _la = this._input.LA(1); - if(!(_la===67 || _la===73)) { + if(!(_la===68 || _la===74)) { this._errHandler.recoverInline(this); } else { @@ -1437,32 +1516,32 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public fromOptions(): FromOptionsContext { let localctx: FromOptionsContext = new FromOptionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 32, esql_parser.RULE_fromOptions); + this.enterRule(localctx, 34, esql_parser.RULE_fromOptions); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 285; + this.state = 298; this.match(esql_parser.OPTIONS); - this.state = 286; + this.state = 299; this.configOption(); - this.state = 291; + this.state = 304; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 24, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 25, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 287; + this.state = 300; this.match(esql_parser.COMMA); - this.state = 288; + this.state = 301; this.configOption(); } } } - this.state = 293; + this.state = 306; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 24, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 25, this._ctx); } } } @@ -1483,15 +1562,15 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public configOption(): ConfigOptionContext { let localctx: ConfigOptionContext = new ConfigOptionContext(this, this._ctx, this.state); - this.enterRule(localctx, 34, esql_parser.RULE_configOption); + this.enterRule(localctx, 36, esql_parser.RULE_configOption); try { this.enterOuterAlt(localctx, 1); { - this.state = 294; + this.state = 307; this.string_(); - this.state = 295; + this.state = 308; this.match(esql_parser.ASSIGN); - this.state = 296; + this.state = 309; this.string_(); } } @@ -1512,22 +1591,22 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public metadata(): MetadataContext { let localctx: MetadataContext = new MetadataContext(this, this._ctx, this.state); - this.enterRule(localctx, 36, esql_parser.RULE_metadata); + this.enterRule(localctx, 38, esql_parser.RULE_metadata); try { - this.state = 300; + this.state = 313; this._errHandler.sync(this); switch (this._input.LA(1)) { - case 72: + case 73: this.enterOuterAlt(localctx, 1); { - this.state = 298; + this.state = 311; this.metadataOption(); } break; - case 64: + case 65: this.enterOuterAlt(localctx, 2); { - this.state = 299; + this.state = 312; this.deprecated_metadata(); } break; @@ -1552,32 +1631,32 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public metadataOption(): MetadataOptionContext { let localctx: MetadataOptionContext = new MetadataOptionContext(this, this._ctx, this.state); - this.enterRule(localctx, 38, esql_parser.RULE_metadataOption); + this.enterRule(localctx, 40, esql_parser.RULE_metadataOption); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 302; + this.state = 315; this.match(esql_parser.METADATA); - this.state = 303; + this.state = 316; this.fromIdentifier(); - this.state = 308; + this.state = 321; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 26, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 27, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 304; + this.state = 317; this.match(esql_parser.COMMA); - this.state = 305; + this.state = 318; this.fromIdentifier(); } } } - this.state = 310; + this.state = 323; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 26, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 27, this._ctx); } } } @@ -1598,15 +1677,15 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public deprecated_metadata(): Deprecated_metadataContext { let localctx: Deprecated_metadataContext = new Deprecated_metadataContext(this, this._ctx, this.state); - this.enterRule(localctx, 40, esql_parser.RULE_deprecated_metadata); + this.enterRule(localctx, 42, esql_parser.RULE_deprecated_metadata); try { this.enterOuterAlt(localctx, 1); { - this.state = 311; + this.state = 324; this.match(esql_parser.OPENING_BRACKET); - this.state = 312; + this.state = 325; this.metadataOption(); - this.state = 313; + this.state = 326; this.match(esql_parser.CLOSING_BRACKET); } } @@ -1627,13 +1706,13 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public evalCommand(): EvalCommandContext { let localctx: EvalCommandContext = new EvalCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 42, esql_parser.RULE_evalCommand); + this.enterRule(localctx, 44, esql_parser.RULE_evalCommand); try { this.enterOuterAlt(localctx, 1); { - this.state = 315; + this.state = 328; this.match(esql_parser.EVAL); - this.state = 316; + this.state = 329; this.fields(); } } @@ -1654,30 +1733,30 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public statsCommand(): StatsCommandContext { let localctx: StatsCommandContext = new StatsCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 44, esql_parser.RULE_statsCommand); + this.enterRule(localctx, 46, esql_parser.RULE_statsCommand); try { this.enterOuterAlt(localctx, 1); { - this.state = 318; + this.state = 331; this.match(esql_parser.STATS); - this.state = 320; + this.state = 333; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 27, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 28, this._ctx) ) { case 1: { - this.state = 319; + this.state = 332; localctx._stats = this.fields(); } break; } - this.state = 324; + this.state = 337; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 28, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 29, this._ctx) ) { case 1: { - this.state = 322; + this.state = 335; this.match(esql_parser.BY); - this.state = 323; + this.state = 336; localctx._grouping = this.fields(); } break; @@ -1701,22 +1780,22 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public inlinestatsCommand(): InlinestatsCommandContext { let localctx: InlinestatsCommandContext = new InlinestatsCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 46, esql_parser.RULE_inlinestatsCommand); + this.enterRule(localctx, 48, esql_parser.RULE_inlinestatsCommand); try { this.enterOuterAlt(localctx, 1); { - this.state = 326; + this.state = 339; this.match(esql_parser.INLINESTATS); - this.state = 327; + this.state = 340; localctx._stats = this.fields(); - this.state = 330; + this.state = 343; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 29, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 30, this._ctx) ) { case 1: { - this.state = 328; + this.state = 341; this.match(esql_parser.BY); - this.state = 329; + this.state = 342; localctx._grouping = this.fields(); } break; @@ -1740,30 +1819,30 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public qualifiedName(): QualifiedNameContext { let localctx: QualifiedNameContext = new QualifiedNameContext(this, this._ctx, this.state); - this.enterRule(localctx, 48, esql_parser.RULE_qualifiedName); + this.enterRule(localctx, 50, esql_parser.RULE_qualifiedName); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 332; + this.state = 345; this.identifier(); - this.state = 337; + this.state = 350; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 30, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 31, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 333; + this.state = 346; this.match(esql_parser.DOT); - this.state = 334; + this.state = 347; this.identifier(); } } } - this.state = 339; + this.state = 352; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 30, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 31, this._ctx); } } } @@ -1784,30 +1863,30 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public qualifiedNamePattern(): QualifiedNamePatternContext { let localctx: QualifiedNamePatternContext = new QualifiedNamePatternContext(this, this._ctx, this.state); - this.enterRule(localctx, 50, esql_parser.RULE_qualifiedNamePattern); + this.enterRule(localctx, 52, esql_parser.RULE_qualifiedNamePattern); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 340; + this.state = 353; this.identifierPattern(); - this.state = 345; + this.state = 358; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 31, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 32, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 341; + this.state = 354; this.match(esql_parser.DOT); - this.state = 342; + this.state = 355; this.identifierPattern(); } } } - this.state = 347; + this.state = 360; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 31, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 32, this._ctx); } } } @@ -1828,14 +1907,14 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public identifier(): IdentifierContext { let localctx: IdentifierContext = new IdentifierContext(this, this._ctx, this.state); - this.enterRule(localctx, 52, esql_parser.RULE_identifier); + this.enterRule(localctx, 54, esql_parser.RULE_identifier); let _la: number; try { this.enterOuterAlt(localctx, 1); { - this.state = 348; + this.state = 361; _la = this._input.LA(1); - if(!(_la===66 || _la===67)) { + if(!(_la===67 || _la===68)) { this._errHandler.recoverInline(this); } else { @@ -1861,11 +1940,11 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public identifierPattern(): IdentifierPatternContext { let localctx: IdentifierPatternContext = new IdentifierPatternContext(this, this._ctx, this.state); - this.enterRule(localctx, 54, esql_parser.RULE_identifierPattern); + this.enterRule(localctx, 56, esql_parser.RULE_identifierPattern); try { this.enterOuterAlt(localctx, 1); { - this.state = 350; + this.state = 363; this.match(esql_parser.ID_PATTERN); } } @@ -1886,17 +1965,17 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public constant(): ConstantContext { let localctx: ConstantContext = new ConstantContext(this, this._ctx, this.state); - this.enterRule(localctx, 56, esql_parser.RULE_constant); + this.enterRule(localctx, 58, esql_parser.RULE_constant); let _la: number; try { - this.state = 394; + this.state = 407; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 35, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 36, this._ctx) ) { case 1: localctx = new NullLiteralContext(this, localctx); this.enterOuterAlt(localctx, 1); { - this.state = 352; + this.state = 365; this.match(esql_parser.NULL); } break; @@ -1904,9 +1983,9 @@ export default class esql_parser extends Parser { localctx = new QualifiedIntegerLiteralContext(this, localctx); this.enterOuterAlt(localctx, 2); { - this.state = 353; + this.state = 366; this.integerValue(); - this.state = 354; + this.state = 367; this.match(esql_parser.UNQUOTED_IDENTIFIER); } break; @@ -1914,7 +1993,7 @@ export default class esql_parser extends Parser { localctx = new DecimalLiteralContext(this, localctx); this.enterOuterAlt(localctx, 3); { - this.state = 356; + this.state = 369; this.decimalValue(); } break; @@ -1922,7 +2001,7 @@ export default class esql_parser extends Parser { localctx = new IntegerLiteralContext(this, localctx); this.enterOuterAlt(localctx, 4); { - this.state = 357; + this.state = 370; this.integerValue(); } break; @@ -1930,7 +2009,7 @@ export default class esql_parser extends Parser { localctx = new BooleanLiteralContext(this, localctx); this.enterOuterAlt(localctx, 5); { - this.state = 358; + this.state = 371; this.booleanValue(); } break; @@ -1938,7 +2017,7 @@ export default class esql_parser extends Parser { localctx = new InputParamContext(this, localctx); this.enterOuterAlt(localctx, 6); { - this.state = 359; + this.state = 372; this.match(esql_parser.PARAM); } break; @@ -1946,7 +2025,7 @@ export default class esql_parser extends Parser { localctx = new StringLiteralContext(this, localctx); this.enterOuterAlt(localctx, 7); { - this.state = 360; + this.state = 373; this.string_(); } break; @@ -1954,27 +2033,27 @@ export default class esql_parser extends Parser { localctx = new NumericArrayLiteralContext(this, localctx); this.enterOuterAlt(localctx, 8); { - this.state = 361; + this.state = 374; this.match(esql_parser.OPENING_BRACKET); - this.state = 362; + this.state = 375; this.numericValue(); - this.state = 367; + this.state = 380; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===34) { + while (_la===35) { { { - this.state = 363; + this.state = 376; this.match(esql_parser.COMMA); - this.state = 364; + this.state = 377; this.numericValue(); } } - this.state = 369; + this.state = 382; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 370; + this.state = 383; this.match(esql_parser.CLOSING_BRACKET); } break; @@ -1982,27 +2061,27 @@ export default class esql_parser extends Parser { localctx = new BooleanArrayLiteralContext(this, localctx); this.enterOuterAlt(localctx, 9); { - this.state = 372; + this.state = 385; this.match(esql_parser.OPENING_BRACKET); - this.state = 373; + this.state = 386; this.booleanValue(); - this.state = 378; + this.state = 391; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===34) { + while (_la===35) { { { - this.state = 374; + this.state = 387; this.match(esql_parser.COMMA); - this.state = 375; + this.state = 388; this.booleanValue(); } } - this.state = 380; + this.state = 393; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 381; + this.state = 394; this.match(esql_parser.CLOSING_BRACKET); } break; @@ -2010,27 +2089,27 @@ export default class esql_parser extends Parser { localctx = new StringArrayLiteralContext(this, localctx); this.enterOuterAlt(localctx, 10); { - this.state = 383; + this.state = 396; this.match(esql_parser.OPENING_BRACKET); - this.state = 384; + this.state = 397; this.string_(); - this.state = 389; + this.state = 402; this._errHandler.sync(this); _la = this._input.LA(1); - while (_la===34) { + while (_la===35) { { { - this.state = 385; + this.state = 398; this.match(esql_parser.COMMA); - this.state = 386; + this.state = 399; this.string_(); } } - this.state = 391; + this.state = 404; this._errHandler.sync(this); _la = this._input.LA(1); } - this.state = 392; + this.state = 405; this.match(esql_parser.CLOSING_BRACKET); } break; @@ -2053,13 +2132,13 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public limitCommand(): LimitCommandContext { let localctx: LimitCommandContext = new LimitCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 58, esql_parser.RULE_limitCommand); + this.enterRule(localctx, 60, esql_parser.RULE_limitCommand); try { this.enterOuterAlt(localctx, 1); { - this.state = 396; + this.state = 409; this.match(esql_parser.LIMIT); - this.state = 397; + this.state = 410; this.match(esql_parser.INTEGER_LITERAL); } } @@ -2080,32 +2159,32 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public sortCommand(): SortCommandContext { let localctx: SortCommandContext = new SortCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 60, esql_parser.RULE_sortCommand); + this.enterRule(localctx, 62, esql_parser.RULE_sortCommand); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 399; + this.state = 412; this.match(esql_parser.SORT); - this.state = 400; + this.state = 413; this.orderExpression(); - this.state = 405; + this.state = 418; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 36, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 37, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 401; + this.state = 414; this.match(esql_parser.COMMA); - this.state = 402; + this.state = 415; this.orderExpression(); } } } - this.state = 407; + this.state = 420; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 36, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 37, this._ctx); } } } @@ -2126,22 +2205,22 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public orderExpression(): OrderExpressionContext { let localctx: OrderExpressionContext = new OrderExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 62, esql_parser.RULE_orderExpression); + this.enterRule(localctx, 64, esql_parser.RULE_orderExpression); let _la: number; try { this.enterOuterAlt(localctx, 1); { - this.state = 408; + this.state = 421; this.booleanExpression(0); - this.state = 410; + this.state = 423; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 37, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 38, this._ctx) ) { case 1: { - this.state = 409; + this.state = 422; localctx._ordering = this._input.LT(1); _la = this._input.LA(1); - if(!(_la===32 || _la===35)) { + if(!(_la===32 || _la===36)) { localctx._ordering = this._errHandler.recoverInline(this); } else { @@ -2151,17 +2230,17 @@ export default class esql_parser extends Parser { } break; } - this.state = 414; + this.state = 427; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 38, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 39, this._ctx) ) { case 1: { - this.state = 412; + this.state = 425; this.match(esql_parser.NULLS); - this.state = 413; + this.state = 426; localctx._nullOrdering = this._input.LT(1); _la = this._input.LA(1); - if(!(_la===38 || _la===39)) { + if(!(_la===39 || _la===40)) { localctx._nullOrdering = this._errHandler.recoverInline(this); } else { @@ -2190,32 +2269,32 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public keepCommand(): KeepCommandContext { let localctx: KeepCommandContext = new KeepCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 64, esql_parser.RULE_keepCommand); + this.enterRule(localctx, 66, esql_parser.RULE_keepCommand); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 416; + this.state = 429; this.match(esql_parser.KEEP); - this.state = 417; + this.state = 430; this.qualifiedNamePattern(); - this.state = 422; + this.state = 435; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 39, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 40, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 418; + this.state = 431; this.match(esql_parser.COMMA); - this.state = 419; + this.state = 432; this.qualifiedNamePattern(); } } } - this.state = 424; + this.state = 437; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 39, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 40, this._ctx); } } } @@ -2236,32 +2315,32 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public dropCommand(): DropCommandContext { let localctx: DropCommandContext = new DropCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 66, esql_parser.RULE_dropCommand); + this.enterRule(localctx, 68, esql_parser.RULE_dropCommand); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 425; + this.state = 438; this.match(esql_parser.DROP); - this.state = 426; + this.state = 439; this.qualifiedNamePattern(); - this.state = 431; + this.state = 444; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 40, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 41, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 427; + this.state = 440; this.match(esql_parser.COMMA); - this.state = 428; + this.state = 441; this.qualifiedNamePattern(); } } } - this.state = 433; + this.state = 446; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 40, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 41, this._ctx); } } } @@ -2282,32 +2361,32 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public renameCommand(): RenameCommandContext { let localctx: RenameCommandContext = new RenameCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 68, esql_parser.RULE_renameCommand); + this.enterRule(localctx, 70, esql_parser.RULE_renameCommand); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 434; + this.state = 447; this.match(esql_parser.RENAME); - this.state = 435; + this.state = 448; this.renameClause(); - this.state = 440; + this.state = 453; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 41, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 42, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 436; + this.state = 449; this.match(esql_parser.COMMA); - this.state = 437; + this.state = 450; this.renameClause(); } } } - this.state = 442; + this.state = 455; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 41, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 42, this._ctx); } } } @@ -2328,15 +2407,15 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public renameClause(): RenameClauseContext { let localctx: RenameClauseContext = new RenameClauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 70, esql_parser.RULE_renameClause); + this.enterRule(localctx, 72, esql_parser.RULE_renameClause); try { this.enterOuterAlt(localctx, 1); { - this.state = 443; + this.state = 456; localctx._oldName = this.qualifiedNamePattern(); - this.state = 444; + this.state = 457; this.match(esql_parser.AS); - this.state = 445; + this.state = 458; localctx._newName = this.qualifiedNamePattern(); } } @@ -2357,22 +2436,22 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public dissectCommand(): DissectCommandContext { let localctx: DissectCommandContext = new DissectCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 72, esql_parser.RULE_dissectCommand); + this.enterRule(localctx, 74, esql_parser.RULE_dissectCommand); try { this.enterOuterAlt(localctx, 1); { - this.state = 447; + this.state = 460; this.match(esql_parser.DISSECT); - this.state = 448; - this.primaryExpression(); - this.state = 449; + this.state = 461; + this.primaryExpression(0); + this.state = 462; this.string_(); - this.state = 451; + this.state = 464; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 42, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 43, this._ctx) ) { case 1: { - this.state = 450; + this.state = 463; this.commandOptions(); } break; @@ -2396,15 +2475,15 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public grokCommand(): GrokCommandContext { let localctx: GrokCommandContext = new GrokCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 74, esql_parser.RULE_grokCommand); + this.enterRule(localctx, 76, esql_parser.RULE_grokCommand); try { this.enterOuterAlt(localctx, 1); { - this.state = 453; + this.state = 466; this.match(esql_parser.GROK); - this.state = 454; - this.primaryExpression(); - this.state = 455; + this.state = 467; + this.primaryExpression(0); + this.state = 468; this.string_(); } } @@ -2425,13 +2504,13 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public mvExpandCommand(): MvExpandCommandContext { let localctx: MvExpandCommandContext = new MvExpandCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 76, esql_parser.RULE_mvExpandCommand); + this.enterRule(localctx, 78, esql_parser.RULE_mvExpandCommand); try { this.enterOuterAlt(localctx, 1); { - this.state = 457; + this.state = 470; this.match(esql_parser.MV_EXPAND); - this.state = 458; + this.state = 471; this.qualifiedName(); } } @@ -2452,30 +2531,30 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public commandOptions(): CommandOptionsContext { let localctx: CommandOptionsContext = new CommandOptionsContext(this, this._ctx, this.state); - this.enterRule(localctx, 78, esql_parser.RULE_commandOptions); + this.enterRule(localctx, 80, esql_parser.RULE_commandOptions); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 460; + this.state = 473; this.commandOption(); - this.state = 465; + this.state = 478; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 43, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 44, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 461; + this.state = 474; this.match(esql_parser.COMMA); - this.state = 462; + this.state = 475; this.commandOption(); } } } - this.state = 467; + this.state = 480; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 43, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 44, this._ctx); } } } @@ -2496,15 +2575,15 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public commandOption(): CommandOptionContext { let localctx: CommandOptionContext = new CommandOptionContext(this, this._ctx, this.state); - this.enterRule(localctx, 80, esql_parser.RULE_commandOption); + this.enterRule(localctx, 82, esql_parser.RULE_commandOption); try { this.enterOuterAlt(localctx, 1); { - this.state = 468; + this.state = 481; this.identifier(); - this.state = 469; + this.state = 482; this.match(esql_parser.ASSIGN); - this.state = 470; + this.state = 483; this.constant(); } } @@ -2525,14 +2604,14 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public booleanValue(): BooleanValueContext { let localctx: BooleanValueContext = new BooleanValueContext(this, this._ctx, this.state); - this.enterRule(localctx, 82, esql_parser.RULE_booleanValue); + this.enterRule(localctx, 84, esql_parser.RULE_booleanValue); let _la: number; try { this.enterOuterAlt(localctx, 1); { - this.state = 472; + this.state = 485; _la = this._input.LA(1); - if(!(_la===37 || _la===51)) { + if(!(_la===38 || _la===52)) { this._errHandler.recoverInline(this); } else { @@ -2558,22 +2637,22 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public numericValue(): NumericValueContext { let localctx: NumericValueContext = new NumericValueContext(this, this._ctx, this.state); - this.enterRule(localctx, 84, esql_parser.RULE_numericValue); + this.enterRule(localctx, 86, esql_parser.RULE_numericValue); try { - this.state = 476; + this.state = 489; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 44, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 45, this._ctx) ) { case 1: this.enterOuterAlt(localctx, 1); { - this.state = 474; + this.state = 487; this.decimalValue(); } break; case 2: this.enterOuterAlt(localctx, 2); { - this.state = 475; + this.state = 488; this.integerValue(); } break; @@ -2596,19 +2675,19 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public decimalValue(): DecimalValueContext { let localctx: DecimalValueContext = new DecimalValueContext(this, this._ctx, this.state); - this.enterRule(localctx, 86, esql_parser.RULE_decimalValue); + this.enterRule(localctx, 88, esql_parser.RULE_decimalValue); let _la: number; try { this.enterOuterAlt(localctx, 1); { - this.state = 479; + this.state = 492; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la===59 || _la===60) { + if (_la===60 || _la===61) { { - this.state = 478; + this.state = 491; _la = this._input.LA(1); - if(!(_la===59 || _la===60)) { + if(!(_la===60 || _la===61)) { this._errHandler.recoverInline(this); } else { @@ -2618,7 +2697,7 @@ export default class esql_parser extends Parser { } } - this.state = 481; + this.state = 494; this.match(esql_parser.DECIMAL_LITERAL); } } @@ -2639,19 +2718,19 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public integerValue(): IntegerValueContext { let localctx: IntegerValueContext = new IntegerValueContext(this, this._ctx, this.state); - this.enterRule(localctx, 88, esql_parser.RULE_integerValue); + this.enterRule(localctx, 90, esql_parser.RULE_integerValue); let _la: number; try { this.enterOuterAlt(localctx, 1); { - this.state = 484; + this.state = 497; this._errHandler.sync(this); _la = this._input.LA(1); - if (_la===59 || _la===60) { + if (_la===60 || _la===61) { { - this.state = 483; + this.state = 496; _la = this._input.LA(1); - if(!(_la===59 || _la===60)) { + if(!(_la===60 || _la===61)) { this._errHandler.recoverInline(this); } else { @@ -2661,7 +2740,7 @@ export default class esql_parser extends Parser { } } - this.state = 486; + this.state = 499; this.match(esql_parser.INTEGER_LITERAL); } } @@ -2682,11 +2761,11 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public string_(): StringContext { let localctx: StringContext = new StringContext(this, this._ctx, this.state); - this.enterRule(localctx, 90, esql_parser.RULE_string); + this.enterRule(localctx, 92, esql_parser.RULE_string); try { this.enterOuterAlt(localctx, 1); { - this.state = 488; + this.state = 501; this.match(esql_parser.QUOTED_STRING); } } @@ -2707,14 +2786,14 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public comparisonOperator(): ComparisonOperatorContext { let localctx: ComparisonOperatorContext = new ComparisonOperatorContext(this, this._ctx, this.state); - this.enterRule(localctx, 92, esql_parser.RULE_comparisonOperator); + this.enterRule(localctx, 94, esql_parser.RULE_comparisonOperator); let _la: number; try { this.enterOuterAlt(localctx, 1); { - this.state = 490; + this.state = 503; _la = this._input.LA(1); - if(!(((((_la - 52)) & ~0x1F) === 0 && ((1 << (_la - 52)) & 125) !== 0))) { + if(!(((((_la - 53)) & ~0x1F) === 0 && ((1 << (_la - 53)) & 125) !== 0))) { this._errHandler.recoverInline(this); } else { @@ -2740,13 +2819,13 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public explainCommand(): ExplainCommandContext { let localctx: ExplainCommandContext = new ExplainCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 94, esql_parser.RULE_explainCommand); + this.enterRule(localctx, 96, esql_parser.RULE_explainCommand); try { this.enterOuterAlt(localctx, 1); { - this.state = 492; + this.state = 505; this.match(esql_parser.EXPLAIN); - this.state = 493; + this.state = 506; this.subqueryExpression(); } } @@ -2767,15 +2846,15 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public subqueryExpression(): SubqueryExpressionContext { let localctx: SubqueryExpressionContext = new SubqueryExpressionContext(this, this._ctx, this.state); - this.enterRule(localctx, 96, esql_parser.RULE_subqueryExpression); + this.enterRule(localctx, 98, esql_parser.RULE_subqueryExpression); try { this.enterOuterAlt(localctx, 1); { - this.state = 495; + this.state = 508; this.match(esql_parser.OPENING_BRACKET); - this.state = 496; + this.state = 509; this.query(0); - this.state = 497; + this.state = 510; this.match(esql_parser.CLOSING_BRACKET); } } @@ -2796,14 +2875,14 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public showCommand(): ShowCommandContext { let localctx: ShowCommandContext = new ShowCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 98, esql_parser.RULE_showCommand); + this.enterRule(localctx, 100, esql_parser.RULE_showCommand); try { localctx = new ShowInfoContext(this, localctx); this.enterOuterAlt(localctx, 1); { - this.state = 499; + this.state = 512; this.match(esql_parser.SHOW); - this.state = 500; + this.state = 513; this.match(esql_parser.INFO); } } @@ -2824,14 +2903,14 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public metaCommand(): MetaCommandContext { let localctx: MetaCommandContext = new MetaCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 100, esql_parser.RULE_metaCommand); + this.enterRule(localctx, 102, esql_parser.RULE_metaCommand); try { localctx = new MetaFunctionsContext(this, localctx); this.enterOuterAlt(localctx, 1); { - this.state = 502; + this.state = 515; this.match(esql_parser.META); - this.state = 503; + this.state = 516; this.match(esql_parser.FUNCTIONS); } } @@ -2852,53 +2931,53 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public enrichCommand(): EnrichCommandContext { let localctx: EnrichCommandContext = new EnrichCommandContext(this, this._ctx, this.state); - this.enterRule(localctx, 102, esql_parser.RULE_enrichCommand); + this.enterRule(localctx, 104, esql_parser.RULE_enrichCommand); try { let _alt: number; this.enterOuterAlt(localctx, 1); { - this.state = 505; + this.state = 518; this.match(esql_parser.ENRICH); - this.state = 506; + this.state = 519; localctx._policyName = this.match(esql_parser.ENRICH_POLICY_NAME); - this.state = 509; + this.state = 522; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 47, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 48, this._ctx) ) { case 1: { - this.state = 507; + this.state = 520; this.match(esql_parser.ON); - this.state = 508; + this.state = 521; localctx._matchField = this.qualifiedNamePattern(); } break; } - this.state = 520; + this.state = 533; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 49, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 50, this._ctx) ) { case 1: { - this.state = 511; + this.state = 524; this.match(esql_parser.WITH); - this.state = 512; + this.state = 525; this.enrichWithClause(); - this.state = 517; + this.state = 530; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 48, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 49, this._ctx); while (_alt !== 2 && _alt !== ATN.INVALID_ALT_NUMBER) { if (_alt === 1) { { { - this.state = 513; + this.state = 526; this.match(esql_parser.COMMA); - this.state = 514; + this.state = 527; this.enrichWithClause(); } } } - this.state = 519; + this.state = 532; this._errHandler.sync(this); - _alt = this._interp.adaptivePredict(this._input, 48, this._ctx); + _alt = this._interp.adaptivePredict(this._input, 49, this._ctx); } } break; @@ -2922,23 +3001,23 @@ export default class esql_parser extends Parser { // @RuleVersion(0) public enrichWithClause(): EnrichWithClauseContext { let localctx: EnrichWithClauseContext = new EnrichWithClauseContext(this, this._ctx, this.state); - this.enterRule(localctx, 104, esql_parser.RULE_enrichWithClause); + this.enterRule(localctx, 106, esql_parser.RULE_enrichWithClause); try { this.enterOuterAlt(localctx, 1); { - this.state = 525; + this.state = 538; this._errHandler.sync(this); - switch ( this._interp.adaptivePredict(this._input, 50, this._ctx) ) { + switch ( this._interp.adaptivePredict(this._input, 51, this._ctx) ) { case 1: { - this.state = 522; + this.state = 535; localctx._newName = this.qualifiedNamePattern(); - this.state = 523; + this.state = 536; this.match(esql_parser.ASSIGN); } break; } - this.state = 527; + this.state = 540; localctx._enrichField = this.qualifiedNamePattern(); } } @@ -2965,6 +3044,8 @@ export default class esql_parser extends Parser { return this.booleanExpression_sempred(localctx as BooleanExpressionContext, predIndex); case 8: return this.operatorExpression_sempred(localctx as OperatorExpressionContext, predIndex); + case 9: + return this.primaryExpression_sempred(localctx as PrimaryExpressionContext, predIndex); } return true; } @@ -2993,180 +3074,191 @@ export default class esql_parser extends Parser { } return true; } + private primaryExpression_sempred(localctx: PrimaryExpressionContext, predIndex: number): boolean { + switch (predIndex) { + case 5: + return this.precpred(this._ctx, 1); + } + return true; + } - public static readonly _serializedATN: number[] = [4,1,109,530,2,0,7,0, + public static readonly _serializedATN: number[] = [4,1,110,543,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, + 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,2,53, + 7,53,1,0,1,0,1,0,1,1,1,1,1,1,1,1,1,1,1,1,5,1,118,8,1,10,1,12,1,121,9,1, + 1,2,1,2,1,2,1,2,1,2,3,2,128,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,143,8,3,1,4,1,4,1,4,1,5,1,5,1,5,1,5,1,5,1,5,1,5,3,5,155, + 8,5,1,5,1,5,1,5,1,5,1,5,5,5,162,8,5,10,5,12,5,165,9,5,1,5,1,5,1,5,1,5,1, + 5,3,5,172,8,5,1,5,1,5,3,5,176,8,5,1,5,1,5,1,5,1,5,1,5,1,5,5,5,184,8,5,10, + 5,12,5,187,9,5,1,6,1,6,3,6,191,8,6,1,6,1,6,1,6,1,6,1,6,3,6,198,8,6,1,6, + 1,6,1,6,3,6,203,8,6,1,7,1,7,1,7,1,7,1,7,3,7,210,8,7,1,8,1,8,1,8,1,8,3,8, + 216,8,8,1,8,1,8,1,8,1,8,1,8,1,8,5,8,224,8,8,10,8,12,8,227,9,8,1,9,1,9,1, + 9,1,9,1,9,1,9,1,9,1,9,3,9,237,8,9,1,9,1,9,1,9,5,9,242,8,9,10,9,12,9,245, + 9,9,1,10,1,10,1,10,1,10,1,10,1,10,5,10,253,8,10,10,10,12,10,256,9,10,3, + 10,258,8,10,1,10,1,10,1,11,1,11,1,12,1,12,1,12,1,13,1,13,1,13,5,13,270, + 8,13,10,13,12,13,273,9,13,1,14,1,14,1,14,1,14,1,14,3,14,280,8,14,1,15,1, + 15,1,15,1,15,5,15,286,8,15,10,15,12,15,289,9,15,1,15,3,15,292,8,15,1,15, + 3,15,295,8,15,1,16,1,16,1,17,1,17,1,17,1,17,5,17,303,8,17,10,17,12,17,306, + 9,17,1,18,1,18,1,18,1,18,1,19,1,19,3,19,314,8,19,1,20,1,20,1,20,1,20,5, + 20,320,8,20,10,20,12,20,323,9,20,1,21,1,21,1,21,1,21,1,22,1,22,1,22,1,23, + 1,23,3,23,334,8,23,1,23,1,23,3,23,338,8,23,1,24,1,24,1,24,1,24,3,24,344, + 8,24,1,25,1,25,1,25,5,25,349,8,25,10,25,12,25,352,9,25,1,26,1,26,1,26,5, + 26,357,8,26,10,26,12,26,360,9,26,1,27,1,27,1,28,1,28,1,29,1,29,1,29,1,29, + 1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,1,29,5,29,379,8,29,10,29,12,29, + 382,9,29,1,29,1,29,1,29,1,29,1,29,1,29,5,29,390,8,29,10,29,12,29,393,9, + 29,1,29,1,29,1,29,1,29,1,29,1,29,5,29,401,8,29,10,29,12,29,404,9,29,1,29, + 1,29,3,29,408,8,29,1,30,1,30,1,30,1,31,1,31,1,31,1,31,5,31,417,8,31,10, + 31,12,31,420,9,31,1,32,1,32,3,32,424,8,32,1,32,1,32,3,32,428,8,32,1,33, + 1,33,1,33,1,33,5,33,434,8,33,10,33,12,33,437,9,33,1,34,1,34,1,34,1,34,5, + 34,443,8,34,10,34,12,34,446,9,34,1,35,1,35,1,35,1,35,5,35,452,8,35,10,35, + 12,35,455,9,35,1,36,1,36,1,36,1,36,1,37,1,37,1,37,1,37,3,37,465,8,37,1, + 38,1,38,1,38,1,38,1,39,1,39,1,39,1,40,1,40,1,40,5,40,477,8,40,10,40,12, + 40,480,9,40,1,41,1,41,1,41,1,41,1,42,1,42,1,43,1,43,3,43,490,8,43,1,44, + 3,44,493,8,44,1,44,1,44,1,45,3,45,498,8,45,1,45,1,45,1,46,1,46,1,47,1,47, + 1,48,1,48,1,48,1,49,1,49,1,49,1,49,1,50,1,50,1,50,1,51,1,51,1,51,1,52,1, + 52,1,52,1,52,3,52,523,8,52,1,52,1,52,1,52,1,52,5,52,529,8,52,10,52,12,52, + 532,9,52,3,52,534,8,52,1,53,1,53,1,53,3,53,539,8,53,1,53,1,53,1,53,0,4, + 2,10,16,18,54,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]; + 90,92,94,96,98,100,102,104,106,0,8,1,0,60,61,1,0,62,64,2,0,68,68,74,74, + 1,0,67,68,2,0,32,32,36,36,1,0,39,40,2,0,38,38,52,52,2,0,53,53,55,59,568, + 0,108,1,0,0,0,2,111,1,0,0,0,4,127,1,0,0,0,6,142,1,0,0,0,8,144,1,0,0,0,10, + 175,1,0,0,0,12,202,1,0,0,0,14,209,1,0,0,0,16,215,1,0,0,0,18,236,1,0,0,0, + 20,246,1,0,0,0,22,261,1,0,0,0,24,263,1,0,0,0,26,266,1,0,0,0,28,279,1,0, + 0,0,30,281,1,0,0,0,32,296,1,0,0,0,34,298,1,0,0,0,36,307,1,0,0,0,38,313, + 1,0,0,0,40,315,1,0,0,0,42,324,1,0,0,0,44,328,1,0,0,0,46,331,1,0,0,0,48, + 339,1,0,0,0,50,345,1,0,0,0,52,353,1,0,0,0,54,361,1,0,0,0,56,363,1,0,0,0, + 58,407,1,0,0,0,60,409,1,0,0,0,62,412,1,0,0,0,64,421,1,0,0,0,66,429,1,0, + 0,0,68,438,1,0,0,0,70,447,1,0,0,0,72,456,1,0,0,0,74,460,1,0,0,0,76,466, + 1,0,0,0,78,470,1,0,0,0,80,473,1,0,0,0,82,481,1,0,0,0,84,485,1,0,0,0,86, + 489,1,0,0,0,88,492,1,0,0,0,90,497,1,0,0,0,92,501,1,0,0,0,94,503,1,0,0,0, + 96,505,1,0,0,0,98,508,1,0,0,0,100,512,1,0,0,0,102,515,1,0,0,0,104,518,1, + 0,0,0,106,538,1,0,0,0,108,109,3,2,1,0,109,110,5,0,0,1,110,1,1,0,0,0,111, + 112,6,1,-1,0,112,113,3,4,2,0,113,119,1,0,0,0,114,115,10,1,0,0,115,116,5, + 26,0,0,116,118,3,6,3,0,117,114,1,0,0,0,118,121,1,0,0,0,119,117,1,0,0,0, + 119,120,1,0,0,0,120,3,1,0,0,0,121,119,1,0,0,0,122,128,3,96,48,0,123,128, + 3,30,15,0,124,128,3,24,12,0,125,128,3,100,50,0,126,128,3,102,51,0,127,122, + 1,0,0,0,127,123,1,0,0,0,127,124,1,0,0,0,127,125,1,0,0,0,127,126,1,0,0,0, + 128,5,1,0,0,0,129,143,3,44,22,0,130,143,3,48,24,0,131,143,3,60,30,0,132, + 143,3,66,33,0,133,143,3,62,31,0,134,143,3,46,23,0,135,143,3,8,4,0,136,143, + 3,68,34,0,137,143,3,70,35,0,138,143,3,74,37,0,139,143,3,76,38,0,140,143, + 3,104,52,0,141,143,3,78,39,0,142,129,1,0,0,0,142,130,1,0,0,0,142,131,1, + 0,0,0,142,132,1,0,0,0,142,133,1,0,0,0,142,134,1,0,0,0,142,135,1,0,0,0,142, + 136,1,0,0,0,142,137,1,0,0,0,142,138,1,0,0,0,142,139,1,0,0,0,142,140,1,0, + 0,0,142,141,1,0,0,0,143,7,1,0,0,0,144,145,5,18,0,0,145,146,3,10,5,0,146, + 9,1,0,0,0,147,148,6,5,-1,0,148,149,5,45,0,0,149,176,3,10,5,7,150,176,3, + 14,7,0,151,176,3,12,6,0,152,154,3,14,7,0,153,155,5,45,0,0,154,153,1,0,0, + 0,154,155,1,0,0,0,155,156,1,0,0,0,156,157,5,42,0,0,157,158,5,41,0,0,158, + 163,3,14,7,0,159,160,5,35,0,0,160,162,3,14,7,0,161,159,1,0,0,0,162,165, + 1,0,0,0,163,161,1,0,0,0,163,164,1,0,0,0,164,166,1,0,0,0,165,163,1,0,0,0, + 166,167,5,51,0,0,167,176,1,0,0,0,168,169,3,14,7,0,169,171,5,43,0,0,170, + 172,5,45,0,0,171,170,1,0,0,0,171,172,1,0,0,0,172,173,1,0,0,0,173,174,5, + 46,0,0,174,176,1,0,0,0,175,147,1,0,0,0,175,150,1,0,0,0,175,151,1,0,0,0, + 175,152,1,0,0,0,175,168,1,0,0,0,176,185,1,0,0,0,177,178,10,4,0,0,178,179, + 5,31,0,0,179,184,3,10,5,5,180,181,10,3,0,0,181,182,5,48,0,0,182,184,3,10, + 5,4,183,177,1,0,0,0,183,180,1,0,0,0,184,187,1,0,0,0,185,183,1,0,0,0,185, + 186,1,0,0,0,186,11,1,0,0,0,187,185,1,0,0,0,188,190,3,14,7,0,189,191,5,45, + 0,0,190,189,1,0,0,0,190,191,1,0,0,0,191,192,1,0,0,0,192,193,5,44,0,0,193, + 194,3,92,46,0,194,203,1,0,0,0,195,197,3,14,7,0,196,198,5,45,0,0,197,196, + 1,0,0,0,197,198,1,0,0,0,198,199,1,0,0,0,199,200,5,50,0,0,200,201,3,92,46, + 0,201,203,1,0,0,0,202,188,1,0,0,0,202,195,1,0,0,0,203,13,1,0,0,0,204,210, + 3,16,8,0,205,206,3,16,8,0,206,207,3,94,47,0,207,208,3,16,8,0,208,210,1, + 0,0,0,209,204,1,0,0,0,209,205,1,0,0,0,210,15,1,0,0,0,211,212,6,8,-1,0,212, + 216,3,18,9,0,213,214,7,0,0,0,214,216,3,16,8,3,215,211,1,0,0,0,215,213,1, + 0,0,0,216,225,1,0,0,0,217,218,10,2,0,0,218,219,7,1,0,0,219,224,3,16,8,3, + 220,221,10,1,0,0,221,222,7,0,0,0,222,224,3,16,8,2,223,217,1,0,0,0,223,220, + 1,0,0,0,224,227,1,0,0,0,225,223,1,0,0,0,225,226,1,0,0,0,226,17,1,0,0,0, + 227,225,1,0,0,0,228,229,6,9,-1,0,229,237,3,58,29,0,230,237,3,50,25,0,231, + 237,3,20,10,0,232,233,5,41,0,0,233,234,3,10,5,0,234,235,5,51,0,0,235,237, + 1,0,0,0,236,228,1,0,0,0,236,230,1,0,0,0,236,231,1,0,0,0,236,232,1,0,0,0, + 237,243,1,0,0,0,238,239,10,1,0,0,239,240,5,34,0,0,240,242,3,22,11,0,241, + 238,1,0,0,0,242,245,1,0,0,0,243,241,1,0,0,0,243,244,1,0,0,0,244,19,1,0, + 0,0,245,243,1,0,0,0,246,247,3,54,27,0,247,257,5,41,0,0,248,258,5,62,0,0, + 249,254,3,10,5,0,250,251,5,35,0,0,251,253,3,10,5,0,252,250,1,0,0,0,253, + 256,1,0,0,0,254,252,1,0,0,0,254,255,1,0,0,0,255,258,1,0,0,0,256,254,1,0, + 0,0,257,248,1,0,0,0,257,249,1,0,0,0,257,258,1,0,0,0,258,259,1,0,0,0,259, + 260,5,51,0,0,260,21,1,0,0,0,261,262,3,54,27,0,262,23,1,0,0,0,263,264,5, + 14,0,0,264,265,3,26,13,0,265,25,1,0,0,0,266,271,3,28,14,0,267,268,5,35, + 0,0,268,270,3,28,14,0,269,267,1,0,0,0,270,273,1,0,0,0,271,269,1,0,0,0,271, + 272,1,0,0,0,272,27,1,0,0,0,273,271,1,0,0,0,274,280,3,10,5,0,275,276,3,50, + 25,0,276,277,5,33,0,0,277,278,3,10,5,0,278,280,1,0,0,0,279,274,1,0,0,0, + 279,275,1,0,0,0,280,29,1,0,0,0,281,282,5,6,0,0,282,287,3,32,16,0,283,284, + 5,35,0,0,284,286,3,32,16,0,285,283,1,0,0,0,286,289,1,0,0,0,287,285,1,0, + 0,0,287,288,1,0,0,0,288,291,1,0,0,0,289,287,1,0,0,0,290,292,3,38,19,0,291, + 290,1,0,0,0,291,292,1,0,0,0,292,294,1,0,0,0,293,295,3,34,17,0,294,293,1, + 0,0,0,294,295,1,0,0,0,295,31,1,0,0,0,296,297,7,2,0,0,297,33,1,0,0,0,298, + 299,5,72,0,0,299,304,3,36,18,0,300,301,5,35,0,0,301,303,3,36,18,0,302,300, + 1,0,0,0,303,306,1,0,0,0,304,302,1,0,0,0,304,305,1,0,0,0,305,35,1,0,0,0, + 306,304,1,0,0,0,307,308,3,92,46,0,308,309,5,33,0,0,309,310,3,92,46,0,310, + 37,1,0,0,0,311,314,3,40,20,0,312,314,3,42,21,0,313,311,1,0,0,0,313,312, + 1,0,0,0,314,39,1,0,0,0,315,316,5,73,0,0,316,321,3,32,16,0,317,318,5,35, + 0,0,318,320,3,32,16,0,319,317,1,0,0,0,320,323,1,0,0,0,321,319,1,0,0,0,321, + 322,1,0,0,0,322,41,1,0,0,0,323,321,1,0,0,0,324,325,5,65,0,0,325,326,3,40, + 20,0,326,327,5,66,0,0,327,43,1,0,0,0,328,329,5,4,0,0,329,330,3,26,13,0, + 330,45,1,0,0,0,331,333,5,17,0,0,332,334,3,26,13,0,333,332,1,0,0,0,333,334, + 1,0,0,0,334,337,1,0,0,0,335,336,5,30,0,0,336,338,3,26,13,0,337,335,1,0, + 0,0,337,338,1,0,0,0,338,47,1,0,0,0,339,340,5,8,0,0,340,343,3,26,13,0,341, + 342,5,30,0,0,342,344,3,26,13,0,343,341,1,0,0,0,343,344,1,0,0,0,344,49,1, + 0,0,0,345,350,3,54,27,0,346,347,5,37,0,0,347,349,3,54,27,0,348,346,1,0, + 0,0,349,352,1,0,0,0,350,348,1,0,0,0,350,351,1,0,0,0,351,51,1,0,0,0,352, + 350,1,0,0,0,353,358,3,56,28,0,354,355,5,37,0,0,355,357,3,56,28,0,356,354, + 1,0,0,0,357,360,1,0,0,0,358,356,1,0,0,0,358,359,1,0,0,0,359,53,1,0,0,0, + 360,358,1,0,0,0,361,362,7,3,0,0,362,55,1,0,0,0,363,364,5,78,0,0,364,57, + 1,0,0,0,365,408,5,46,0,0,366,367,3,90,45,0,367,368,5,67,0,0,368,408,1,0, + 0,0,369,408,3,88,44,0,370,408,3,90,45,0,371,408,3,84,42,0,372,408,5,49, + 0,0,373,408,3,92,46,0,374,375,5,65,0,0,375,380,3,86,43,0,376,377,5,35,0, + 0,377,379,3,86,43,0,378,376,1,0,0,0,379,382,1,0,0,0,380,378,1,0,0,0,380, + 381,1,0,0,0,381,383,1,0,0,0,382,380,1,0,0,0,383,384,5,66,0,0,384,408,1, + 0,0,0,385,386,5,65,0,0,386,391,3,84,42,0,387,388,5,35,0,0,388,390,3,84, + 42,0,389,387,1,0,0,0,390,393,1,0,0,0,391,389,1,0,0,0,391,392,1,0,0,0,392, + 394,1,0,0,0,393,391,1,0,0,0,394,395,5,66,0,0,395,408,1,0,0,0,396,397,5, + 65,0,0,397,402,3,92,46,0,398,399,5,35,0,0,399,401,3,92,46,0,400,398,1,0, + 0,0,401,404,1,0,0,0,402,400,1,0,0,0,402,403,1,0,0,0,403,405,1,0,0,0,404, + 402,1,0,0,0,405,406,5,66,0,0,406,408,1,0,0,0,407,365,1,0,0,0,407,366,1, + 0,0,0,407,369,1,0,0,0,407,370,1,0,0,0,407,371,1,0,0,0,407,372,1,0,0,0,407, + 373,1,0,0,0,407,374,1,0,0,0,407,385,1,0,0,0,407,396,1,0,0,0,408,59,1,0, + 0,0,409,410,5,10,0,0,410,411,5,28,0,0,411,61,1,0,0,0,412,413,5,16,0,0,413, + 418,3,64,32,0,414,415,5,35,0,0,415,417,3,64,32,0,416,414,1,0,0,0,417,420, + 1,0,0,0,418,416,1,0,0,0,418,419,1,0,0,0,419,63,1,0,0,0,420,418,1,0,0,0, + 421,423,3,10,5,0,422,424,7,4,0,0,423,422,1,0,0,0,423,424,1,0,0,0,424,427, + 1,0,0,0,425,426,5,47,0,0,426,428,7,5,0,0,427,425,1,0,0,0,427,428,1,0,0, + 0,428,65,1,0,0,0,429,430,5,9,0,0,430,435,3,52,26,0,431,432,5,35,0,0,432, + 434,3,52,26,0,433,431,1,0,0,0,434,437,1,0,0,0,435,433,1,0,0,0,435,436,1, + 0,0,0,436,67,1,0,0,0,437,435,1,0,0,0,438,439,5,2,0,0,439,444,3,52,26,0, + 440,441,5,35,0,0,441,443,3,52,26,0,442,440,1,0,0,0,443,446,1,0,0,0,444, + 442,1,0,0,0,444,445,1,0,0,0,445,69,1,0,0,0,446,444,1,0,0,0,447,448,5,13, + 0,0,448,453,3,72,36,0,449,450,5,35,0,0,450,452,3,72,36,0,451,449,1,0,0, + 0,452,455,1,0,0,0,453,451,1,0,0,0,453,454,1,0,0,0,454,71,1,0,0,0,455,453, + 1,0,0,0,456,457,3,52,26,0,457,458,5,82,0,0,458,459,3,52,26,0,459,73,1,0, + 0,0,460,461,5,1,0,0,461,462,3,18,9,0,462,464,3,92,46,0,463,465,3,80,40, + 0,464,463,1,0,0,0,464,465,1,0,0,0,465,75,1,0,0,0,466,467,5,7,0,0,467,468, + 3,18,9,0,468,469,3,92,46,0,469,77,1,0,0,0,470,471,5,12,0,0,471,472,3,50, + 25,0,472,79,1,0,0,0,473,478,3,82,41,0,474,475,5,35,0,0,475,477,3,82,41, + 0,476,474,1,0,0,0,477,480,1,0,0,0,478,476,1,0,0,0,478,479,1,0,0,0,479,81, + 1,0,0,0,480,478,1,0,0,0,481,482,3,54,27,0,482,483,5,33,0,0,483,484,3,58, + 29,0,484,83,1,0,0,0,485,486,7,6,0,0,486,85,1,0,0,0,487,490,3,88,44,0,488, + 490,3,90,45,0,489,487,1,0,0,0,489,488,1,0,0,0,490,87,1,0,0,0,491,493,7, + 0,0,0,492,491,1,0,0,0,492,493,1,0,0,0,493,494,1,0,0,0,494,495,5,29,0,0, + 495,89,1,0,0,0,496,498,7,0,0,0,497,496,1,0,0,0,497,498,1,0,0,0,498,499, + 1,0,0,0,499,500,5,28,0,0,500,91,1,0,0,0,501,502,5,27,0,0,502,93,1,0,0,0, + 503,504,7,7,0,0,504,95,1,0,0,0,505,506,5,5,0,0,506,507,3,98,49,0,507,97, + 1,0,0,0,508,509,5,65,0,0,509,510,3,2,1,0,510,511,5,66,0,0,511,99,1,0,0, + 0,512,513,5,15,0,0,513,514,5,98,0,0,514,101,1,0,0,0,515,516,5,11,0,0,516, + 517,5,102,0,0,517,103,1,0,0,0,518,519,5,3,0,0,519,522,5,88,0,0,520,521, + 5,86,0,0,521,523,3,52,26,0,522,520,1,0,0,0,522,523,1,0,0,0,523,533,1,0, + 0,0,524,525,5,87,0,0,525,530,3,106,53,0,526,527,5,35,0,0,527,529,3,106, + 53,0,528,526,1,0,0,0,529,532,1,0,0,0,530,528,1,0,0,0,530,531,1,0,0,0,531, + 534,1,0,0,0,532,530,1,0,0,0,533,524,1,0,0,0,533,534,1,0,0,0,534,105,1,0, + 0,0,535,536,3,52,26,0,536,537,5,33,0,0,537,539,1,0,0,0,538,535,1,0,0,0, + 538,539,1,0,0,0,539,540,1,0,0,0,540,541,3,52,26,0,541,107,1,0,0,0,52,119, + 127,142,154,163,171,175,183,185,190,197,202,209,215,223,225,236,243,254, + 257,271,279,287,291,294,304,313,321,333,337,343,350,358,380,391,402,407, + 418,423,427,435,444,453,464,478,489,492,497,522,530,533,538]; private static __ATN: ATN; public static get _ATN(): ATN { @@ -3791,6 +3883,31 @@ export class DereferenceContext extends PrimaryExpressionContext { } } } +export class InlineCastContext extends PrimaryExpressionContext { + constructor(parser: esql_parser, ctx: PrimaryExpressionContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public primaryExpression(): PrimaryExpressionContext { + return this.getTypedRuleContext(PrimaryExpressionContext, 0) as PrimaryExpressionContext; + } + public CAST_OP(): TerminalNode { + return this.getToken(esql_parser.CAST_OP, 0); + } + public dataType(): DataTypeContext { + return this.getTypedRuleContext(DataTypeContext, 0) as DataTypeContext; + } + public enterRule(listener: esql_parserListener): void { + if(listener.enterInlineCast) { + listener.enterInlineCast(this); + } + } + public exitRule(listener: esql_parserListener): void { + if(listener.exitInlineCast) { + listener.exitInlineCast(this); + } + } +} export class ConstantDefaultContext extends PrimaryExpressionContext { constructor(parser: esql_parser, ctx: PrimaryExpressionContext) { super(parser, ctx.parentCtx, ctx.invokingState); @@ -3901,6 +4018,39 @@ export class FunctionExpressionContext extends ParserRuleContext { } +export class DataTypeContext extends ParserRuleContext { + constructor(parser?: esql_parser, parent?: ParserRuleContext, invokingState?: number) { + super(parent, invokingState); + this.parser = parser; + } + public get ruleIndex(): number { + return esql_parser.RULE_dataType; + } + public copyFrom(ctx: DataTypeContext): void { + super.copyFrom(ctx); + } +} +export class ToDataTypeContext extends DataTypeContext { + constructor(parser: esql_parser, ctx: DataTypeContext) { + super(parser, ctx.parentCtx, ctx.invokingState); + super.copyFrom(ctx); + } + public identifier(): IdentifierContext { + return this.getTypedRuleContext(IdentifierContext, 0) as IdentifierContext; + } + public enterRule(listener: esql_parserListener): void { + if(listener.enterToDataType) { + listener.enterToDataType(this); + } + } + public exitRule(listener: esql_parserListener): void { + if(listener.exitToDataType) { + listener.exitToDataType(this); + } + } +} + + export class RowCommandContext extends ParserRuleContext { constructor(parser?: esql_parser, parent?: ParserRuleContext, invokingState?: number) { super(parent, invokingState); diff --git a/packages/kbn-esql-ast/src/antlr/esql_parser_listener.ts b/packages/kbn-esql-ast/src/antlr/esql_parser_listener.ts index 6be67dfa2f1a3..82bd908fa2b80 100644 --- a/packages/kbn-esql-ast/src/antlr/esql_parser_listener.ts +++ b/packages/kbn-esql-ast/src/antlr/esql_parser_listener.ts @@ -22,11 +22,13 @@ import { ComparisonContext } from "./esql_parser"; import { OperatorExpressionDefaultContext } from "./esql_parser"; import { ArithmeticBinaryContext } from "./esql_parser"; import { ArithmeticUnaryContext } from "./esql_parser"; -import { ConstantDefaultContext } from "./esql_parser"; import { DereferenceContext } from "./esql_parser"; -import { FunctionContext } from "./esql_parser"; +import { InlineCastContext } from "./esql_parser"; +import { ConstantDefaultContext } from "./esql_parser"; import { ParenthesizedExpressionContext } from "./esql_parser"; +import { FunctionContext } from "./esql_parser"; import { FunctionExpressionContext } from "./esql_parser"; +import { ToDataTypeContext } from "./esql_parser"; import { RowCommandContext } from "./esql_parser"; import { FieldsContext } from "./esql_parser"; import { FieldContext } from "./esql_parser"; @@ -292,41 +294,41 @@ export default class esql_parserListener extends ParseTreeListener { */ exitArithmeticUnary?: (ctx: ArithmeticUnaryContext) => void; /** - * Enter a parse tree produced by the `constantDefault` + * Enter a parse tree produced by the `dereference` * labeled alternative in `esql_parser.primaryExpression`. * @param ctx the parse tree */ - enterConstantDefault?: (ctx: ConstantDefaultContext) => void; + enterDereference?: (ctx: DereferenceContext) => void; /** - * Exit a parse tree produced by the `constantDefault` + * Exit a parse tree produced by the `dereference` * labeled alternative in `esql_parser.primaryExpression`. * @param ctx the parse tree */ - exitConstantDefault?: (ctx: ConstantDefaultContext) => void; + exitDereference?: (ctx: DereferenceContext) => void; /** - * Enter a parse tree produced by the `dereference` + * Enter a parse tree produced by the `inlineCast` * labeled alternative in `esql_parser.primaryExpression`. * @param ctx the parse tree */ - enterDereference?: (ctx: DereferenceContext) => void; + enterInlineCast?: (ctx: InlineCastContext) => void; /** - * Exit a parse tree produced by the `dereference` + * Exit a parse tree produced by the `inlineCast` * labeled alternative in `esql_parser.primaryExpression`. * @param ctx the parse tree */ - exitDereference?: (ctx: DereferenceContext) => void; + exitInlineCast?: (ctx: InlineCastContext) => void; /** - * Enter a parse tree produced by the `function` + * Enter a parse tree produced by the `constantDefault` * labeled alternative in `esql_parser.primaryExpression`. * @param ctx the parse tree */ - enterFunction?: (ctx: FunctionContext) => void; + enterConstantDefault?: (ctx: ConstantDefaultContext) => void; /** - * Exit a parse tree produced by the `function` + * Exit a parse tree produced by the `constantDefault` * labeled alternative in `esql_parser.primaryExpression`. * @param ctx the parse tree */ - exitFunction?: (ctx: FunctionContext) => void; + exitConstantDefault?: (ctx: ConstantDefaultContext) => void; /** * Enter a parse tree produced by the `parenthesizedExpression` * labeled alternative in `esql_parser.primaryExpression`. @@ -339,6 +341,18 @@ export default class esql_parserListener extends ParseTreeListener { * @param ctx the parse tree */ exitParenthesizedExpression?: (ctx: ParenthesizedExpressionContext) => void; + /** + * Enter a parse tree produced by the `function` + * labeled alternative in `esql_parser.primaryExpression`. + * @param ctx the parse tree + */ + enterFunction?: (ctx: FunctionContext) => void; + /** + * Exit a parse tree produced by the `function` + * labeled alternative in `esql_parser.primaryExpression`. + * @param ctx the parse tree + */ + exitFunction?: (ctx: FunctionContext) => void; /** * Enter a parse tree produced by `esql_parser.functionExpression`. * @param ctx the parse tree @@ -349,6 +363,18 @@ export default class esql_parserListener extends ParseTreeListener { * @param ctx the parse tree */ exitFunctionExpression?: (ctx: FunctionExpressionContext) => void; + /** + * Enter a parse tree produced by the `toDataType` + * labeled alternative in `esql_parser.dataType`. + * @param ctx the parse tree + */ + enterToDataType?: (ctx: ToDataTypeContext) => void; + /** + * Exit a parse tree produced by the `toDataType` + * labeled alternative in `esql_parser.dataType`. + * @param ctx the parse tree + */ + exitToDataType?: (ctx: ToDataTypeContext) => void; /** * Enter a parse tree produced by `esql_parser.rowCommand`. * @param ctx the parse tree 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 2e1f116736588..c119f87a577dd 100644 --- a/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts +++ b/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.test.ts @@ -261,6 +261,8 @@ describe('autocomplete', () => { const suggestionInertTextSorted = suggestions // simulate the editor behaviour for sorting suggestions .sort((a, b) => (a.sortText || '').localeCompare(b.sortText || '')); + + expect(suggestionInertTextSorted).toHaveLength(expected.length); for (const [index, receivedSuggestion] of suggestionInertTextSorted.entries()) { if (typeof expected[index] !== 'object') { expect(receivedSuggestion.text).toEqual(expected[index]); @@ -1078,7 +1080,7 @@ describe('autocomplete', () => { if (i < signature.params.length) { const canHaveMoreArgs = i + 1 < (signature.minParams ?? 0) || - signature.params.filter(({ optional }, j) => !optional && j > i).length > i; + signature.params.filter(({ optional }, j) => !optional && j > i).length > 0; const allPossibleParamTypes = Array.from( new Set(fn.signatures.map((s) => s.params[i].type)) diff --git a/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.ts b/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.ts index eb40fcec7c54b..6c25afe41f848 100644 --- a/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.ts +++ b/packages/kbn-esql-validation-autocomplete/src/autocomplete/autocomplete.ts @@ -595,8 +595,9 @@ async function getExpressionSuggestionsByType( getFieldsByType, { functions: canHaveAssignments, - fields: true, + fields: !argDef.constantOnly, variables: anyVariables, + literals: argDef.constantOnly, }, { ignoreFields: isNewExpression @@ -646,6 +647,7 @@ async function getExpressionSuggestionsByType( functions: true, fields: false, variables: nodeArg ? undefined : anyVariables, + literals: argDef.constantOnly, } )) ); @@ -980,10 +982,12 @@ async function getFieldsOrFunctionsSuggestions( functions, fields, variables, + literals = false, }: { functions: boolean; fields: boolean; variables?: Map; + literals?: boolean; }, { ignoreFn = [], @@ -1033,7 +1037,7 @@ async function getFieldsOrFunctionsSuggestions( variables ? pushItUpInTheList(buildVariablesDefinitions(filteredVariablesByType), functions) : [], - getCompatibleLiterals(commandName, types) + literals ? getCompatibleLiterals(commandName, types) : [] ); return suggestions; @@ -1121,10 +1125,28 @@ async function getFunctionArgsSuggestions( ); } - const supportedFieldTypes = fnDefinition.signatures + const existingTypes = node.args + .map((nodeArg) => + extractFinalTypeFromArg(nodeArg, { + fields: fieldsMap, + variables: variablesExcludingCurrentCommandOnes, + }) + ) + .filter(nonNullable); + + const validSignatures = fnDefinition.signatures + // if existing arguments are preset already, use them to filter out incompatible signatures + .filter((signature) => { + if (existingTypes.length) { + return existingTypes.every((type, index) => signature.params[index].type === type); + } + return true; + }); + + const supportedFieldTypes = validSignatures .flatMap((signature) => { if (signature.params.length > argIndex) { - return signature.params[argIndex].constantOnly ? '' : signature.params[argIndex].type; + return signature.params[argIndex].type; } if (signature.minParams) { return signature.params[signature.params.length - 1].type; @@ -1133,6 +1155,10 @@ async function getFunctionArgsSuggestions( }) .filter(nonNullable); + const shouldBeConstant = validSignatures.some( + ({ params }) => params[argIndex]?.constantOnly || /_literal$/.test(params[argIndex]?.type) + ); + // ... | EVAL fn( ) // ... | EVAL fn( field, ) suggestions.push( @@ -1142,9 +1168,11 @@ async function getFunctionArgsSuggestions( option?.name, getFieldsByType, { - functions: true, - fields: true, + // @TODO: improve this to inherit the constant flag from the outer function + functions: !shouldBeConstant, + fields: !shouldBeConstant, variables: variablesExcludingCurrentCommandOnes, + literals: shouldBeConstant, }, // do not repropose the same function as arg // i.e. avoid cases like abs(abs(abs(...))) with suggestions @@ -1156,8 +1184,9 @@ async function getFunctionArgsSuggestions( } const hasMoreMandatoryArgs = - refSignature.params.filter(({ optional }, index) => !optional && index > argIndex).length > - argIndex || + (refSignature.params.length >= argIndex && + refSignature.params.filter(({ optional }, index) => !optional && index > argIndex).length > + 0) || ('minParams' in refSignature && refSignature.minParams ? refSignature.minParams - 1 > argIndex : false); @@ -1177,6 +1206,7 @@ async function getFunctionArgsSuggestions( functions: false, fields: false, variables: variablesExcludingCurrentCommandOnes, + literals: true, } )) ); diff --git a/packages/kbn-esql-validation-autocomplete/src/autocomplete/factories.ts b/packages/kbn-esql-validation-autocomplete/src/autocomplete/factories.ts index 2818634c58188..cc81ea9a9ae53 100644 --- a/packages/kbn-esql-validation-autocomplete/src/autocomplete/factories.ts +++ b/packages/kbn-esql-validation-autocomplete/src/autocomplete/factories.ts @@ -165,13 +165,18 @@ export const buildConstantsDefinitions = ( sortText: 'A', })); -export const buildValueDefinitions = (values: string[]): SuggestionRawDefinition[] => +export const buildValueDefinitions = ( + values: string[], + detail?: string +): SuggestionRawDefinition[] => values.map((value) => ({ label: `"${value}"`, text: `"${value}"`, - detail: i18n.translate('kbn-esql-validation-autocomplete.esql.autocomplete.valueDefinition', { - defaultMessage: 'Literal value', - }), + detail: + detail ?? + i18n.translate('kbn-esql-validation-autocomplete.esql.autocomplete.valueDefinition', { + defaultMessage: 'Literal value', + }), kind: 'Value', })); @@ -289,9 +294,11 @@ function getUnitDuration(unit: number = 1) { export function getCompatibleLiterals(commandName: string, types: string[], names?: string[]) { const suggestions: SuggestionRawDefinition[] = []; - if (types.includes('number') && commandName === 'limit') { - // suggest 10/50/100 - suggestions.push(...buildConstantsDefinitions(['10', '100', '1000'], '')); + if (types.includes('number')) { + if (commandName === 'limit') { + // suggest 10/100/1000 for limit + suggestions.push(...buildConstantsDefinitions(['10', '100', '1000'], '')); + } } if (types.includes('time_literal')) { // filter plural for now and suggest only unit + singular diff --git a/packages/kbn-plugin-generator/src/render_template.ts b/packages/kbn-plugin-generator/src/render_template.ts index f2cb8c18a88d4..ad9b4cbc8d845 100644 --- a/packages/kbn-plugin-generator/src/render_template.ts +++ b/packages/kbn-plugin-generator/src/render_template.ts @@ -79,6 +79,7 @@ export async function renderTemplates({ buffer: true, nodir: true, cwd: Path.resolve(__dirname, '../template'), + encoding: false, }), // exclude files from the template based on selected options, patterns diff --git a/packages/kbn-plugin-helpers/src/tasks/brotli_compress_bundles.ts b/packages/kbn-plugin-helpers/src/tasks/brotli_compress_bundles.ts index ef03cb86c7aa0..ef9d3ac7d71f8 100644 --- a/packages/kbn-plugin-helpers/src/tasks/brotli_compress_bundles.ts +++ b/packages/kbn-plugin-helpers/src/tasks/brotli_compress_bundles.ts @@ -34,7 +34,7 @@ export async function brotliCompressBundles({ buildDir, log, plugin }: TaskConte try { await del(['**/*.br'], { cwd: compressDir }); await asyncPipeline( - vfs.src(['**/*.{js,css}'], { cwd: compressDir }), + vfs.src(['**/*.{js,css}'], { cwd: compressDir, encoding: false }), gulpBrotli({ params: { [zlib.constants.BROTLI_PARAM_QUALITY]: zlib.constants.BROTLI_MAX_QUALITY, diff --git a/packages/kbn-plugin-helpers/src/tasks/write_public_assets.ts b/packages/kbn-plugin-helpers/src/tasks/write_public_assets.ts index 7fa6d157f4639..d43062018626f 100644 --- a/packages/kbn-plugin-helpers/src/tasks/write_public_assets.ts +++ b/packages/kbn-plugin-helpers/src/tasks/write_public_assets.ts @@ -28,6 +28,7 @@ export async function writePublicAssets({ log, plugin, sourceDir, buildDir }: Ta base: sourceDir, buffer: true, allowEmpty: true, + encoding: false, }), vfs.dest(buildDir) ); diff --git a/packages/kbn-plugin-helpers/src/tasks/write_server_files.ts b/packages/kbn-plugin-helpers/src/tasks/write_server_files.ts index 2ba2686796487..362ef171cd9da 100644 --- a/packages/kbn-plugin-helpers/src/tasks/write_server_files.ts +++ b/packages/kbn-plugin-helpers/src/tasks/write_server_files.ts @@ -53,6 +53,7 @@ export async function writeServerFiles({ '**/*.{test,test.mocks,mock,mocks}.*', ], allowEmpty: true, + encoding: false, } ), diff --git a/packages/kbn-router-to-openapispec/src/__snapshots__/generate_oas.test.ts.snap b/packages/kbn-router-to-openapispec/src/__snapshots__/generate_oas.test.ts.snap index 1ef62beffd8ac..42deee2907f43 100644 --- a/packages/kbn-router-to-openapispec/src/__snapshots__/generate_oas.test.ts.snap +++ b/packages/kbn-router-to-openapispec/src/__snapshots__/generate_oas.test.ts.snap @@ -9,6 +9,17 @@ Object { "type": "string", }, }, + "securitySchemes": Object { + "apiKeyAuth": Object { + "in": "header", + "name": "Authorization", + "type": "apiKey", + }, + "basicAuth": Object { + "scheme": "basic", + "type": "http", + }, + }, }, "externalDocs": undefined, "info": Object { @@ -87,9 +98,6 @@ Object { Object { "basicAuth": Array [], }, - Object { - "apiKeyAuth": Array [], - }, ], "servers": Array [ Object { @@ -104,6 +112,17 @@ exports[`generateOpenApiDocument @kbn/config-schema generates the expected OpenA Object { "components": Object { "schemas": Object {}, + "securitySchemes": Object { + "apiKeyAuth": Object { + "in": "header", + "name": "Authorization", + "type": "apiKey", + }, + "basicAuth": Object { + "scheme": "basic", + "type": "http", + }, + }, }, "externalDocs": undefined, "info": Object { @@ -334,9 +353,6 @@ Object { Object { "basicAuth": Array [], }, - Object { - "apiKeyAuth": Array [], - }, ], "servers": Array [ Object { diff --git a/packages/kbn-router-to-openapispec/src/generate_oas.ts b/packages/kbn-router-to-openapispec/src/generate_oas.ts index 7568f4eeb6f27..56f81a076449a 100644 --- a/packages/kbn-router-to-openapispec/src/generate_oas.ts +++ b/packages/kbn-router-to-openapispec/src/generate_oas.ts @@ -68,15 +68,21 @@ export const generateOpenApiDocument = ( }, ], paths, - components: converter.getSchemaComponents(), - security: [ - { - basicAuth: [], - }, - { - apiKeyAuth: [], + components: { + ...converter.getSchemaComponents(), + securitySchemes: { + basicAuth: { + type: 'http', + scheme: 'basic', + }, + apiKeyAuth: { + type: 'apiKey', + in: 'header', + name: 'Authorization', + }, }, - ], + }, + security: [{ basicAuth: [] }], tags: opts.tags?.map((tag) => ({ name: tag })), externalDocs: opts.docsUrl ? { url: opts.docsUrl } : undefined, }; 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 40f115c567f81..66caa5b55f567 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 @@ -119,7 +119,6 @@ exports[`DocumentsPanel renders 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> diff --git a/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/events_panel.test.tsx.snap b/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/events_panel.test.tsx.snap index d4bdda45ccc3b..8320547cb2107 100644 --- a/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/events_panel.test.tsx.snap +++ b/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/events_panel.test.tsx.snap @@ -54,7 +54,6 @@ exports[`EventsPanel renders 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> @@ -110,7 +109,6 @@ exports[`EventsPanel renders with some values missing 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> diff --git a/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/pipeline_panel.test.tsx.snap b/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/pipeline_panel.test.tsx.snap index cddd85fc851b9..66d241be8d92c 100644 --- a/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/pipeline_panel.test.tsx.snap +++ b/packages/kbn-search-connectors/components/sync_jobs/__snapshots__/pipeline_panel.test.tsx.snap @@ -43,7 +43,6 @@ exports[`PipelinePanel renders 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> 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 ffe2c26d636ed..87f3559c3fab6 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 @@ -263,7 +263,6 @@ export const SyncJobsTable: React.FC = ({ data-test-subj={`entSearchContent-index-${type}-syncJobs-table`} items={syncJobs} columns={columns} - hasActions onChange={onPaginate} pagination={pagination} tableLayout="fixed" diff --git a/packages/kbn-std/index.ts b/packages/kbn-std/index.ts index 3ee605cbf98fa..ae45bb099e508 100644 --- a/packages/kbn-std/index.ts +++ b/packages/kbn-std/index.ts @@ -16,6 +16,8 @@ export { pick } from './src/pick'; export { withTimeout, isPromise } from './src/promise'; export type { URLMeaningfulParts } from './src/url'; export { isRelativeUrl, modifyUrl, getUrlOrigin } from './src/url'; +export { isInternalURL } from './src/is_internal_url'; +export { parseNextURL } from './src/parse_next_url'; export { unset } from './src/unset'; export { getFlattenedObject } from './src/get_flattened_object'; export { ensureNoUnsafeProperties } from './src/ensure_no_unsafe_properties'; diff --git a/x-pack/plugins/security/common/is_internal_url.test.ts b/packages/kbn-std/src/is_internal_url.test.ts similarity index 94% rename from x-pack/plugins/security/common/is_internal_url.test.ts rename to packages/kbn-std/src/is_internal_url.test.ts index d6fe64c0b33ce..cc1f5a32d7db4 100644 --- a/x-pack/plugins/security/common/is_internal_url.test.ts +++ b/packages/kbn-std/src/is_internal_url.test.ts @@ -1,8 +1,9 @@ /* * 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. + * 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 { isInternalURL } from './is_internal_url'; diff --git a/x-pack/plugins/security/common/is_internal_url.ts b/packages/kbn-std/src/is_internal_url.ts similarity index 80% rename from x-pack/plugins/security/common/is_internal_url.ts rename to packages/kbn-std/src/is_internal_url.ts index ea121aeb7cbf8..434fa6eaf7c27 100644 --- a/x-pack/plugins/security/common/is_internal_url.ts +++ b/packages/kbn-std/src/is_internal_url.ts @@ -1,14 +1,18 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 { parse } from 'url'; +import { parse as parseUrl } from 'url'; +/** + * Determine if url is outside of this Kibana install. + */ export function isInternalURL(url: string, basePath = '') { - const { protocol, hostname, port, pathname } = parse( + const { protocol, hostname, port, pathname } = parseUrl( url, false /* parseQueryString */, true /* slashesDenoteHost */ @@ -27,6 +31,7 @@ export function isInternalURL(url: string, basePath = '') { // Now we need to normalize URL to make sure any relative path segments (`..`) cannot escape expected // base path. We can rely on `URL` with a localhost to automatically "normalize" the URL. const normalizedPathname = new URL(String(pathname), 'https://localhost').pathname; + return ( // Normalized pathname can add a leading slash, but we should also make sure it's included in // the original URL too diff --git a/x-pack/plugins/security/common/parse_next.test.ts b/packages/kbn-std/src/parse_next_url.test.ts similarity index 78% rename from x-pack/plugins/security/common/parse_next.test.ts rename to packages/kbn-std/src/parse_next_url.test.ts index 49c4fdcd8e80b..2d56ae0e92b8a 100644 --- a/x-pack/plugins/security/common/parse_next.test.ts +++ b/packages/kbn-std/src/parse_next_url.test.ts @@ -1,15 +1,16 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 { parseNext } from './parse_next'; +import { parseNextURL } from './parse_next_url'; -describe('parseNext', () => { +describe('parseNextURL', () => { it('should return a function', () => { - expect(parseNext).toBeInstanceOf(Function); + expect(parseNextURL).toBeInstanceOf(Function); }); describe('with basePath defined', () => { @@ -17,14 +18,14 @@ describe('parseNext', () => { it('should return basePath with a trailing slash when next is not specified', () => { const basePath = '/iqf'; const href = `${basePath}/login`; - expect(parseNext(href, basePath)).toEqual(`${basePath}/`); + expect(parseNextURL(href, basePath)).toEqual(`${basePath}/`); }); it('should properly handle next without hash', () => { const basePath = '/iqf'; const next = `${basePath}/app/kibana`; const href = `${basePath}/login?next=${next}`; - expect(parseNext(href, basePath)).toEqual(next); + expect(parseNextURL(href, basePath)).toEqual(next); }); it('should properly handle next with hash', () => { @@ -32,7 +33,7 @@ describe('parseNext', () => { const next = `${basePath}/app/kibana`; const hash = '/discover/New-Saved-Search'; const href = `${basePath}/login?next=${next}#${hash}`; - expect(parseNext(href, basePath)).toEqual(`${next}#${hash}`); + expect(parseNextURL(href, basePath)).toEqual(`${next}#${hash}`); }); it('should properly handle multiple next with hash', () => { @@ -41,7 +42,7 @@ describe('parseNext', () => { const next2 = `${basePath}/app/ml`; const hash = '/discover/New-Saved-Search'; const href = `${basePath}/login?next=${next1}&next=${next2}#${hash}`; - expect(parseNext(href, basePath)).toEqual(`${next1}#${hash}`); + expect(parseNextURL(href, basePath)).toEqual(`${next1}#${hash}`); }); it('should properly decode special characters', () => { @@ -49,7 +50,7 @@ describe('parseNext', () => { const next = `${encodeURIComponent(basePath)}%2Fapp%2Fkibana`; const hash = '/discover/New-Saved-Search'; const href = `${basePath}/login?next=${next}#${hash}`; - expect(parseNext(href, basePath)).toEqual(decodeURIComponent(`${next}#${hash}`)); + expect(parseNextURL(href, basePath)).toEqual(decodeURIComponent(`${next}#${hash}`)); }); // to help prevent open redirect to a different url @@ -57,7 +58,7 @@ describe('parseNext', () => { const basePath = '/iqf'; const next = `https://example.com${basePath}/app/kibana`; const href = `${basePath}/login?next=${next}`; - expect(parseNext(href, basePath)).toEqual(`${basePath}/`); + expect(parseNextURL(href, basePath)).toEqual(`${basePath}/`); }); // to help prevent open redirect to a different url by abusing encodings @@ -67,7 +68,7 @@ describe('parseNext', () => { const next = `${encodeURIComponent(baseUrl)}%2Fapp%2Fkibana`; const hash = '/discover/New-Saved-Search'; const href = `${basePath}/login?next=${next}#${hash}`; - expect(parseNext(href, basePath)).toEqual(`${basePath}/`); + expect(parseNextURL(href, basePath)).toEqual(`${basePath}/`); }); // to help prevent open redirect to a different port @@ -75,7 +76,7 @@ describe('parseNext', () => { const basePath = '/iqf'; const next = `http://localhost:5601${basePath}/app/kibana`; const href = `${basePath}/login?next=${next}`; - expect(parseNext(href, basePath)).toEqual(`${basePath}/`); + expect(parseNextURL(href, basePath)).toEqual(`${basePath}/`); }); // to help prevent open redirect to a different port by abusing encodings @@ -85,7 +86,7 @@ describe('parseNext', () => { const next = `${encodeURIComponent(baseUrl)}%2Fapp%2Fkibana`; const hash = '/discover/New-Saved-Search'; const href = `${basePath}/login?next=${next}#${hash}`; - expect(parseNext(href, basePath)).toEqual(`${basePath}/`); + expect(parseNextURL(href, basePath)).toEqual(`${basePath}/`); }); // to help prevent open redirect to a different base path @@ -93,18 +94,18 @@ describe('parseNext', () => { const basePath = '/iqf'; const next = '/notbasepath/app/kibana'; const href = `${basePath}/login?next=${next}`; - expect(parseNext(href, basePath)).toEqual(`${basePath}/`); + expect(parseNextURL(href, basePath)).toEqual(`${basePath}/`); }); // disallow network-path references it('should return / if next is url without protocol', () => { const nextWithTwoSlashes = '//example.com'; const hrefWithTwoSlashes = `/login?next=${nextWithTwoSlashes}`; - expect(parseNext(hrefWithTwoSlashes)).toEqual('/'); + expect(parseNextURL(hrefWithTwoSlashes)).toEqual('/'); const nextWithThreeSlashes = '///example.com'; const hrefWithThreeSlashes = `/login?next=${nextWithThreeSlashes}`; - expect(parseNext(hrefWithThreeSlashes)).toEqual('/'); + expect(parseNextURL(hrefWithThreeSlashes)).toEqual('/'); }); }); @@ -112,20 +113,20 @@ describe('parseNext', () => { // trailing slash is important since it must match the cookie path exactly it('should return / with a trailing slash when next is not specified', () => { const href = '/login'; - expect(parseNext(href)).toEqual('/'); + expect(parseNextURL(href)).toEqual('/'); }); it('should properly handle next without hash', () => { const next = '/app/kibana'; const href = `/login?next=${next}`; - expect(parseNext(href)).toEqual(next); + expect(parseNextURL(href)).toEqual(next); }); it('should properly handle next with hash', () => { const next = '/app/kibana'; const hash = '/discover/New-Saved-Search'; const href = `/login?next=${next}#${hash}`; - expect(parseNext(href)).toEqual(`${next}#${hash}`); + expect(parseNextURL(href)).toEqual(`${next}#${hash}`); }); it('should properly handle multiple next with hash', () => { @@ -133,21 +134,21 @@ describe('parseNext', () => { const next2 = '/app/ml'; const hash = '/discover/New-Saved-Search'; const href = `/login?next=${next1}&next=${next2}#${hash}`; - expect(parseNext(href)).toEqual(`${next1}#${hash}`); + expect(parseNextURL(href)).toEqual(`${next1}#${hash}`); }); it('should properly decode special characters', () => { const next = '%2Fapp%2Fkibana'; const hash = '/discover/New-Saved-Search'; const href = `/login?next=${next}#${hash}`; - expect(parseNext(href)).toEqual(decodeURIComponent(`${next}#${hash}`)); + expect(parseNextURL(href)).toEqual(decodeURIComponent(`${next}#${hash}`)); }); // to help prevent open redirect to a different url it('should return / if next includes a protocol/hostname', () => { const next = 'https://example.com/app/kibana'; const href = `/login?next=${next}`; - expect(parseNext(href)).toEqual('/'); + expect(parseNextURL(href)).toEqual('/'); }); // to help prevent open redirect to a different url by abusing encodings @@ -156,14 +157,14 @@ describe('parseNext', () => { const next = `${encodeURIComponent(baseUrl)}%2Fapp%2Fkibana`; const hash = '/discover/New-Saved-Search'; const href = `/login?next=${next}#${hash}`; - expect(parseNext(href)).toEqual('/'); + expect(parseNextURL(href)).toEqual('/'); }); // to help prevent open redirect to a different port it('should return / if next includes a port', () => { const next = 'http://localhost:5601/app/kibana'; const href = `/login?next=${next}`; - expect(parseNext(href)).toEqual('/'); + expect(parseNextURL(href)).toEqual('/'); }); // to help prevent open redirect to a different port by abusing encodings @@ -172,18 +173,18 @@ describe('parseNext', () => { const next = `${encodeURIComponent(baseUrl)}%2Fapp%2Fkibana`; const hash = '/discover/New-Saved-Search'; const href = `/login?next=${next}#${hash}`; - expect(parseNext(href)).toEqual('/'); + expect(parseNextURL(href)).toEqual('/'); }); // disallow network-path references it('should return / if next is url without protocol', () => { const nextWithTwoSlashes = '//example.com'; const hrefWithTwoSlashes = `/login?next=${nextWithTwoSlashes}`; - expect(parseNext(hrefWithTwoSlashes)).toEqual('/'); + expect(parseNextURL(hrefWithTwoSlashes)).toEqual('/'); const nextWithThreeSlashes = '///example.com'; const hrefWithThreeSlashes = `/login?next=${nextWithThreeSlashes}`; - expect(parseNext(hrefWithThreeSlashes)).toEqual('/'); + expect(parseNextURL(hrefWithThreeSlashes)).toEqual('/'); }); }); }); diff --git a/x-pack/plugins/security/common/parse_next.ts b/packages/kbn-std/src/parse_next_url.ts similarity index 56% rename from x-pack/plugins/security/common/parse_next.ts rename to packages/kbn-std/src/parse_next_url.ts index bf7bb3b070736..1b54e02d581a0 100644 --- a/x-pack/plugins/security/common/parse_next.ts +++ b/packages/kbn-std/src/parse_next_url.ts @@ -1,19 +1,29 @@ /* * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. + * 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 { parse } from 'url'; - -import { NEXT_URL_QUERY_STRING_PARAMETER } from './constants'; import { isInternalURL } from './is_internal_url'; -export function parseNext(href: string, basePath = '') { +const DEFAULT_NEXT_URL_QUERY_STRING_PARAMETER = 'next'; + +/** + * Parse the url value from query param. By default + * + * By default query param is set to next. + */ +export function parseNextURL( + href: string, + basePath = '', + nextUrlQueryParam = DEFAULT_NEXT_URL_QUERY_STRING_PARAMETER +) { const { query, hash } = parse(href, true); - let next = query[NEXT_URL_QUERY_STRING_PARAMETER]; + let next = query[nextUrlQueryParam]; if (!next) { return `${basePath}/`; } diff --git a/packages/kbn-test-jest-helpers/src/testbed/testbed.ts b/packages/kbn-test-jest-helpers/src/testbed/testbed.ts index 284e8d557de6f..4559924c28aff 100644 --- a/packages/kbn-test-jest-helpers/src/testbed/testbed.ts +++ b/packages/kbn-test-jest-helpers/src/testbed/testbed.ts @@ -263,11 +263,11 @@ export function registerTestBed ({ reactWrapper: row, - columns: row.find('.euiTableCellContent').map((col) => ({ + columns: row.find('div.euiTableCellContent').map((col) => ({ reactWrapper: col, // We can't access the td value with col.text() because // eui adds an extra div in td on mobile => (.euiTableRowCell__mobileHeader) - value: col.find('.euiTableCellContent').text(), + value: col.find('div.euiTableCellContent').text(), })), })); 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 6ee970321a9ae..d1b356e31eaa1 100644 --- a/packages/kbn-text-based-editor/src/query_history.test.tsx +++ b/packages/kbn-text-based-editor/src/query_history.test.tsx @@ -159,7 +159,7 @@ describe('QueryHistory', () => { /> ); expect(screen.getByRole('table')).toHaveTextContent( - 'Time ranRecent queriesLast durationTime ranMar. 25, 24 08:45:27Recent queriesfrom kibana_sample_data_flights | limit 10Last duration2ms' + 'Time ranRecent queriesLast durationMar. 25, 24 08:45:27from kibana_sample_data_flights | limit 102ms' ); }); }); diff --git a/packages/kbn-text-based-editor/src/query_history.tsx b/packages/kbn-text-based-editor/src/query_history.tsx index 3e597cd1ed86f..0759c7fd7e816 100644 --- a/packages/kbn-text-based-editor/src/query_history.tsx +++ b/packages/kbn-text-based-editor/src/query_history.tsx @@ -380,7 +380,7 @@ export function QueryHistory({ defaultMessage: 'Queries history table', } )} - responsive={false} + responsiveBreakpoint={false} items={historyItems} columns={columns} sorting={sorting} diff --git a/packages/kbn-unified-field-list/src/components/field_stats/field_number_summary.tsx b/packages/kbn-unified-field-list/src/components/field_stats/field_number_summary.tsx index 8e4cdc3d0ff88..5d573e926f5ba 100755 --- a/packages/kbn-unified-field-list/src/components/field_stats/field_number_summary.tsx +++ b/packages/kbn-unified-field-list/src/components/field_stats/field_number_summary.tsx @@ -88,7 +88,7 @@ export const FieldNumberSummary: React.FC = ({ columns={summaryTableColumns} tableCaption={summaryTableTitle} data-test-subj={`${dataTestSubject}-numberSummary`} - responsive={false} + responsiveBreakpoint={false} css={css` & .euiTableHeaderCell { ${euiScreenReaderOnly()} diff --git a/packages/kbn-user-profile-components/src/services.tsx b/packages/kbn-user-profile-components/src/services.tsx index 683b9ac0ce01e..71ce5a0ff844f 100644 --- a/packages/kbn-user-profile-components/src/services.tsx +++ b/packages/kbn-user-profile-components/src/services.tsx @@ -48,10 +48,10 @@ export interface UserProfilesKibanaDependencies { userProfiles: UserProfileAPIClient; }; /** - * Handler from the '@kbn/kibana-react-plugin/public' Plugin + * Handler from the '@kbn/react-kibana-mount' Package * * ``` - * import { toMountPoint } from '@kbn/kibana-react-plugin/public'; + * import { toMountPoint } from '@kbn/react-kibana-mount'; * ``` */ toMountPoint: typeof toMountPoint; diff --git a/packages/solution-nav/analytics/README.md b/packages/solution-nav/analytics/README.md deleted file mode 100644 index 91ea50c5e256a..0000000000000 --- a/packages/solution-nav/analytics/README.md +++ /dev/null @@ -1,3 +0,0 @@ -# @kbn/solution-nav-analytics - -## This package contains the navigation definition for the Analytics in Kibana stateful. diff --git a/packages/solution-nav/analytics/definition.ts b/packages/solution-nav/analytics/definition.ts deleted file mode 100644 index 51b480c8c6c82..0000000000000 --- a/packages/solution-nav/analytics/definition.ts +++ /dev/null @@ -1,185 +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 { i18n } from '@kbn/i18n'; -import type { - SolutionNavigationDefinition, - NavigationTreeDefinition, -} from '@kbn/core-chrome-browser'; -import { of } from 'rxjs'; - -const title = i18n.translate( - 'navigation.analyticsNav.headerSolutionSwitcher.analyticsSolutionTitle', - { - defaultMessage: 'Analytics', - } -); -const icon = 'visualizeApp'; - -const navTree: NavigationTreeDefinition = { - body: [ - { type: 'recentlyAccessed' }, - { - type: 'navGroup', - id: 'analytics_project_nav', - title, - icon, - defaultIsCollapsed: false, - isCollapsible: false, - breadcrumbStatus: 'hidden', - children: [ - { link: 'discover' }, - { - link: 'dashboards', - getIsActive: ({ pathNameSerialized, prepend }) => { - return pathNameSerialized.startsWith(prepend('/app/dashboards')); - }, - }, - { - title: i18n.translate('navigation.analyticsNav.visualizationLinkTitle', { - defaultMessage: 'Visualizations', - }), - link: 'visualize', - getIsActive: ({ pathNameSerialized, prepend }) => { - return ( - pathNameSerialized.startsWith(prepend('/app/visualize')) || - pathNameSerialized.startsWith(prepend('/app/lens')) - ); - }, - }, - { - id: 'moreEditorsGroup', - title: i18n.translate('navigation.analyticsNav.moreEditorsGroupTitle', { - defaultMessage: 'More editors...', - }), - renderAs: 'accordion', - spaceBefore: null, - children: [ - { - link: 'canvas', - }, - { - link: 'graph', - }, - { - link: 'maps', - }, - ], - }, - ], - }, - ], - footer: [ - { - title: i18n.translate('navigation.analyticsNav.management.getStarted', { - defaultMessage: 'Get started', - }), - icon: 'launch', - type: 'navItem', - link: 'home', - }, - { - type: 'navItem', - id: 'devTools', - title: i18n.translate('navigation.obltNav.devTools', { - defaultMessage: 'Developer tools', - }), - link: 'dev_tools:console', - icon: 'editorCodeBlock', - getIsActive: ({ pathNameSerialized, prepend }) => { - return pathNameSerialized.startsWith(prepend('/app/dev_tools')); - }, - }, - { - type: 'navGroup', - id: 'project_settings_project_nav', - title: i18n.translate('navigation.analyticsNav.management', { - defaultMessage: 'Management', - }), - icon: 'gear', - breadcrumbStatus: 'hidden', - children: [ - { - link: 'management', - title: i18n.translate('navigation.analyticsNav.mngt', { - defaultMessage: 'Stack Management', - }), - spaceBefore: null, - renderAs: 'panelOpener', - children: [ - { - title: 'Ingest', - children: [{ link: 'management:ingest_pipelines' }, { link: 'management:pipelines' }], - }, - { - title: 'Data', - children: [ - { link: 'management:index_management' }, - { link: 'management:index_lifecycle_management' }, - { link: 'management:snapshot_restore' }, - { link: 'management:rollup_jobs' }, - { link: 'management:transform' }, - { link: 'management:cross_cluster_replication' }, - { link: 'management:remote_clusters' }, - { link: 'management:migrate_data' }, - ], - }, - { - title: 'Alerts and Insights', - children: [ - { link: 'management:triggersActions' }, - { link: 'management:cases' }, - { link: 'management:triggersActionsConnectors' }, - { link: 'management:reporting' }, - { link: 'management:jobsListLink' }, - { link: 'management:watcher' }, - { link: 'management:maintenanceWindows' }, - ], - }, - { - title: 'Security', - children: [ - { link: 'management:users' }, - { link: 'management:roles' }, - { link: 'management:api_keys' }, - { link: 'management:role_mappings' }, - ], - }, - { - title: 'Kibana', - children: [ - { link: 'management:dataViews' }, - { link: 'management:filesManagement' }, - { link: 'management:objects' }, - { link: 'management:tags' }, - { link: 'management:search_sessions' }, - { link: 'management:spaces' }, - { link: 'management:settings' }, - ], - }, - { - title: 'Stack', - children: [ - { link: 'management:license_management' }, - { link: 'management:upgrade_assistant' }, - ], - }, - ], - }, - ], - }, - ], -}; - -export const definition: SolutionNavigationDefinition = { - id: 'analytics', - title, - icon, - homePage: 'home', - navigationTree$: of(navTree), -}; diff --git a/packages/solution-nav/analytics/jest.config.js b/packages/solution-nav/analytics/jest.config.js deleted file mode 100644 index 5e34a4721ae8e..0000000000000 --- a/packages/solution-nav/analytics/jest.config.js +++ /dev/null @@ -1,13 +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. - */ - -module.exports = { - preset: '@kbn/test', - rootDir: '../../..', - roots: ['/packages/solution-nav/analytics'], -}; diff --git a/packages/solution-nav/analytics/kibana.jsonc b/packages/solution-nav/analytics/kibana.jsonc deleted file mode 100644 index 97f0ce68b571f..0000000000000 --- a/packages/solution-nav/analytics/kibana.jsonc +++ /dev/null @@ -1,10 +0,0 @@ -{ - "type": "shared-common", - "id": "@kbn/solution-nav-analytics", - "owner": [ - "@elastic/appex-sharedux", - "@elastic/kibana-data-discovery", - "@elastic/kibana-presentation", - "@elastic/kibana-visualizations" - ] -} diff --git a/packages/solution-nav/analytics/package.json b/packages/solution-nav/analytics/package.json deleted file mode 100644 index 2e11112c8cc16..0000000000000 --- a/packages/solution-nav/analytics/package.json +++ /dev/null @@ -1,6 +0,0 @@ -{ - "name": "@kbn/solution-nav-analytics", - "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/solution-nav/analytics/index.ts b/scripts/prettier_topology_check.js similarity index 80% rename from packages/solution-nav/analytics/index.ts rename to scripts/prettier_topology_check.js index 8024948fb3cd1..49afd804681f3 100644 --- a/packages/solution-nav/analytics/index.ts +++ b/scripts/prettier_topology_check.js @@ -6,4 +6,5 @@ * Side Public License, v 1. */ -export { definition } from './definition'; +require('../src/setup_node_env'); +require('../src/dev/run_prettier_topology_check'); diff --git a/src/core/server/integration_tests/capabilities/capabilities_service.test.ts b/src/core/server/integration_tests/capabilities/capabilities_service.test.ts index 6ee87dc5a7931..d9d20441da439 100644 --- a/src/core/server/integration_tests/capabilities/capabilities_service.test.ts +++ b/src/core/server/integration_tests/capabilities/capabilities_service.test.ts @@ -18,7 +18,7 @@ import { InternalHttpServicePreboot, InternalHttpServiceSetup, } from '@kbn/core-http-server-internal'; -import { createHttpServer } from '@kbn/core-http-server-mocks'; +import { createHttpService } from '@kbn/core-http-server-mocks'; import type { CapabilitiesSetup } from '@kbn/core-capabilities-server'; import { CapabilitiesService } from '@kbn/core-capabilities-server-internal'; @@ -35,7 +35,7 @@ describe('CapabilitiesService', () => { let serviceSetup: CapabilitiesSetup; beforeEach(async () => { - server = createHttpServer(); + server = createHttpService(); httpPreboot = await server.preboot({ context: contextServiceMock.createPrebootContract() }); httpSetup = await server.setup({ context: contextServiceMock.createSetupContract(), diff --git a/src/core/server/integration_tests/core_app/bundle_routes.test.ts b/src/core/server/integration_tests/core_app/bundle_routes.test.ts index 58636e4fadb88..a17ab9dbc9930 100644 --- a/src/core/server/integration_tests/core_app/bundle_routes.test.ts +++ b/src/core/server/integration_tests/core_app/bundle_routes.test.ts @@ -14,7 +14,7 @@ import { executionContextServiceMock } from '@kbn/core-execution-context-server- import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; import type { IRouter } from '@kbn/core-http-server'; import { HttpService } from '@kbn/core-http-server-internal'; -import { createHttpServer } from '@kbn/core-http-server-mocks'; +import { createHttpService } from '@kbn/core-http-server-mocks'; import { registerRouteForBundle, FileHashCache } from '@kbn/core-apps-server-internal'; const buildHash = 'buildHash'; @@ -31,7 +31,7 @@ describe('bundle routes', () => { logger = loggingSystemMock.create(); fileHashCache = new FileHashCache(); - server = createHttpServer({ logger }); + server = createHttpService({ logger }); await server.preboot({ context: contextServiceMock.createPrebootContract() }); }); diff --git a/src/core/server/integration_tests/http/lifecycle.test.ts b/src/core/server/integration_tests/http/lifecycle.test.ts index d1a6b6b627fe8..a8d14867f1df5 100644 --- a/src/core/server/integration_tests/http/lifecycle.test.ts +++ b/src/core/server/integration_tests/http/lifecycle.test.ts @@ -14,7 +14,7 @@ import { executionContextServiceMock } from '@kbn/core-execution-context-server- import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; import { ensureRawRequest } from '@kbn/core-http-router-server-internal'; import { HttpService } from '@kbn/core-http-server-internal'; -import { createHttpServer } from '@kbn/core-http-server-mocks'; +import { createHttpService } from '@kbn/core-http-server-mocks'; let server: HttpService; @@ -29,7 +29,7 @@ const setupDeps = { beforeEach(async () => { logger = loggingSystemMock.create(); - server = createHttpServer({ logger }); + server = createHttpService({ logger }); await server.preboot({ context: contextServiceMock.createPrebootContract() }); }); diff --git a/src/core/server/integration_tests/http/lifecycle_handlers.test.ts b/src/core/server/integration_tests/http/lifecycle_handlers.test.ts index f9ab9c2027e87..ff82decebff1e 100644 --- a/src/core/server/integration_tests/http/lifecycle_handlers.test.ts +++ b/src/core/server/integration_tests/http/lifecycle_handlers.test.ts @@ -10,7 +10,7 @@ import supertest from 'supertest'; import { kibanaPackageJson } from '@kbn/repo-info'; import type { IRouter, RouteRegistrar } from '@kbn/core-http-server'; import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; -import { createConfigService, createHttpServer } from '@kbn/core-http-server-mocks'; +import { createConfigService, createHttpService } from '@kbn/core-http-server-mocks'; import { HttpService, HttpServerSetup } from '@kbn/core-http-server-internal'; import { executionContextServiceMock } from '@kbn/core-execution-context-server-mocks'; import { schema } from '@kbn/config-schema'; @@ -61,7 +61,7 @@ describe('core lifecycle handlers', () => { beforeEach(async () => { const configService = createConfigService(testConfig); logger = loggerMock.create(); - server = createHttpServer({ configService, logger }); + server = createHttpService({ configService, logger }); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const serverSetup = await server.setup(setupDeps); router = serverSetup.createRouter('/'); @@ -243,7 +243,7 @@ describe('core lifecycle handlers', () => { restrictInternalApis: true, }, }); - server = createHttpServer({ configService }); + server = createHttpService({ configService }); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const serverSetup = await server.setup(setupDeps); router = serverSetup.createRouter('/'); @@ -317,7 +317,7 @@ describe('core lifecycle handlers with restrict internal routes enforced', () => beforeEach(async () => { const configService = createConfigService({ server: { restrictInternalApis: true } }); - server = createHttpServer({ configService }); + server = createHttpService({ configService }); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const serverSetup = await server.setup(setupDeps); @@ -382,7 +382,7 @@ describe('core lifecycle handlers with no strict client version check', () => { }, }, }); - server = createHttpServer({ configService, logger, buildNum: 1234 }); + server = createHttpService({ configService, logger, buildNum: 1234 }); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const serverSetup = await server.setup(setupDeps); router = serverSetup.createRouter('/'); diff --git a/src/core/server/integration_tests/http/oas.test.ts b/src/core/server/integration_tests/http/oas.test.ts new file mode 100644 index 0000000000000..d0adbb0d29ea7 --- /dev/null +++ b/src/core/server/integration_tests/http/oas.test.ts @@ -0,0 +1,164 @@ +/* + * 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 supertest from 'supertest'; +import { executionContextServiceMock } from '@kbn/core-execution-context-server-mocks'; +import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; +import { createConfigService, createHttpService } from '@kbn/core-http-server-mocks'; +import type { + InternalContextPreboot, + InternalContextSetup, +} from '@kbn/core-http-context-server-internal'; +import { InternalExecutionContextSetup } from '@kbn/core-execution-context-server-internal'; +import { IRouter } from '@kbn/core-http-server'; + +let prebootDeps: { + context: jest.Mocked; +}; +let setupDeps: { + context: jest.Mocked; + executionContext: jest.Mocked; +}; +beforeEach(async () => { + prebootDeps = { + context: contextServiceMock.createPrebootContract(), + }; + const contextSetup = contextServiceMock.createSetupContract(); + setupDeps = { + context: contextSetup, + executionContext: executionContextServiceMock.createInternalSetupContract(), + }; +}); + +let httpService: ReturnType; +type ConfigServiceArgs = Parameters[0]; +async function startService( + args: { + config?: ConfigServiceArgs; + createRoutes?: (getRouter: (pluginId?: symbol) => IRouter) => void; + } = {} +) { + httpService = createHttpService({ + configService: createConfigService(args.config), + }); + await httpService.preboot(prebootDeps); + const { server: innerServer, createRouter } = await httpService.setup(setupDeps); + if (args.createRoutes) { + args.createRoutes((pluginId) => createRouter('/', pluginId)); + } + await httpService.start(); + return { + listener: innerServer.listener, + }; +} + +async function stopService() { + await httpService?.stop(); +} + +afterEach(async () => { + await stopService(); +}); + +it('is disabled by default', async () => { + const server = await startService(); + supertest(server.listener).get('/api/oas').expect(404); +}); + +it('handles requests when enabled', async () => { + const server = await startService({ config: { server: { oas: { enabled: true } } } }); + const result = await supertest(server.listener).get('/api/oas'); + expect(result.status).toBe(200); +}); + +it.each([ + { + queryParam: { pathStartsWith: '/api/include-test' }, + includes: { + paths: { + '/api/include-test': { + get: {}, + post: {}, + }, + '/api/include-test/{id}': {}, + }, + }, + excludes: { + paths: { + '/my-other-plugin': {}, + }, + }, + }, + { + queryParam: { pluginId: 'myPlugin' }, + includes: { + paths: { + '/api/include-test': { + get: {}, + post: {}, + }, + '/api/include-test/{id}': {}, + }, + }, + excludes: { + paths: { + '/my-other-plugin': {}, + }, + }, + }, + { + queryParam: { pluginId: 'nonExistant' }, + includes: {}, + excludes: { + paths: { + '/my-include-test': {}, + '/my-other-plugin': {}, + }, + }, + }, + { + queryParam: { pluginId: 'myOtherPlugin', pathStartsWith: '/api/my-other-plugin' }, + includes: { + paths: { + '/api/my-other-plugin': { + get: {}, + post: {}, + put: {}, + }, + }, + }, + excludes: { + paths: { + '/my-include-test': {}, + }, + }, + }, +])( + 'can filter paths based on query params $queryParam', + async ({ queryParam, includes, excludes }) => { + const server = await startService({ + config: { server: { oas: { enabled: true } } }, + createRoutes: (getRouter) => { + const router1 = getRouter(Symbol('myPlugin')); + router1.get({ path: '/api/include-test', validate: false }, (_, __, res) => res.ok()); + router1.post({ path: '/api/include-test', validate: false }, (_, __, res) => res.ok()); + router1.get({ path: '/api/include-test/{id}', validate: false }, (_, __, res) => res.ok()); + router1.get({ path: '/api/exclude-test', validate: false }, (_, __, res) => res.ok()); + + const router2 = getRouter(Symbol('myOtherPlugin')); + router2.get({ path: '/api/my-other-plugin', validate: false }, (_, __, res) => res.ok()); + router2.post({ path: '/api/my-other-plugin', validate: false }, (_, __, res) => res.ok()); + router2.put({ path: '/api/my-other-plugin', validate: false }, (_, __, res) => res.ok()); + }, + }); + const result = await supertest(server.listener).get('/api/oas').query(queryParam); + expect(result.status).toBe(200); + expect(result.body).toMatchObject(includes); + expect(result.body).not.toMatchObject(excludes); + } +); diff --git a/src/core/server/integration_tests/http/preboot.test.ts b/src/core/server/integration_tests/http/preboot.test.ts index d6ba19d066a7c..03da476bd1974 100644 --- a/src/core/server/integration_tests/http/preboot.test.ts +++ b/src/core/server/integration_tests/http/preboot.test.ts @@ -11,7 +11,7 @@ import supertest from 'supertest'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { executionContextServiceMock } from '@kbn/core-execution-context-server-mocks'; import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; -import { createHttpServer } from '@kbn/core-http-server-mocks'; +import { createHttpService } from '@kbn/core-http-server-mocks'; import { HttpService } from '@kbn/core-http-server-internal'; let server: HttpService; @@ -24,7 +24,7 @@ const setupDeps = { }; beforeEach(async () => { - server = createHttpServer({ logger: loggingSystemMock.create() }); + server = createHttpService({ logger: loggingSystemMock.create() }); }); afterEach(async () => { diff --git a/src/core/server/integration_tests/http/request.test.ts b/src/core/server/integration_tests/http/request.test.ts index 3e09de6e7749d..9e90c1364a902 100644 --- a/src/core/server/integration_tests/http/request.test.ts +++ b/src/core/server/integration_tests/http/request.test.ts @@ -15,7 +15,7 @@ import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { executionContextServiceMock } from '@kbn/core-execution-context-server-mocks'; import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; import type { HttpService } from '@kbn/core-http-server-internal'; -import { createHttpServer } from '@kbn/core-http-server-mocks'; +import { createHttpService } from '@kbn/core-http-server-mocks'; import { schema } from '@kbn/config-schema'; let server: HttpService; @@ -31,7 +31,7 @@ const setupDeps = { beforeEach(async () => { logger = loggingSystemMock.create(); - server = createHttpServer({ logger }); + server = createHttpService({ logger }); await server.preboot({ context: contextServiceMock.createPrebootContract() }); }); diff --git a/src/core/server/integration_tests/http/request_representation.test.ts b/src/core/server/integration_tests/http/request_representation.test.ts index 28a871ea8f849..35053fe9cfc0c 100644 --- a/src/core/server/integration_tests/http/request_representation.test.ts +++ b/src/core/server/integration_tests/http/request_representation.test.ts @@ -16,7 +16,7 @@ import { executionContextServiceMock } from '@kbn/core-execution-context-server- import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; import type { HttpService } from '@kbn/core-http-server-internal'; import { ensureRawRequest } from '@kbn/core-http-router-server-internal'; -import { createHttpServer } from '@kbn/core-http-server-mocks'; +import { createHttpService } from '@kbn/core-http-server-mocks'; import { inspect } from 'util'; let server: HttpService; @@ -32,7 +32,7 @@ const setupDeps = { beforeEach(async () => { logger = loggingSystemMock.create(); - server = createHttpServer({ logger }); + server = createHttpService({ logger }); await server.preboot({ context: contextServiceMock.createPrebootContract() }); }); diff --git a/src/core/server/integration_tests/http/router.test.ts b/src/core/server/integration_tests/http/router.test.ts index be6fcccf662f8..614cc27e72f95 100644 --- a/src/core/server/integration_tests/http/router.test.ts +++ b/src/core/server/integration_tests/http/router.test.ts @@ -17,7 +17,7 @@ import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { executionContextServiceMock } from '@kbn/core-execution-context-server-mocks'; import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; import { Router } from '@kbn/core-http-router-server-internal'; -import { createHttpServer } from '@kbn/core-http-server-mocks'; +import { createHttpService } from '@kbn/core-http-server-mocks'; import type { HttpService } from '@kbn/core-http-server-internal'; import { loggerMock } from '@kbn/logging-mocks'; @@ -32,7 +32,7 @@ const setupDeps = { beforeEach(async () => { logger = loggingSystemMock.create(); - server = createHttpServer({ logger }); + server = createHttpService({ logger }); await server.preboot({ context: contextServiceMock.createPrebootContract() }); }); diff --git a/src/core/server/integration_tests/http/versioned_router.test.ts b/src/core/server/integration_tests/http/versioned_router.test.ts index 17454cd2e3dca..1b397af616d7b 100644 --- a/src/core/server/integration_tests/http/versioned_router.test.ts +++ b/src/core/server/integration_tests/http/versioned_router.test.ts @@ -14,7 +14,7 @@ import { schema } from '@kbn/config-schema'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { executionContextServiceMock } from '@kbn/core-execution-context-server-mocks'; import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; -import { createHttpServer, createConfigService } from '@kbn/core-http-server-mocks'; +import { createHttpService, createConfigService } from '@kbn/core-http-server-mocks'; import type { HttpConfigType, HttpService } from '@kbn/core-http-server-internal'; import type { IRouter } from '@kbn/core-http-server'; import type { CliArgs } from '@kbn/config'; @@ -42,7 +42,7 @@ describe('Routing versioned requests', () => { options.useVersionResolutionStrategyForInternalPaths ?? [], }, }; - server = createHttpServer({ + server = createHttpService({ logger, env: createTestEnv({ envOptions: getEnvOptions({ cliArgs }) }), configService: createConfigService({ diff --git a/src/core/server/integration_tests/metrics/server_collector.test.ts b/src/core/server/integration_tests/metrics/server_collector.test.ts index 4ae1eec3bbd43..6151cd1ebe6bf 100644 --- a/src/core/server/integration_tests/metrics/server_collector.test.ts +++ b/src/core/server/integration_tests/metrics/server_collector.test.ts @@ -10,7 +10,7 @@ import { BehaviorSubject, Subject } from 'rxjs'; import { take, filter } from 'rxjs'; import supertest from 'supertest'; import { Server as HapiServer } from '@hapi/hapi'; -import { createHttpServer } from '@kbn/core-http-server-mocks'; +import { createHttpService } from '@kbn/core-http-server-mocks'; import type { IRouter } from '@kbn/core-http-server'; import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; import type { HttpService } from '@kbn/core-http-server-internal'; @@ -28,7 +28,7 @@ describe('ServerMetricsCollector', () => { const sendGet = (path: string) => supertest(hapiServer.listener).get(path); beforeEach(async () => { - server = createHttpServer(); + server = createHttpService(); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const contextSetup = contextServiceMock.createSetupContract(); const httpSetup = await server.setup({ diff --git a/src/core/server/integration_tests/saved_objects/routes/allow_api_access/get.test.ts b/src/core/server/integration_tests/saved_objects/routes/allow_api_access/get.test.ts index bc23f404e928d..0d589cc5e0fe8 100644 --- a/src/core/server/integration_tests/saved_objects/routes/allow_api_access/get.test.ts +++ b/src/core/server/integration_tests/saved_objects/routes/allow_api_access/get.test.ts @@ -9,7 +9,7 @@ import supertest from 'supertest'; import { ContextService } from '@kbn/core-http-context-server-internal'; import type { HttpService, InternalHttpServiceSetup } from '@kbn/core-http-server-internal'; -import { createHttpServer, createCoreContext } from '@kbn/core-http-server-mocks'; +import { createHttpService, createCoreContext } from '@kbn/core-http-server-mocks'; import { savedObjectsClientMock } from '@kbn/core-saved-objects-api-server-mocks'; import { executionContextServiceMock } from '@kbn/core-execution-context-server-mocks'; import type { ICoreUsageStatsClient } from '@kbn/core-usage-data-base-server-internal'; @@ -42,7 +42,7 @@ describe('GET /api/saved_objects/{type}/{id} with allowApiAccess true', () => { beforeEach(async () => { const coreContext = createCoreContext({ coreId }); - server = createHttpServer(coreContext); + server = createHttpService(coreContext); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const contextService = new ContextService(coreContext); diff --git a/src/core/server/integration_tests/saved_objects/routes/allow_api_access/resolve.test.ts b/src/core/server/integration_tests/saved_objects/routes/allow_api_access/resolve.test.ts index 88814cb658608..e017cef0f881b 100644 --- a/src/core/server/integration_tests/saved_objects/routes/allow_api_access/resolve.test.ts +++ b/src/core/server/integration_tests/saved_objects/routes/allow_api_access/resolve.test.ts @@ -9,7 +9,7 @@ import supertest from 'supertest'; import { ContextService } from '@kbn/core-http-context-server-internal'; import type { HttpService, InternalHttpServiceSetup } from '@kbn/core-http-server-internal'; -import { createHttpServer, createCoreContext } from '@kbn/core-http-server-mocks'; +import { createHttpService, createCoreContext } from '@kbn/core-http-server-mocks'; import { savedObjectsClientMock } from '@kbn/core-saved-objects-api-server-mocks'; import type { ICoreUsageStatsClient } from '@kbn/core-usage-data-base-server-internal'; import { @@ -43,7 +43,7 @@ describe('GET /api/saved_objects/resolve/{type}/{id} with allowApiAccess true', beforeEach(async () => { const coreContext = createCoreContext({ coreId }); - server = createHttpServer(coreContext); + server = createHttpService(coreContext); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const contextService = new ContextService(coreContext); diff --git a/src/core/server/integration_tests/saved_objects/routes/get.test.ts b/src/core/server/integration_tests/saved_objects/routes/get.test.ts index f8cc26a15c7a8..9b5b75029f892 100644 --- a/src/core/server/integration_tests/saved_objects/routes/get.test.ts +++ b/src/core/server/integration_tests/saved_objects/routes/get.test.ts @@ -9,7 +9,7 @@ import supertest from 'supertest'; import { ContextService } from '@kbn/core-http-context-server-internal'; import type { HttpService, InternalHttpServiceSetup } from '@kbn/core-http-server-internal'; -import { createHttpServer, createCoreContext } from '@kbn/core-http-server-mocks'; +import { createHttpService, createCoreContext } from '@kbn/core-http-server-mocks'; import { savedObjectsClientMock } from '@kbn/core-saved-objects-api-server-mocks'; import { executionContextServiceMock } from '@kbn/core-execution-context-server-mocks'; import type { ICoreUsageStatsClient } from '@kbn/core-usage-data-base-server-internal'; @@ -43,7 +43,7 @@ describe('GET /api/saved_objects/{type}/{id}', () => { beforeEach(async () => { const coreContext = createCoreContext({ coreId }); - server = createHttpServer(coreContext); + server = createHttpService(coreContext); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const contextService = new ContextService(coreContext); diff --git a/src/core/server/integration_tests/saved_objects/routes/resolve.test.ts b/src/core/server/integration_tests/saved_objects/routes/resolve.test.ts index 700a5a0edd372..3e36a78c90bad 100644 --- a/src/core/server/integration_tests/saved_objects/routes/resolve.test.ts +++ b/src/core/server/integration_tests/saved_objects/routes/resolve.test.ts @@ -9,7 +9,7 @@ import supertest from 'supertest'; import { ContextService } from '@kbn/core-http-context-server-internal'; import type { HttpService, InternalHttpServiceSetup } from '@kbn/core-http-server-internal'; -import { createHttpServer, createCoreContext } from '@kbn/core-http-server-mocks'; +import { createHttpService, createCoreContext } from '@kbn/core-http-server-mocks'; import { savedObjectsClientMock } from '@kbn/core-saved-objects-api-server-mocks'; import type { ICoreUsageStatsClient } from '@kbn/core-usage-data-base-server-internal'; import { @@ -44,7 +44,7 @@ describe('GET /api/saved_objects/resolve/{type}/{id}', () => { beforeEach(async () => { const coreContext = createCoreContext({ coreId }); - server = createHttpServer(coreContext); + server = createHttpService(coreContext); await server.preboot({ context: contextServiceMock.createPrebootContract() }); const contextService = new ContextService(coreContext); diff --git a/src/core/server/integration_tests/status/routes/preboot_status.test.ts b/src/core/server/integration_tests/status/routes/preboot_status.test.ts index a987c6f889e1b..3e74387cea9e0 100644 --- a/src/core/server/integration_tests/status/routes/preboot_status.test.ts +++ b/src/core/server/integration_tests/status/routes/preboot_status.test.ts @@ -7,7 +7,7 @@ */ import supertest from 'supertest'; -import { createCoreContext, createHttpServer } from '@kbn/core-http-server-mocks'; +import { createCoreContext, createHttpService } from '@kbn/core-http-server-mocks'; import type { HttpService, InternalHttpServicePreboot } from '@kbn/core-http-server-internal'; import { contextServiceMock } from '@kbn/core-http-context-server-mocks'; @@ -22,7 +22,7 @@ describe('GET /api/status', () => { const setupServer = async () => { const coreContext = createCoreContext({ coreId }); - server = createHttpServer(coreContext); + server = createHttpService(coreContext); httpPreboot = await server.preboot({ context: contextServiceMock.createPrebootContract(), }); diff --git a/src/core/server/integration_tests/status/routes/status.test.ts b/src/core/server/integration_tests/status/routes/status.test.ts index 29a55743dd0d5..5b882603fb62c 100644 --- a/src/core/server/integration_tests/status/routes/status.test.ts +++ b/src/core/server/integration_tests/status/routes/status.test.ts @@ -11,7 +11,7 @@ import supertest from 'supertest'; import { omit } from 'lodash'; import { ContextService } from '@kbn/core-http-context-server-internal'; -import { createCoreContext, createHttpServer } from '@kbn/core-http-server-mocks'; +import { createCoreContext, createHttpService } from '@kbn/core-http-server-mocks'; import type { HttpService, InternalHttpServiceSetup } from '@kbn/core-http-server-internal'; import { metricsServiceMock } from '@kbn/core-metrics-server-mocks'; import type { MetricsServiceSetup } from '@kbn/core-metrics-server'; @@ -48,7 +48,7 @@ describe('GET /api/status', () => { const coreContext = createCoreContext({ coreId }); const contextService = new ContextService(coreContext); - server = createHttpServer(coreContext); + server = createHttpService(coreContext); await server.preboot({ context: contextServiceMock.createPrebootContract() }); httpSetup = await server.setup({ context: contextService.setup({ pluginDependencies: new Map() }), diff --git a/src/core/tsconfig.json b/src/core/tsconfig.json index 0b81bff41acf1..ea4b84eedd71d 100644 --- a/src/core/tsconfig.json +++ b/src/core/tsconfig.json @@ -163,6 +163,7 @@ "@kbn/core-security-server-mocks", "@kbn/core-security-browser", "@kbn/core-security-browser-mocks", + "@kbn/core-execution-context-server-internal", ], "exclude": [ "target/**/*", diff --git a/src/dev/license_checker/config.ts b/src/dev/license_checker/config.ts index e0e4b2f1376fa..c708ab543476d 100644 --- a/src/dev/license_checker/config.ts +++ b/src/dev/license_checker/config.ts @@ -86,7 +86,7 @@ export const LICENSE_OVERRIDES = { 'jsts@1.6.2': ['Eclipse Distribution License - v 1.0'], // cf. https://github.com/bjornharrtell/jsts '@mapbox/jsonlint-lines-primitives@2.0.2': ['MIT'], // license in readme https://github.com/tmcw/jsonlint '@elastic/ems-client@8.5.1': ['Elastic License 2.0'], - '@elastic/eui@93.6.0': ['SSPL-1.0 OR Elastic License 2.0'], + '@elastic/eui@94.1.0-backport.0': ['SSPL-1.0 OR Elastic License 2.0'], 'language-subtag-registry@0.3.21': ['CC-BY-4.0'], // retired ODC‑By license https://github.com/mattcg/language-subtag-registry 'buffers@0.1.1': ['MIT'], // license in importing module https://www.npmjs.com/package/binary '@bufbuild/protobuf@1.2.1': ['Apache-2.0'], // license (Apache-2.0 AND BSD-3-Clause) diff --git a/src/dev/run_prettier_topology_check.ts b/src/dev/run_prettier_topology_check.ts new file mode 100644 index 0000000000000..bc75fc8ad56b1 --- /dev/null +++ b/src/dev/run_prettier_topology_check.ts @@ -0,0 +1,56 @@ +/* + * 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 globby from 'globby'; +import path from 'path'; +import { REPO_ROOT } from '@kbn/repo-info'; +import { createFailError } from '@kbn/dev-cli-errors'; +import { run } from '@kbn/dev-cli-runner'; + +function listPaths(filePaths: string[]) { + return filePaths.map((filePath: string) => ` - ${filePath}`).join('\n'); +} + +run(async ({ log }) => { + const filePaths = await globby('**/.prettierrc*', { + cwd: REPO_ROOT, + onlyFiles: true, + gitignore: true, + ignore: [ + // the gitignore: true option makes sure that we don't + // include files from node_modules in the result, but it still + // loads all of the files from node_modules before filtering + // so it's still super slow. This prevents loading the files + // and still relies on gitignore to final ignores + '**/node_modules', + ], + }); + + // const filePaths = paths.map((path) => (new File(path)).getRelativePath()); + + if (!filePaths.length) { + throw createFailError(`A top level .prettierrc file should exist and no file was found.`); + } + + if (filePaths.length > 1) { + throw createFailError( + `Only a single .prettierrc root file should exist and more than one were found.\n${listPaths( + filePaths + )}` + ); + } + + if ( + filePaths.length === 1 && + path.resolve(path.dirname(filePaths[0])) === path.resolve(REPO_ROOT) + ) { + log.success('Only one .prettierrc file found at the root level.'); + } + + process.exit(0); +}); 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 a929fa4148f54..c3b9b1c8dee1c 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 @@ -37,6 +37,7 @@ export const MonacoEditor = ({ initialTextValue }: EditorProps) => { settings: settingsService, autocompleteInfo, }, + docLinkVersion, } = useServicesContext(); const { toasts } = notifications; const { settings } = useEditorReadContext(); @@ -53,6 +54,10 @@ export const MonacoEditor = ({ initialTextValue }: EditorProps) => { return curl ?? ''; }, [esHostService]); + const getDocumenationLink = useCallback(async () => { + return actionsProvider.current!.getDocumentationLink(docLinkVersion); + }, [docLinkVersion]); + const sendRequestsCallback = useCallback(async () => { await actionsProvider.current?.sendRequests(toasts, dispatch, trackUiMetric, http); }, [dispatch, http, toasts, trackUiMetric]); @@ -103,9 +108,7 @@ export const MonacoEditor = ({ initialTextValue }: EditorProps) => { { - return Promise.resolve(null); - }} + getDocumentation={getDocumenationLink} autoIndent={() => {}} notifications={notifications} /> 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 index ee2be44ec812e..94f6f962e6f41 100644 --- 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 @@ -10,6 +10,12 @@ * Mock kbn/monaco to provide the console parser code directly without a web worker */ const mockGetParsedRequests = jest.fn(); + +/* + * Mock the function "populateContext" that accesses the autocomplete definitions + */ +const mockPopulateContext = jest.fn(); + jest.mock('@kbn/monaco', () => { const original = jest.requireActual('@kbn/monaco'); return { @@ -33,6 +39,14 @@ jest.mock('../../../../services', () => { }; }); +jest.mock('../../../../lib/autocomplete/engine', () => { + return { + populateContext: (...args: any) => { + mockPopulateContext(args); + }, + }; +}); + import { MonacoEditorActionsProvider } from './monaco_editor_actions_provider'; import { monaco } from '@kbn/monaco'; @@ -101,4 +115,36 @@ describe('Editor actions provider', () => { expect(curl).toBe('curl -XGET "http://localhost/_search" -H "kbn-xsrf: reporting"'); }); }); + + describe('getDocumentationLink', () => { + const docLinkVersion = '8.13'; + const docsLink = 'http://elastic.co/_search'; + // mock the populateContext function that finds the correct autocomplete endpoint object and puts it into the context object + mockPopulateContext.mockImplementation((...args) => { + const context = args[0][1]; + context.endpoint = { + documentation: docsLink, + }; + }); + it('returns null if no requests', async () => { + mockGetParsedRequests.mockResolvedValue([]); + const link = await editorActionsProvider.getDocumentationLink(docLinkVersion); + expect(link).toBe(null); + }); + + it('returns null 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 link = await editorActionsProvider.getDocumentationLink(docLinkVersion); + expect(link).toBe(null); + }); + + it('returns the correct link if there is a request in the selection range', async () => { + const link = await editorActionsProvider.getDocumentationLink(docLinkVersion); + expect(link).toBe(docsLink); + }); + }); }); 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 index af87f7fb68d24..31fc969449e84 100644 --- 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 @@ -17,8 +17,11 @@ import { import { IToasts } from '@kbn/core-notifications-browser'; import { i18n } from '@kbn/i18n'; import type { HttpSetup } from '@kbn/core-http-browser'; +import { AutoCompleteContext } from '../../../../lib/autocomplete/types'; +import { populateContext } from '../../../../lib/autocomplete/engine'; import { DEFAULT_VARIABLES } from '../../../../../common/constants'; import { getStorage, StorageKeys } from '../../../../services'; +import { getTopLevelUrlCompleteComponents } from '../../../../lib/kb'; import { sendRequest } from '../../../hooks/use_send_current_request/send_request'; import { MetricsTracker } from '../../../../types'; import { Actions } from '../../../stores/request'; @@ -27,6 +30,8 @@ import { replaceRequestVariables, getCurlRequest, trackSentRequests, + tokenizeRequestUrl, + getDocumentationLinkFromAutocompleteContext, } from './utils'; const selectedRequestsClass = 'console__monaco_editor__selectedRequests'; @@ -235,4 +240,29 @@ export class MonacoEditorActionsProvider { } } } + + public async getDocumentationLink(docLinkVersion: string): Promise { + const requests = await this.getRequests(); + if (requests.length < 1) { + return null; + } + const request = requests[0]; + + // get autocomplete components for the request method + const components = getTopLevelUrlCompleteComponents(request.method); + // get the url parts from the request url + const urlTokens = tokenizeRequestUrl(request.url); + + // this object will contain the information later, it needs to be initialized with some data + // similar to the old ace editor context + const context: AutoCompleteContext = { + method: request.method, + urlTokenPath: urlTokens, + }; + + // this function uses the autocomplete info and the url tokens to find the correct endpoint + populateContext(urlTokens, context, undefined, true, components); + + return getDocumentationLinkFromAutocompleteContext(context, docLinkVersion); + } } 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 index e2aa1543d8b6f..5869ec4183df7 100644 --- a/src/plugins/console/public/application/containers/editor/monaco/utils.test.ts +++ b/src/plugins/console/public/application/containers/editor/monaco/utils.test.ts @@ -8,12 +8,15 @@ import { getCurlRequest, + getDocumentationLinkFromAutocompleteContext, removeTrailingWhitespaces, replaceRequestVariables, stringifyRequest, + tokenizeRequestUrl, trackSentRequests, } from './utils'; import { MetricsTracker } from '../../../../types'; +import { AutoCompleteContext } from '../../../../lib/autocomplete/types'; describe('monaco editor utils', () => { const dataObjects = [ @@ -179,4 +182,46 @@ describe('monaco editor utils', () => { expect(mockMetricsTracker.count).toHaveBeenNthCalledWith(2, 'POST__test'); }); }); + + describe('tokenizeRequestUrl', () => { + it('returns the url if it has only 1 part', () => { + const url = '_search'; + const urlTokens = tokenizeRequestUrl(url); + expect(urlTokens).toEqual(['_search', '__url_path_end__']); + }); + + it('returns correct url tokens', () => { + const url = '_search/test'; + const urlTokens = tokenizeRequestUrl(url); + expect(urlTokens).toEqual(['_search', 'test', '__url_path_end__']); + }); + }); + + describe('getDocumentationLinkFromAutocompleteContext', () => { + const version = '8.13'; + const expectedLink = 'http://elastic.co/8.13/_search'; + it('correctly replaces {branch} with the version', () => { + const endpoint = { + documentation: 'http://elastic.co/{branch}/_search', + } as AutoCompleteContext['endpoint']; + const link = getDocumentationLinkFromAutocompleteContext({ endpoint }, version); + expect(link).toBe(expectedLink); + }); + + it('correctly replaces /master/ with the version', () => { + const endpoint = { + documentation: 'http://elastic.co/master/_search', + } as AutoCompleteContext['endpoint']; + const link = getDocumentationLinkFromAutocompleteContext({ endpoint }, version); + expect(link).toBe(expectedLink); + }); + + it('correctly replaces /current/ with the version', () => { + const endpoint = { + documentation: 'http://elastic.co/current/_search', + } as AutoCompleteContext['endpoint']; + const link = getDocumentationLinkFromAutocompleteContext({ endpoint }, version); + expect(link).toBe(expectedLink); + }); + }); }); diff --git a/src/plugins/console/public/application/containers/editor/monaco/utils.ts b/src/plugins/console/public/application/containers/editor/monaco/utils.ts index f5725ad271fc6..3caa966547a1a 100644 --- a/src/plugins/console/public/application/containers/editor/monaco/utils.ts +++ b/src/plugins/console/public/application/containers/editor/monaco/utils.ts @@ -7,6 +7,7 @@ */ import { ParsedRequest } from '@kbn/monaco'; +import { AutoCompleteContext } from '../../../../lib/autocomplete/types'; import { constructUrl } from '../../../../lib/es'; import type { DevToolsVariable } from '../../../components'; import { EditorRequest } from './monaco_editor_actions_provider'; @@ -74,3 +75,33 @@ export const trackSentRequests = ( trackUiMetric.count(eventName); }); }; + +/* + * This function takes a request url as a string and returns it parts, + * for example '_search/test' => ['_search', 'test'] + */ +const urlPartsSeparatorRegex = /\//; +const endOfUrlToken = '__url_path_end__'; +export const tokenizeRequestUrl = (url: string): string[] => { + const parts = url.split(urlPartsSeparatorRegex); + // this special token is used to mark the end of the url + parts.push(endOfUrlToken); + return parts; +}; + +/* + * This function returns a documentation link from the autocomplete endpoint object + * and replaces the branch in the url with the current version "docLinkVersion" + */ +export const getDocumentationLinkFromAutocompleteContext = ( + { endpoint }: AutoCompleteContext, + docLinkVersion: string +): string | null => { + if (endpoint && endpoint.documentation && endpoint.documentation.indexOf('http') !== -1) { + return endpoint.documentation + .replace('/master/', `/${docLinkVersion}/`) + .replace('/current/', `/${docLinkVersion}/`) + .replace('/{branch}/', `/${docLinkVersion}/`); + } + return null; +}; 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 e01df7ed7b658..6429d8894d33c 100644 --- a/src/plugins/console/public/application/containers/embeddable/console_wrapper.tsx +++ b/src/plugins/console/public/application/containers/embeddable/console_wrapper.tsx @@ -113,7 +113,7 @@ interface ConsoleWrapperProps export const ConsoleWrapper = (props: ConsoleWrapperProps) => { const [dependencies, setDependencies] = useState(null); - const { core, usageCollection, onKeyDown } = props; + const { core, usageCollection, onKeyDown, isMonacoEnabled } = props; useEffect(() => { if (dependencies === null) { @@ -165,6 +165,9 @@ export const ConsoleWrapper = (props: ConsoleWrapperProps) => { autocompleteInfo, }, theme$, + config: { + isMonacoEnabled, + }, }} > 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 651182f83a404..218496b9d81ab 100644 --- a/src/plugins/console/public/application/containers/embeddable/embeddable_console.tsx +++ b/src/plugins/console/public/application/containers/embeddable/embeddable_console.tsx @@ -48,6 +48,7 @@ export const EmbeddableConsole = ({ usageCollection, setDispatch, alternateView, + isMonacoEnabled, }: EmbeddableConsoleProps & EmbeddableConsoleDependencies) => { const [consoleState, consoleDispatch] = useReducer( store.reducer, @@ -149,7 +150,9 @@ export const EmbeddableConsole = ({ )}
- {showConsole ? : null} + {showConsole ? ( + + ) : null} {showAlternateView ? (
diff --git a/src/plugins/console/public/plugin.ts b/src/plugins/console/public/plugin.ts index 9feb04b8f6663..43cedf1fa4bb0 100644 --- a/src/plugins/console/public/plugin.ts +++ b/src/plugins/console/public/plugin.ts @@ -112,6 +112,7 @@ export class ConsoleUIPlugin public start(core: CoreStart, deps: AppStartUIPluginDependencies): ConsolePluginStart { const { ui: { enabled: isConsoleUiEnabled, embeddedEnabled: isEmbeddedConsoleEnabled }, + dev: { enableMonaco: isMonacoEnabled }, } = this.ctx.config.get(); const consoleStart: ConsolePluginStart = {}; @@ -134,6 +135,7 @@ export class ConsoleUIPlugin this._embeddableConsole.setDispatch(d); }, alternateView: this._embeddableConsole.alternateView, + isMonacoEnabled, }); }; consoleStart.isEmbeddedConsoleAvailable = () => diff --git a/src/plugins/console/public/types/embeddable_console.ts b/src/plugins/console/public/types/embeddable_console.ts index da1e99f5e64c2..07a801c40287b 100644 --- a/src/plugins/console/public/types/embeddable_console.ts +++ b/src/plugins/console/public/types/embeddable_console.ts @@ -25,6 +25,7 @@ export interface EmbeddableConsoleDependencies { usageCollection?: UsageCollectionStart; setDispatch: (dispatch: Dispatch | null) => void; alternateView?: EmbeddedConsoleView; + isMonacoEnabled: boolean; } export type EmbeddedConsoleAction = diff --git a/src/plugins/data/public/search/session/sessions_mgmt/components/table/table.test.tsx b/src/plugins/data/public/search/session/sessions_mgmt/components/table/table.test.tsx index de96c865b90e0..6394deeab843b 100644 --- a/src/plugins/data/public/search/session/sessions_mgmt/components/table/table.test.tsx +++ b/src/plugins/data/public/search/session/sessions_mgmt/components/table/table.test.tsx @@ -100,8 +100,7 @@ describe('Background Search Session Management Table', () => { ); }); - expect(table.find('thead th .euiTableCellContent__text').map((node) => node.text())) - .toMatchInlineSnapshot(` + expect(table.find('thead th').map((node) => node.text())).toMatchInlineSnapshot(` Array [ "App", "Name", @@ -136,12 +135,12 @@ describe('Background Search Session Management Table', () => { expect(table.find('tbody td').map((node) => node.text())).toMatchInlineSnapshot(` Array [ - "App", - "Namevery background search Info", - "# Searches0", - "StatusExpired", - "Created2 Dec, 2020, 00:19:32", - "Expiration--", + "", + "very background search Info", + "0", + "Expired", + "2 Dec, 2020, 00:19:32", + "--", "", "", ] diff --git a/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap b/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap index eb243025df2f7..77df622eaddbb 100644 --- a/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap +++ b/src/plugins/data/public/utils/table_inspector_view/components/__snapshots__/data_view.test.tsx.snap @@ -200,123 +200,79 @@ Array [ class="euiBasicTable insDataTableFormat__table eui-xScroll css-1f59z3t" data-test-subj="inspectorTable" > -
-
-
-
-
+ + + + -
- -
-
-
-
-
- - - - - - - + + + + + + + - - - - -
-
- -
- column1 -
-
+ 123 +
+
- 123 -
-
-
-
+ class="euiFlexGroup emotion-euiFlexGroup-none-flexStart-center-row" + />
-
-
+
+ + + +
-
-
-
-
-
+ + + + -
- -
-
-
-
-
- - - - - - - + + + + + + + - - - - -
-
- -
- column1 -
-
+ 123 +
+
- 123 -
-
-
-
+ class="euiFlexGroup emotion-euiFlexGroup-none-flexStart-center-row" + />
-
-
+
+ + + +
@@ -104,7 +104,7 @@ exports[`IndicesList should change pages 1`] = ` exports[`IndicesList should change per page 1`] = `
@@ -206,7 +206,7 @@ exports[`IndicesList should change per page 1`] = ` exports[`IndicesList should highlight fully when an exact match 1`] = `
@@ -314,7 +314,7 @@ exports[`IndicesList should highlight fully when an exact match 1`] = ` exports[`IndicesList should highlight the query in the matches 1`] = `
@@ -422,7 +422,7 @@ exports[`IndicesList should highlight the query in the matches 1`] = ` exports[`IndicesList should render normally 1`] = `
@@ -523,7 +523,7 @@ exports[`IndicesList should render normally 1`] = ` exports[`IndicesList updating props should render all new indices 1`] = `
diff --git a/src/plugins/data_view_editor/public/components/preview_panel/indices_list/indices_list.tsx b/src/plugins/data_view_editor/public/components/preview_panel/indices_list/indices_list.tsx index d7542a9e70184..1cb5298911785 100644 --- a/src/plugins/data_view_editor/public/components/preview_panel/indices_list/indices_list.tsx +++ b/src/plugins/data_view_editor/public/components/preview_panel/indices_list/indices_list.tsx @@ -218,7 +218,7 @@ export class IndicesList extends React.Component - + {rows} diff --git a/src/plugins/data_view_field_editor/public/components/field_format_editor/editors/color/__snapshots__/color.test.tsx.snap b/src/plugins/data_view_field_editor/public/components/field_format_editor/editors/color/__snapshots__/color.test.tsx.snap index 1cff82729e6f9..3fb1b65c2d4af 100644 --- a/src/plugins/data_view_field_editor/public/components/field_format_editor/editors/color/__snapshots__/color.test.tsx.snap +++ b/src/plugins/data_view_field_editor/public/components/field_format_editor/editors/color/__snapshots__/color.test.tsx.snap @@ -82,7 +82,6 @@ exports[`ColorFormatEditor should render multiple colors 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> } - responsive={true} tableLayout="fixed" /> } - responsive={true} tableLayout="fixed" /> } - responsive={true} style={ Object { "maxWidth": "400px", @@ -169,7 +168,6 @@ exports[`StaticLookupFormatEditor should render normally 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} style={ Object { "maxWidth": "400px", diff --git a/src/plugins/data_view_field_editor/public/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap b/src/plugins/data_view_field_editor/public/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap index 9959f3f97edd9..27aaaf65e902d 100644 --- a/src/plugins/data_view_field_editor/public/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap +++ b/src/plugins/data_view_field_editor/public/components/field_format_editor/editors/url/__snapshots__/url.test.tsx.snap @@ -282,181 +282,129 @@ exports[`UrlFormatEditor should render normally 1`] = ` class="euiBasicTable kbnFieldFormatEditor__samples" id="generated-id" > -
-
-
-
-
-
-
- - - - + + - + - - - + + + + + - - - + - - + + + + - + - - + + + + - + - - -
-
+
+
+
- - Input - + Input -
+ +
- - Output - + Output -
-
- Input -
-
- john -
-
+ +
-
- Output -
-
-
- converted url for john -
+
+ converted url for john
-
- -
- Input -
-
- /some/pathname/asset.png -
-
+ +
-
- Output -
-
-
- converted url for /some/pathname/asset.png -
+
+ converted url for /some/pathname/asset.png
-
- -
- Input -
-
- 1234 -
-
+ +
-
- Output +
+ converted url for 1234
-
-
- converted url for 1234 -
-
-
-
+
+ + + +
diff --git a/src/plugins/data_view_field_editor/public/components/field_format_editor/samples/__snapshots__/samples.test.tsx.snap b/src/plugins/data_view_field_editor/public/components/field_format_editor/samples/__snapshots__/samples.test.tsx.snap index eecd78db02ef1..c1f59038e4756 100644 --- a/src/plugins/data_view_field_editor/public/components/field_format_editor/samples/__snapshots__/samples.test.tsx.snap +++ b/src/plugins/data_view_field_editor/public/components/field_format_editor/samples/__snapshots__/samples.test.tsx.snap @@ -57,7 +57,6 @@ exports[`FormatEditorSamples should render normally 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> diff --git a/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/components/table/__snapshots__/table.test.tsx.snap b/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/components/table/__snapshots__/table.test.tsx.snap index aeb4417ccbd59..53cb9a9db33b7 100644 --- a/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/components/table/__snapshots__/table.test.tsx.snap +++ b/src/plugins/data_view_management/public/components/edit_index_pattern/indexed_fields_table/components/table/__snapshots__/table.test.tsx.snap @@ -57,7 +57,6 @@ exports[`Table render conflict summary modal 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} rowHeader="firstName" tableCaption="Demo of EuiBasicTable" tableLayout="auto" @@ -304,7 +303,6 @@ exports[`Table should render normally 1`] = ` ], } } - responsive={true} searchFormat="eql" sorting={ Object { diff --git a/src/plugins/data_view_management/public/components/edit_index_pattern/scripted_fields_table/components/table/__snapshots__/table.test.tsx.snap b/src/plugins/data_view_management/public/components/edit_index_pattern/scripted_fields_table/components/table/__snapshots__/table.test.tsx.snap index 7ce374b2ad3b4..5f8e34d0776ec 100644 --- a/src/plugins/data_view_management/public/components/edit_index_pattern/scripted_fields_table/components/table/__snapshots__/table.test.tsx.snap +++ b/src/plugins/data_view_management/public/components/edit_index_pattern/scripted_fields_table/components/table/__snapshots__/table.test.tsx.snap @@ -86,7 +86,6 @@ exports[`Table should render normally 1`] = ` ], } } - responsive={true} searchFormat="eql" sorting={true} tableLayout="fixed" diff --git a/src/plugins/data_view_management/public/components/edit_index_pattern/source_filters_table/components/table/__snapshots__/table.test.tsx.snap b/src/plugins/data_view_management/public/components/edit_index_pattern/source_filters_table/components/table/__snapshots__/table.test.tsx.snap index e6f71b425ce8e..66b7b6f106285 100644 --- a/src/plugins/data_view_management/public/components/edit_index_pattern/source_filters_table/components/table/__snapshots__/table.test.tsx.snap +++ b/src/plugins/data_view_management/public/components/edit_index_pattern/source_filters_table/components/table/__snapshots__/table.test.tsx.snap @@ -91,7 +91,6 @@ exports[`Table should render normally 1`] = ` ], } } - responsive={true} searchFormat="eql" sorting={true} tableLayout="fixed" diff --git a/src/plugins/data_view_management/public/components/index_pattern_table/__snapshots__/delete_modal_msg.test.tsx.snap b/src/plugins/data_view_management/public/components/index_pattern_table/__snapshots__/delete_modal_msg.test.tsx.snap index ac12af2228758..90e0d28996d66 100644 --- a/src/plugins/data_view_management/public/components/index_pattern_table/__snapshots__/delete_modal_msg.test.tsx.snap +++ b/src/plugins/data_view_management/public/components/index_pattern_table/__snapshots__/delete_modal_msg.test.tsx.snap @@ -64,7 +64,6 @@ exports[`delete modal content render 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableCaption="Data views selected for deletion" tableLayout="fixed" /> @@ -127,7 +126,6 @@ exports[`delete modal content render 2`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableCaption="Data views selected for deletion" tableLayout="fixed" /> @@ -196,7 +194,6 @@ exports[`delete modal content render 3`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableCaption="Data views selected for deletion" tableLayout="fixed" /> @@ -276,7 +273,6 @@ exports[`delete modal content render 4`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableCaption="Data views selected for deletion" tableLayout="fixed" /> diff --git a/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx b/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx index f2d5c8d18aa0e..044904d96eea3 100644 --- a/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx +++ b/src/plugins/data_view_management/public/components/index_pattern_table/index_pattern_table.tsx @@ -340,7 +340,6 @@ export const IndexPatternTable = ({ = compressed={true} rowHeader="label" columns={columns} - responsive /> diff --git a/src/plugins/files_management/tsconfig.json b/src/plugins/files_management/tsconfig.json index 461882d69b91e..8ecd2a7793dfc 100644 --- a/src/plugins/files_management/tsconfig.json +++ b/src/plugins/files_management/tsconfig.json @@ -11,11 +11,11 @@ "@kbn/i18n", "@kbn/content-management-table-list-view-table", "@kbn/content-management-table-list-view", - "@kbn/kibana-react-plugin", "@kbn/i18n-react", "@kbn/shared-ux-file-image", "@kbn/shared-ux-router", "@kbn/content-management-table-list-view-common", + "@kbn/kibana-react-plugin", ], "exclude": [ "target/**/*", diff --git a/src/plugins/home/public/application/application.tsx b/src/plugins/home/public/application/application.tsx index d289d4c54d827..b64dc56ea9e0b 100644 --- a/src/plugins/home/public/application/application.tsx +++ b/src/plugins/home/public/application/application.tsx @@ -8,9 +8,9 @@ import React from 'react'; import { render, unmountComponentAtNode } from 'react-dom'; -import { ScopedHistory, CoreStart, CoreTheme } from '@kbn/core/public'; -import { Observable } from 'rxjs'; -import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; +import { ScopedHistory, CoreStart } from '@kbn/core/public'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import { RedirectAppLinks } from '@kbn/shared-ux-link-redirect-app'; @@ -24,7 +24,6 @@ import './index.scss'; export const renderApp = async ( element: HTMLElement, - theme$: Observable, coreStart: CoreStart, history: ScopedHistory ) => { @@ -44,19 +43,19 @@ export const renderApp = async ( ); render( - - + + - - , + + , element ); }); @@ -64,7 +63,7 @@ export const renderApp = async ( // dispatch synthetic hash change event to update hash history objects // this is necessary because hash updates triggered by using popState won't trigger this event naturally. // This must be called before the app is mounted to avoid call this after the redirect to default app logic kicks in - const unlisten = history.listen((location) => { + const unlisten = history.listen((_location) => { window.dispatchEvent(new HashChangeEvent('hashchange')); }); diff --git a/src/plugins/home/public/plugin.ts b/src/plugins/home/public/plugin.ts index 8c895d9b491bd..84c383eb8a749 100644 --- a/src/plugins/home/public/plugin.ts +++ b/src/plugins/home/public/plugin.ts @@ -116,7 +116,7 @@ export class HomePublicPlugin i18n.translate('home.pageTitle', { defaultMessage: 'Home' }) ); const { renderApp } = await import('./application'); - return await renderApp(params.element, params.theme$, coreStart, params.history); + return await renderApp(params.element, coreStart, params.history); }, }); urlForwarding.forwardApp('home', 'home'); diff --git a/src/plugins/home/tsconfig.json b/src/plugins/home/tsconfig.json index 87137d6c7166e..01caa2a2c16cc 100644 --- a/src/plugins/home/tsconfig.json +++ b/src/plugins/home/tsconfig.json @@ -33,6 +33,7 @@ "@kbn/shared-ux-router", "@kbn/core-http-common", "@kbn/shared-ux-link-redirect-app", + "@kbn/react-kibana-context-render", ], "exclude": [ "target/**/*", diff --git a/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/clusters_table.test.tsx b/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/clusters_table.test.tsx index 667c8937aa649..dcaadb58f1155 100644 --- a/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/clusters_table.test.tsx +++ b/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/clusters_table.test.tsx @@ -32,9 +32,9 @@ describe('ClustersTable', () => { render(); const tableRows = screen.getAllByRole('row'); expect(tableRows.length).toBe(4); // 1 header row, 3 data rows - expect(tableRows[1]).toHaveTextContent('Nameremote1StatussuccessfulResponse time50ms'); - expect(tableRows[2]).toHaveTextContent('Nameremote2StatusskippedResponse time1000ms'); - expect(tableRows[3]).toHaveTextContent('Nameremote3StatusfailedResponse time90ms'); + expect(tableRows[1]).toHaveTextContent('remote1successful50ms'); + expect(tableRows[2]).toHaveTextContent('remote2skipped1000ms'); + expect(tableRows[3]).toHaveTextContent('remote3failed90ms'); }); test('should sort by response time', () => { @@ -45,16 +45,16 @@ describe('ClustersTable', () => { fireEvent.click(button); const tableRowsAsc = screen.getAllByRole('row'); expect(tableRowsAsc.length).toBe(4); // 1 header row, 3 data rows - expect(tableRowsAsc[1]).toHaveTextContent('Nameremote1StatussuccessfulResponse time50ms'); - expect(tableRowsAsc[2]).toHaveTextContent('Nameremote3StatusfailedResponse time90ms'); - expect(tableRowsAsc[3]).toHaveTextContent('Nameremote2StatusskippedResponse time1000ms'); + expect(tableRowsAsc[1]).toHaveTextContent('remote1successful50ms'); + expect(tableRowsAsc[2]).toHaveTextContent('remote3failed90ms'); + expect(tableRowsAsc[3]).toHaveTextContent('remote2skipped1000ms'); fireEvent.click(button); const tableRowsDesc = screen.getAllByRole('row'); expect(tableRowsDesc.length).toBe(4); // 1 header row, 3 data rows - expect(tableRowsDesc[1]).toHaveTextContent('Nameremote2StatusskippedResponse time1000ms'); - expect(tableRowsDesc[2]).toHaveTextContent('Nameremote3StatusfailedResponse time90ms'); - expect(tableRowsDesc[3]).toHaveTextContent('Nameremote1StatussuccessfulResponse time50ms'); + expect(tableRowsDesc[1]).toHaveTextContent('remote2skipped1000ms'); + expect(tableRowsDesc[2]).toHaveTextContent('remote3failed90ms'); + expect(tableRowsDesc[3]).toHaveTextContent('remote1successful50ms'); }); }); }); diff --git a/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/clusters_table.tsx b/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/clusters_table.tsx index 1cd0f0864742f..92e8e7ebcbafe 100644 --- a/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/clusters_table.tsx +++ b/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/clusters_table.tsx @@ -137,7 +137,6 @@ export function ClustersTable({ clusters }: Props) { ? items.sort(Comparators.property(sortField, Comparators.default(sortDirection))) : items } - isExpandable={true} itemIdToExpandedRowMap={expandedRows} itemId="name" columns={columns} diff --git a/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/shards_view/shard_failure_table.tsx b/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/shards_view/shard_failure_table.tsx index 344b17b38a741..d72f661576a55 100644 --- a/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/shards_view/shard_failure_table.tsx +++ b/src/plugins/inspector/public/views/requests/components/details/clusters_view/clusters_table/shards_view/shard_failure_table.tsx @@ -108,7 +108,6 @@ export function ShardFailureTable({ failures }: Props) { failureType: failure.reason.type, }; })} - isExpandable={true} itemIdToExpandedRowMap={expandedRows} itemId="rowId" columns={columns} diff --git a/src/plugins/inspector/public/views/requests/components/details/req_details_stats.tsx b/src/plugins/inspector/public/views/requests/components/details/req_details_stats.tsx index fc0ab22e826ff..17d8953f8aef7 100644 --- a/src/plugins/inspector/public/views/requests/components/details/req_details_stats.tsx +++ b/src/plugins/inspector/public/views/requests/components/details/req_details_stats.tsx @@ -66,7 +66,7 @@ export class RequestDetailsStats extends Component { .map((id) => ({ id, ...stats[id] } as RequestDetailsStatRow)); return ( - + {sortedStats.map(this.renderStatRow)} ); diff --git a/src/plugins/interactive_setup/public/cluster_address_form.test.tsx b/src/plugins/interactive_setup/public/cluster_address_form.test.tsx index 51ca8dd830c3f..a532a81deac34 100644 --- a/src/plugins/interactive_setup/public/cluster_address_form.test.tsx +++ b/src/plugins/interactive_setup/public/cluster_address_form.test.tsx @@ -9,7 +9,7 @@ import { fireEvent, render, waitFor } from '@testing-library/react'; import React from 'react'; -import { coreMock, themeServiceMock } from '@kbn/core/public/mocks'; +import { coreMock } from '@kbn/core/public/mocks'; import { ClusterAddressForm } from './cluster_address_form'; import { Providers } from './plugin'; @@ -21,8 +21,6 @@ jest.mock('@elastic/eui/lib/services/accessibility/html_id_generator', () => ({ describe('ClusterAddressForm', () => { jest.setTimeout(20_000); - const theme$ = themeServiceMock.createTheme$(); - it('calls enrollment API when submitting form', async () => { const coreStart = coreMock.createStart(); coreStart.http.post.mockResolvedValue({}); @@ -30,7 +28,7 @@ describe('ClusterAddressForm', () => { const onSuccess = jest.fn(); const { findByRole, findByLabelText } = render( - + ); @@ -54,7 +52,7 @@ describe('ClusterAddressForm', () => { const onSuccess = jest.fn(); const { findAllByText, findByRole, findByLabelText } = render( - + ); diff --git a/src/plugins/interactive_setup/public/cluster_configuration_form.test.tsx b/src/plugins/interactive_setup/public/cluster_configuration_form.test.tsx index 2e66d9b4f125e..01512cee06cf2 100644 --- a/src/plugins/interactive_setup/public/cluster_configuration_form.test.tsx +++ b/src/plugins/interactive_setup/public/cluster_configuration_form.test.tsx @@ -9,7 +9,7 @@ import { fireEvent, render, waitFor } from '@testing-library/react'; import React from 'react'; -import { coreMock, themeServiceMock } from '@kbn/core/public/mocks'; +import { coreMock } from '@kbn/core/public/mocks'; import { ClusterConfigurationForm } from './cluster_configuration_form'; import { Providers } from './plugin'; @@ -21,8 +21,6 @@ jest.mock('@elastic/eui/lib/services/accessibility/html_id_generator', () => ({ describe('ClusterConfigurationForm', () => { jest.setTimeout(20_000); - const theme$ = themeServiceMock.createTheme$(); - it('calls enrollment API for https addresses when submitting form', async () => { const coreStart = coreMock.createStart(); coreStart.http.post.mockResolvedValue({}); @@ -30,7 +28,7 @@ describe('ClusterConfigurationForm', () => { const onSuccess = jest.fn(); const { findByRole, findByLabelText } = render( - + { const onSuccess = jest.fn(); const { findByRole } = render( - + { const onSuccess = jest.fn(); const { findAllByText, findByRole, findByLabelText } = render( - + { jest.setTimeout(20_000); - const theme$ = themeServiceMock.createTheme$(); - it('calls enrollment API when submitting form', async () => { const coreStart = coreMock.createStart(); coreStart.http.post.mockResolvedValue({}); @@ -38,7 +36,7 @@ describe('EnrollmentTokenForm', () => { const onSuccess = jest.fn(); const { findByRole, findByLabelText } = render( - + ); @@ -64,7 +62,7 @@ describe('EnrollmentTokenForm', () => { const onSuccess = jest.fn(); const { findAllByText, findByRole, findByLabelText } = render( - + ); diff --git a/src/plugins/interactive_setup/public/plugin.tsx b/src/plugins/interactive_setup/public/plugin.tsx index aa688cd0e53b5..84c581fe44a9a 100644 --- a/src/plugins/interactive_setup/public/plugin.tsx +++ b/src/plugins/interactive_setup/public/plugin.tsx @@ -9,13 +9,11 @@ import type { FunctionComponent } from 'react'; import React from 'react'; import ReactDOM from 'react-dom'; -import type { Observable } from 'rxjs'; -import type { CoreSetup, CoreStart, CoreTheme, Plugin } from '@kbn/core/public'; -import { I18nProvider } from '@kbn/i18n-react'; +import type { CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import { App } from './app'; -import { KibanaThemeProvider } from './theme'; // TODO: replace this with the one exported from `kibana_react` after https://github.com/elastic/kibana/issues/119204 is implemented. import { KibanaProvider } from './use_kibana'; import { VerificationProvider } from './use_verification'; @@ -26,7 +24,7 @@ export class InteractiveSetupPlugin implements Plugin { title: 'Configure Elastic to get started', appRoute: '/', chromeless: true, - mount: async ({ element, theme$ }) => { + mount: async ({ element }) => { const url = new URL(window.location.href); const defaultCode = url.searchParams.get('code') || undefined; const onSuccess = () => { @@ -36,7 +34,7 @@ export class InteractiveSetupPlugin implements Plugin { const [services] = await core.getStartServices(); ReactDOM.render( - + , element @@ -46,26 +44,22 @@ export class InteractiveSetupPlugin implements Plugin { }); } - public start(core: CoreStart) {} + public start(_core: CoreStart) {} } export interface ProvidersProps { services: CoreStart; - theme$: Observable; defaultCode?: string; } export const Providers: FunctionComponent = ({ defaultCode, services, - theme$, children, }) => ( - - - - {children} - - - + + + {children} + + ); diff --git a/src/plugins/interactive_setup/public/theme/index.tsx b/src/plugins/interactive_setup/public/theme/index.tsx deleted file mode 100644 index 8007d392a071d..0000000000000 --- a/src/plugins/interactive_setup/public/theme/index.tsx +++ /dev/null @@ -1,24 +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 { EuiProviderProps } from '@elastic/eui'; -import React, { type FC } from 'react'; -import type { Observable } from 'rxjs'; - -import type { CoreTheme } from '@kbn/core-theme-browser'; -import { KibanaThemeProvider as KbnThemeProvider } from '@kbn/react-kibana-context-theme'; - -export interface KibanaThemeProviderProps { - theme$: Observable; - modify?: EuiProviderProps<{}>['modify']; -} - -/** @deprecated use `KibanaThemeProvider` from `@kbn/react-kibana-context-theme */ -export const KibanaThemeProvider: FC = ({ theme$, modify, children }) => ( - {children} -); diff --git a/src/plugins/interactive_setup/public/verification_code_form.test.tsx b/src/plugins/interactive_setup/public/verification_code_form.test.tsx index efa5721c8d5b8..c7329396c0cd1 100644 --- a/src/plugins/interactive_setup/public/verification_code_form.test.tsx +++ b/src/plugins/interactive_setup/public/verification_code_form.test.tsx @@ -9,7 +9,7 @@ import { fireEvent, render, waitFor } from '@testing-library/react'; import React from 'react'; -import { coreMock, themeServiceMock } from '@kbn/core/public/mocks'; +import { coreMock } from '@kbn/core/public/mocks'; import { Providers } from './plugin'; import { VerificationCodeForm } from './verification_code_form'; @@ -21,8 +21,6 @@ jest.mock('@elastic/eui/lib/services/accessibility/html_id_generator', () => ({ describe('VerificationCodeForm', () => { jest.setTimeout(20_000); - const theme$ = themeServiceMock.createTheme$(); - it('calls enrollment API when submitting form', async () => { const coreStart = coreMock.createStart(); coreStart.http.post.mockResolvedValue({}); @@ -30,7 +28,7 @@ describe('VerificationCodeForm', () => { const onSuccess = jest.fn(); const { findByRole, findByLabelText } = render( - + ); @@ -67,7 +65,7 @@ describe('VerificationCodeForm', () => { const onSuccess = jest.fn(); const { findAllByText, findByRole, findByLabelText } = render( - + ); diff --git a/src/plugins/interactive_setup/tsconfig.json b/src/plugins/interactive_setup/tsconfig.json index c8ae9dc8fdfb6..51fff541980cc 100644 --- a/src/plugins/interactive_setup/tsconfig.json +++ b/src/plugins/interactive_setup/tsconfig.json @@ -23,9 +23,8 @@ "@kbn/utils", "@kbn/core-logging-server-mocks", "@kbn/core-preboot-server", - "@kbn/react-kibana-context-theme", - "@kbn/core-theme-browser", "@kbn/security-hardening", + "@kbn/react-kibana-context-render", ], "exclude": [ "target/**/*", diff --git a/src/plugins/kibana_overview/public/application.tsx b/src/plugins/kibana_overview/public/application.tsx index dce7573f63f53..8b94a09ba981b 100644 --- a/src/plugins/kibana_overview/public/application.tsx +++ b/src/plugins/kibana_overview/public/application.tsx @@ -9,8 +9,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; import { i18n } from '@kbn/i18n'; -import { I18nProvider } from '@kbn/i18n-react'; -import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import { NewsfeedApiEndpoint } from '@kbn/newsfeed-plugin/public'; import { AppMountParameters, CoreStart } from '@kbn/core/public'; import { AppPluginStartDependencies } from './types'; @@ -19,7 +19,7 @@ import { KibanaOverviewApp } from './components/app'; export const renderApp = ( core: CoreStart, deps: AppPluginStartDependencies, - { appBasePath, element, theme$ }: AppMountParameters + { appBasePath, element }: AppMountParameters ) => { const { notifications, http } = core; const { newsfeed, home, navigation } = deps; @@ -41,16 +41,14 @@ export const renderApp = ( ); ReactDOM.render( - - - - - - - , + + + + + , element ); }); diff --git a/src/plugins/kibana_overview/tsconfig.json b/src/plugins/kibana_overview/tsconfig.json index 09e9d232901c4..ad6a946b432b5 100644 --- a/src/plugins/kibana_overview/tsconfig.json +++ b/src/plugins/kibana_overview/tsconfig.json @@ -27,6 +27,7 @@ "@kbn/shared-ux-router", "@kbn/shared-ux-avatar-solution", "@kbn/shared-ux-utility", + "@kbn/react-kibana-context-render", ], "exclude": [ "target/**/*", diff --git a/src/plugins/navigation/common/constants.ts b/src/plugins/navigation/common/constants.ts index be41e97416084..75a59efdfb777 100644 --- a/src/plugins/navigation/common/constants.ts +++ b/src/plugins/navigation/common/constants.ts @@ -6,6 +6,6 @@ * Side Public License, v 1. */ -export const SOLUTION_NAV_FEATURE_FLAG_NAME = 'navigation.solutionNavEnabled'; +export const SOLUTION_NAV_FEATURE_FLAG_NAME = 'solutionNavEnabled'; export const ENABLE_SOLUTION_NAV_UI_SETTING_ID = 'solutionNav:enable'; diff --git a/src/plugins/navigation/public/plugin.test.ts b/src/plugins/navigation/public/plugin.test.ts index 84dadf234c21b..1aad72a3344f3 100644 --- a/src/plugins/navigation/public/plugin.test.ts +++ b/src/plugins/navigation/public/plugin.test.ts @@ -139,7 +139,7 @@ describe('Navigation Plugin', () => { expect(coreStart.chrome.project.updateSolutionNavigations).toHaveBeenCalled(); const [arg] = coreStart.chrome.project.updateSolutionNavigations.mock.calls[0]; - expect(Object.keys(arg)).toEqual(['es', 'oblt', 'analytics']); + expect(Object.keys(arg)).toEqual(['es', 'oblt']); expect(coreStart.chrome.project.changeActiveSolutionNavigation).toHaveBeenCalledWith(null); }); diff --git a/src/plugins/navigation/public/plugin.tsx b/src/plugins/navigation/public/plugin.tsx index f70e20cce8bbe..79f7a032daf72 100644 --- a/src/plugins/navigation/public/plugin.tsx +++ b/src/plugins/navigation/public/plugin.tsx @@ -31,7 +31,6 @@ import type { import { InternalChromeStart } from '@kbn/core-chrome-browser-internal'; import { definition as esDefinition } from '@kbn/solution-nav-es'; import { definition as obltDefinition } from '@kbn/solution-nav-oblt'; -import { definition as analyticsDefinition } from '@kbn/solution-nav-analytics'; import type { PanelContentProvider } from '@kbn/shared-ux-chrome-navigation'; import { UserProfileData } from '@kbn/user-profile-components'; import { ENABLE_SOLUTION_NAV_UI_SETTING_ID, SOLUTION_NAV_FEATURE_FLAG_NAME } from '../common'; @@ -283,10 +282,6 @@ export class NavigationPublicPlugin ...obltDefinition, sideNavComponent: this.getSideNavComponent({ dataTestSubj: 'observabilitySideNav' }), }, - analytics: { - ...analyticsDefinition, - sideNavComponent: this.getSideNavComponent({ dataTestSubj: 'analyticsSideNav' }), - }, }; chrome.project.updateSolutionNavigations(solutionNavs, true); } diff --git a/src/plugins/navigation/tsconfig.json b/src/plugins/navigation/tsconfig.json index 4a9c4832ea42d..10818f045be04 100644 --- a/src/plugins/navigation/tsconfig.json +++ b/src/plugins/navigation/tsconfig.json @@ -27,7 +27,6 @@ "@kbn/solution-nav-es", "@kbn/solution-nav-oblt", "@kbn/config", - "@kbn/solution-nav-analytics", "@kbn/security-plugin", "@kbn/user-profile-components", "@kbn/core-lifecycle-browser", diff --git a/src/plugins/newsfeed/kibana.jsonc b/src/plugins/newsfeed/kibana.jsonc index b4d3ea1ad1d8f..b0c9e21b8fa56 100644 --- a/src/plugins/newsfeed/kibana.jsonc +++ b/src/plugins/newsfeed/kibana.jsonc @@ -9,8 +9,6 @@ "requiredPlugins": [ "screenshotMode" ], - "requiredBundles": [ - "kibanaReact" - ] + "requiredBundles": [] } } diff --git a/src/plugins/newsfeed/public/plugin.tsx b/src/plugins/newsfeed/public/plugin.tsx index 31d99501a6fb4..b78d5c110a166 100644 --- a/src/plugins/newsfeed/public/plugin.tsx +++ b/src/plugins/newsfeed/public/plugin.tsx @@ -11,15 +11,8 @@ import { catchError, takeUntil } from 'rxjs'; import ReactDOM from 'react-dom'; import React from 'react'; import moment from 'moment'; -import { I18nProvider } from '@kbn/i18n-react'; -import { - PluginInitializerContext, - CoreSetup, - CoreStart, - CoreTheme, - Plugin, -} from '@kbn/core/public'; -import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; +import { PluginInitializerContext, CoreSetup, CoreStart, Plugin } from '@kbn/core/public'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import { NewsfeedPluginBrowserConfig, NewsfeedPluginStartDependencies } from './types'; import { NewsfeedNavButton } from './components/newsfeed_header_nav_button'; import { getApi, NewsfeedApi, NewsfeedApiEndpoint } from './lib/api'; @@ -45,7 +38,7 @@ export class NewsfeedPublicPlugin }); } - public setup(core: CoreSetup) { + public setup(_core: CoreSetup) { return {}; } @@ -55,8 +48,7 @@ export class NewsfeedPublicPlugin const api = this.createNewsfeedApi(this.config, NewsfeedApiEndpoint.KIBANA, isScreenshotMode); core.chrome.navControls.registerRight({ order: 1000, - mount: (target) => - this.mount(api, target, core.theme.theme$, core.customBranding.hasCustomBranding$), + mount: (target) => this.mount(api, target, core), }); return { @@ -92,18 +84,12 @@ export class NewsfeedPublicPlugin }; } - private mount( - api: NewsfeedApi, - targetDomElement: HTMLElement, - theme$: Rx.Observable, - hasCustomBranding$: Rx.Observable - ) { + private mount(api: NewsfeedApi, targetDomElement: HTMLElement, core: CoreStart) { + const hasCustomBranding$ = core.customBranding.hasCustomBranding$; ReactDOM.render( - - - - - , + + + , targetDomElement ); return () => ReactDOM.unmountComponentAtNode(targetDomElement); diff --git a/src/plugins/newsfeed/tsconfig.json b/src/plugins/newsfeed/tsconfig.json index b10a878fb295b..8c97a4420c48f 100644 --- a/src/plugins/newsfeed/tsconfig.json +++ b/src/plugins/newsfeed/tsconfig.json @@ -6,12 +6,12 @@ "include": ["public/**/*", "server/**/*", "common/*", "../../../typings/**/*"], "kbn_references": [ "@kbn/core", - "@kbn/kibana-react-plugin", "@kbn/screenshot-mode-plugin", "@kbn/i18n-react", "@kbn/i18n", "@kbn/utility-types", "@kbn/config-schema", + "@kbn/react-kibana-context-render", ], "exclude": [ "target/**/*", diff --git a/src/plugins/saved_objects/kibana.jsonc b/src/plugins/saved_objects/kibana.jsonc index feb59248c0493..aa1c9aae31194 100644 --- a/src/plugins/saved_objects/kibana.jsonc +++ b/src/plugins/saved_objects/kibana.jsonc @@ -11,8 +11,7 @@ "dataViews" ], "requiredBundles": [ - "kibanaUtils", - "kibanaReact" + "kibanaUtils" ] } } diff --git a/src/plugins/saved_objects/public/kibana_services.ts b/src/plugins/saved_objects/public/kibana_services.ts index aae1769afd72a..90a2aa0e5cd32 100644 --- a/src/plugins/saved_objects/public/kibana_services.ts +++ b/src/plugins/saved_objects/public/kibana_services.ts @@ -13,5 +13,6 @@ export function setStartServices(core: CoreStart) { coreStart = core; } +export const getAnalytics = () => coreStart.analytics; export const getI18n = () => coreStart.i18n; export const getTheme = () => coreStart.theme; diff --git a/src/plugins/saved_objects/public/plugin.ts b/src/plugins/saved_objects/public/plugin.ts index 51c1711184c12..df6b7991f1c37 100644 --- a/src/plugins/saved_objects/public/plugin.ts +++ b/src/plugins/saved_objects/public/plugin.ts @@ -57,6 +57,7 @@ export class SavedObjectsPublicPlugin chrome: core.chrome, overlays: core.overlays, }, + core, this.decoratorRegistry ), }; diff --git a/src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx b/src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx index 55c45e276230a..a58848f06c980 100644 --- a/src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx +++ b/src/plugins/saved_objects/public/save_modal/show_saved_object_save_modal.tsx @@ -9,8 +9,8 @@ import React from 'react'; import ReactDOM from 'react-dom'; -import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; -import { getI18n, getTheme } from '../kibana_services'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; +import { getAnalytics, getI18n, getTheme } from '../kibana_services'; /** * Represents the result of trying to persist the saved object. @@ -59,9 +59,9 @@ export function showSaveModal( const I18nContext = getI18n().Context; ReactDOM.render( - + {Wrapper ? {element} : element} - , + , container ); } diff --git a/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts b/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts index 647eece25752a..7fb8c6941fa2f 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/build_saved_object.ts @@ -17,6 +17,7 @@ import { SavedObjectConfig, SavedObjectKibanaServices, SavedObjectSaveOpts, + StartServices, } from '../../types'; import { applyESResp } from './apply_es_resp'; import { saveSavedObject } from './save_saved_object'; @@ -37,6 +38,7 @@ export function buildSavedObject( savedObject: SavedObject, config: SavedObjectConfig, services: SavedObjectKibanaServices, + startServices: StartServices, decorators: SavedObjectDecorator[] = [] ) { applyDecorators(savedObject, config, decorators); @@ -110,7 +112,7 @@ export function buildSavedObject( savedObject.save = async (opts: SavedObjectSaveOpts) => { try { - const result = await saveSavedObject(savedObject, config, opts, services); + const result = await saveSavedObject(savedObject, config, opts, services, startServices); return Promise.resolve(result); } catch (e) { return Promise.reject(e); diff --git a/src/plugins/saved_objects/public/saved_object/helpers/check_for_duplicate_title.ts b/src/plugins/saved_objects/public/saved_object/helpers/check_for_duplicate_title.ts index 763b94c949da9..e87f8e6fb7a71 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/check_for_duplicate_title.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/check_for_duplicate_title.ts @@ -6,7 +6,7 @@ * Side Public License, v 1. */ -import { SavedObject, SavedObjectKibanaServices } from '../../types'; +import { SavedObject, SavedObjectKibanaServices, StartServices } from '../../types'; import { findObjectByTitle } from './find_object_by_title'; import { SAVE_DUPLICATE_REJECTED } from '../../constants'; import { displayDuplicateTitleConfirmModal } from './display_duplicate_title_confirm_modal'; @@ -19,6 +19,7 @@ import { displayDuplicateTitleConfirmModal } from './display_duplicate_title_con * @param isTitleDuplicateConfirmed * @param onTitleDuplicate * @param services + * @param startServices */ export async function checkForDuplicateTitle( savedObject: Pick< @@ -27,7 +28,8 @@ export async function checkForDuplicateTitle( >, isTitleDuplicateConfirmed: boolean, onTitleDuplicate: (() => void) | undefined, - services: Pick + services: Pick, + startServices: StartServices ): Promise { const { savedObjectsClient, overlays } = services; // Don't check for duplicates if user has already confirmed save with duplicate title @@ -58,5 +60,5 @@ export async function checkForDuplicateTitle( // TODO: make onTitleDuplicate a required prop and remove UI components from this class // Need to leave here until all users pass onTitleDuplicate. - return displayDuplicateTitleConfirmModal(savedObject, overlays); + return displayDuplicateTitleConfirmModal(savedObject, overlays, startServices); } diff --git a/src/plugins/saved_objects/public/saved_object/helpers/confirm_modal_promise.tsx b/src/plugins/saved_objects/public/saved_object/helpers/confirm_modal_promise.tsx index 6b09d4118d7dc..aa943a7778ea7 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/confirm_modal_promise.tsx +++ b/src/plugins/saved_objects/public/saved_object/helpers/confirm_modal_promise.tsx @@ -7,16 +7,19 @@ */ import React from 'react'; -import { OverlayStart } from '@kbn/core/public'; +import { CoreStart, OverlayStart } from '@kbn/core/public'; import { i18n } from '@kbn/i18n'; import { EuiConfirmModal } from '@elastic/eui'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; + +type StartServices = Pick; export function confirmModalPromise( message = '', title = '', confirmBtnText = '', - overlays: OverlayStart + overlays: OverlayStart, + startServices: StartServices ): Promise { return new Promise((resolve, reject) => { const cancelButtonText = i18n.translate('savedObjects.confirmModal.cancelButtonLabel', { @@ -39,7 +42,8 @@ export function confirmModalPromise( title={title} > {message} - + , + startServices ) ); }); diff --git a/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts b/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts index 66d67b0496429..f559490ff3285 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/create_source.ts @@ -9,7 +9,7 @@ import { get } from 'lodash'; import { i18n } from '@kbn/i18n'; import { SavedObjectAttributes } from '@kbn/core/public'; -import { SavedObject, SavedObjectKibanaServices } from '../../types'; +import { SavedObject, SavedObjectKibanaServices, StartServices } from '../../types'; import { OVERWRITE_REJECTED } from '../../constants'; import { confirmModalPromise } from './confirm_modal_promise'; @@ -33,7 +33,8 @@ export async function createSource( savedObject: SavedObject, esType: string, options = {}, - services: SavedObjectKibanaServices + services: SavedObjectKibanaServices, + startServices: StartServices ) { const { savedObjectsClient, overlays } = services; try { @@ -57,7 +58,7 @@ export async function createSource( defaultMessage: 'Overwrite', }); - return confirmModalPromise(confirmMessage, title, confirmButtonText, overlays) + return confirmModalPromise(confirmMessage, title, confirmButtonText, overlays, startServices) .then(() => savedObjectsClient.create( esType, diff --git a/src/plugins/saved_objects/public/saved_object/helpers/display_duplicate_title_confirm_modal.ts b/src/plugins/saved_objects/public/saved_object/helpers/display_duplicate_title_confirm_modal.ts index 0957400e9f956..4a545561a7f2a 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/display_duplicate_title_confirm_modal.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/display_duplicate_title_confirm_modal.ts @@ -10,11 +10,12 @@ import { i18n } from '@kbn/i18n'; import { OverlayStart } from '@kbn/core/public'; import { SAVE_DUPLICATE_REJECTED } from '../../constants'; import { confirmModalPromise } from './confirm_modal_promise'; -import { SavedObject } from '../../types'; +import { SavedObject, StartServices } from '../../types'; export function displayDuplicateTitleConfirmModal( savedObject: Pick, - overlays: OverlayStart + overlays: OverlayStart, + startServices: StartServices ): Promise { const confirmMessage = i18n.translate( 'savedObjects.confirmModal.saveDuplicateConfirmationMessage', @@ -29,7 +30,7 @@ export function displayDuplicateTitleConfirmModal( values: { name: savedObject.getDisplayName() }, }); try { - return confirmModalPromise(confirmMessage, '', confirmButtonText, overlays); + return confirmModalPromise(confirmMessage, '', confirmButtonText, overlays, startServices); } catch (_) { return Promise.reject(new Error(SAVE_DUPLICATE_REJECTED)); } diff --git a/src/plugins/saved_objects/public/saved_object/helpers/save_saved_object.ts b/src/plugins/saved_objects/public/saved_object/helpers/save_saved_object.ts index d6e7030ce26f5..3ccd2433e2ed6 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/save_saved_object.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/save_saved_object.ts @@ -11,6 +11,7 @@ import { SavedObjectConfig, SavedObjectKibanaServices, SavedObjectSaveOpts, + StartServices, } from '../../types'; import { OVERWRITE_REJECTED, SAVE_DUPLICATE_REJECTED } from '../../constants'; import { createSource } from './create_source'; @@ -38,6 +39,7 @@ export function isErrorNonFatal(error: { message: string }) { * @property {func} [options.onTitleDuplicate] - function called if duplicate title exists. * When not provided, confirm modal will be displayed asking user to confirm or cancel save. * @param {SavedObjectKibanaServices} [services] + * @param {StartServices} [startServices] * @return {Promise} * @resolved {String} - The id of the doc */ @@ -49,7 +51,8 @@ export async function saveSavedObject( isTitleDuplicateConfirmed = false, onTitleDuplicate, }: SavedObjectSaveOpts = {}, - services: SavedObjectKibanaServices + services: SavedObjectKibanaServices, + startServices: StartServices ): Promise { const { savedObjectsClient, chrome } = services; @@ -79,7 +82,8 @@ export async function saveSavedObject( savedObject, isTitleDuplicateConfirmed, onTitleDuplicate, - services + services, + startServices ); savedObject.isSaving = true; const resp = confirmOverwrite @@ -88,7 +92,8 @@ export async function saveSavedObject( savedObject, esType, savedObject.creationOpts({ references }), - services + services, + startServices ) : await savedObjectsClient.create( esType, diff --git a/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts b/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts index bc51775dda428..c835962f1e641 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.test.ts @@ -8,6 +8,7 @@ import { SavedObjectAttributes, SavedObjectsCreateOptions, OverlayStart } from '@kbn/core/public'; import { SavedObjectsClientContract } from '@kbn/core/public'; +import { analyticsServiceMock, i18nServiceMock, themeServiceMock } from '@kbn/core/public/mocks'; import { saveWithConfirmation } from './save_with_confirmation'; import * as deps from './confirm_modal_promise'; import { OVERWRITE_REJECTED } from '../../constants'; @@ -22,6 +23,11 @@ describe('saveWithConfirmation', () => { title: 'test title', displayName: 'test display name', }; + const startServices = { + analytics: analyticsServiceMock.createAnalyticsServiceStart(), + i18n: i18nServiceMock.createStartContract(), + theme: themeServiceMock.createStartContract(), + }; beforeEach(() => { savedObjectsClient.create = jest.fn(); @@ -29,7 +35,13 @@ describe('saveWithConfirmation', () => { }); test('should call create of savedObjectsClient', async () => { - await saveWithConfirmation(source, savedObject, options, { savedObjectsClient, overlays }); + await saveWithConfirmation( + source, + savedObject, + options, + { savedObjectsClient, overlays }, + startServices + ); expect(savedObjectsClient.create).toHaveBeenCalledWith( savedObject.getEsType(), source, @@ -44,12 +56,23 @@ describe('saveWithConfirmation', () => { opt && opt.overwrite ? Promise.resolve({} as any) : Promise.reject({ res: { status: 409 } }) ); - await saveWithConfirmation(source, savedObject, options, { savedObjectsClient, overlays }); + await saveWithConfirmation( + source, + savedObject, + options, + { savedObjectsClient, overlays }, + startServices + ); expect(deps.confirmModalPromise).toHaveBeenCalledWith( expect.any(String), expect.any(String), expect.any(String), - overlays + overlays, + expect.objectContaining({ + analytics: expect.any(Object), + i18n: expect.any(Object), + theme: expect.any(Object), + }) ); }); @@ -60,7 +83,13 @@ describe('saveWithConfirmation', () => { opt && opt.overwrite ? Promise.resolve({} as any) : Promise.reject({ res: { status: 409 } }) ); - await saveWithConfirmation(source, savedObject, options, { savedObjectsClient, overlays }); + await saveWithConfirmation( + source, + savedObject, + options, + { savedObjectsClient, overlays }, + startServices + ); expect(savedObjectsClient.create).toHaveBeenLastCalledWith(savedObject.getEsType(), source, { overwrite: true, ...options, @@ -73,10 +102,16 @@ describe('saveWithConfirmation', () => { expect.assertions(1); await expect( - saveWithConfirmation(source, savedObject, options, { - savedObjectsClient, - overlays, - }) + saveWithConfirmation( + source, + savedObject, + options, + { + savedObjectsClient, + overlays, + }, + startServices + ) ).rejects.toThrow(OVERWRITE_REJECTED); }); }); diff --git a/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts b/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts index 3f4ddbf9836d9..a29f11d2abe5a 100644 --- a/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts +++ b/src/plugins/saved_objects/public/saved_object/helpers/save_with_confirmation.ts @@ -15,6 +15,7 @@ import { SavedObjectsClientContract, } from '@kbn/core/public'; import { OVERWRITE_REJECTED } from '../../constants'; +import type { StartServices } from '../../types'; import { confirmModalPromise } from './confirm_modal_promise'; /** @@ -38,7 +39,8 @@ export async function saveWithConfirmation( displayName: string; }, options: SavedObjectsCreateOptions, - services: { savedObjectsClient: SavedObjectsClientContract; overlays: OverlayStart } + services: { savedObjectsClient: SavedObjectsClientContract; overlays: OverlayStart }, + startServices: StartServices ) { const { savedObjectsClient, overlays } = services; try { @@ -62,7 +64,7 @@ export async function saveWithConfirmation( defaultMessage: 'Overwrite', }); - return confirmModalPromise(confirmMessage, title, confirmButtonText, overlays) + return confirmModalPromise(confirmMessage, title, confirmButtonText, overlays, startServices) .then(() => savedObjectsClient.create(savedObject.getEsType(), source, { overwrite: true, diff --git a/src/plugins/saved_objects/public/saved_object/saved_object.test.ts b/src/plugins/saved_objects/public/saved_object/saved_object.test.ts index 52e35772ba59a..0ceb0ad32a9dd 100644 --- a/src/plugins/saved_objects/public/saved_object/saved_object.test.ts +++ b/src/plugins/saved_objects/public/saved_object/saved_object.test.ts @@ -15,7 +15,12 @@ import { } from '../types'; import { SavedObjectDecorator } from './decorators'; -import { coreMock } from '@kbn/core/public/mocks'; +import { + analyticsServiceMock, + coreMock, + i18nServiceMock, + themeServiceMock, +} from '@kbn/core/public/mocks'; import { dataPluginMock, createSearchSourceMock } from '@kbn/data-plugin/public/mocks'; import { createStubIndexPattern } from '@kbn/data-plugin/common/stubs'; import { SavedObjectAttributes, SimpleSavedObject } from '@kbn/core/public'; @@ -27,6 +32,11 @@ describe('Saved Object', () => { const dataStartMock = dataPluginMock.createStartContract(); const saveOptionsMock = {} as SavedObjectSaveOpts; const savedObjectsClientStub = startMock.savedObjects.client; + const startServices = { + analytics: analyticsServiceMock.createAnalyticsServiceStart(), + i18n: i18nServiceMock.createStartContract(), + theme: themeServiceMock.createStartContract(), + }; let decoratorRegistry: ReturnType; let SavedObjectClass: new (config: SavedObjectConfig) => SavedObject; @@ -104,6 +114,7 @@ describe('Saved Object', () => { }, }, } as unknown as SavedObjectKibanaServices, + startServices, decoratorRegistry ); }; @@ -660,6 +671,7 @@ describe('Saved Object', () => { ...dataStartMock.search, }, } as unknown as SavedObjectKibanaServices, + startServices, decoratorRegistry ); const savedObject = new SavedObjectClass({ type: 'dashboard', searchSource: true }); diff --git a/src/plugins/saved_objects/public/saved_object/saved_object.ts b/src/plugins/saved_objects/public/saved_object/saved_object.ts index a437431a9d827..581eb752e0dc5 100644 --- a/src/plugins/saved_objects/public/saved_object/saved_object.ts +++ b/src/plugins/saved_objects/public/saved_object/saved_object.ts @@ -16,12 +16,13 @@ * This class seems to interface with ES primarily through the es Angular * service and the saved object api. */ -import { SavedObject, SavedObjectConfig, SavedObjectKibanaServices } from '../types'; +import { SavedObject, SavedObjectConfig, SavedObjectKibanaServices, StartServices } from '../types'; import { ISavedObjectDecoratorRegistry } from './decorators'; import { buildSavedObject } from './helpers/build_saved_object'; export function createSavedObjectClass( services: SavedObjectKibanaServices, + startServices: StartServices, decoratorRegistry: ISavedObjectDecoratorRegistry ) { /** @@ -35,7 +36,13 @@ export function createSavedObjectClass( constructor(config: SavedObjectConfig = {}) { // @ts-ignore const self: SavedObject = this; - buildSavedObject(self, config, services, decoratorRegistry.getOrderedDecorators(services)); + buildSavedObject( + self, + config, + services, + startServices, + decoratorRegistry.getOrderedDecorators(services) + ); } } diff --git a/src/plugins/saved_objects/public/types.ts b/src/plugins/saved_objects/public/types.ts index ce3f41e5bb623..f3322bf896282 100644 --- a/src/plugins/saved_objects/public/types.ts +++ b/src/plugins/saved_objects/public/types.ts @@ -8,6 +8,7 @@ import { ChromeStart, + CoreStart, OverlayStart, SavedObjectsClientContract, SavedObjectAttributes, @@ -68,6 +69,8 @@ export interface SavedObjectKibanaServices { overlays: OverlayStart; } +export type StartServices = Pick; + export interface SavedObjectAttributesAndRefs { attributes: SavedObjectAttributes; references: SavedObjectReference[]; diff --git a/src/plugins/saved_objects/tsconfig.json b/src/plugins/saved_objects/tsconfig.json index ffbf2b88e543b..39557cef8c5b1 100644 --- a/src/plugins/saved_objects/tsconfig.json +++ b/src/plugins/saved_objects/tsconfig.json @@ -8,12 +8,13 @@ "@kbn/core", "@kbn/data-plugin", "@kbn/kibana-utils-plugin", - "@kbn/kibana-react-plugin", "@kbn/i18n", "@kbn/data-views-plugin", "@kbn/i18n-react", "@kbn/utility-types", "@kbn/ui-theme", + "@kbn/react-kibana-context-render", + "@kbn/react-kibana-mount", ], "exclude": [ "target/**/*", diff --git a/src/plugins/saved_objects_management/public/management_section/mount_section.tsx b/src/plugins/saved_objects_management/public/management_section/mount_section.tsx index fd284c7ea3065..fe11eccbf8614 100644 --- a/src/plugins/saved_objects_management/public/management_section/mount_section.tsx +++ b/src/plugins/saved_objects_management/public/management_section/mount_section.tsx @@ -9,12 +9,11 @@ import React, { lazy, Suspense } from 'react'; import ReactDOM from 'react-dom'; import { Router, Routes, Route } from '@kbn/shared-ux-router'; -import { I18nProvider } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import { EuiLoadingSpinner } from '@elastic/eui'; import { CoreSetup } from '@kbn/core/public'; -import { wrapWithTheme } from '@kbn/kibana-react-plugin/public'; import { ManagementAppMountParams } from '@kbn/management-plugin/public'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import type { SavedObjectManagementTypeInfo } from '../../common/types'; import { StartDependencies, SavedObjectsManagementPluginStart } from '../plugin'; import { getAllowedTypes } from '../lib'; @@ -37,7 +36,6 @@ export const mountManagementSection = async ({ core, mountParams }: MountParams) await core.getStartServices(); const { capabilities } = coreStart.application; const { element, history, setBreadcrumbs } = mountParams; - const { theme$ } = core.theme; if (!allowedObjectTypes) { allowedObjectTypes = await getAllowedTypes(coreStart.http); @@ -56,43 +54,40 @@ export const mountManagementSection = async ({ core, mountParams }: MountParams) }; ReactDOM.render( - wrapWithTheme( - - - - - - }> - - - - - - - }> - - - - - - - , - theme$ - ), + + + + + + }> + + + + + + + }> + + + + + + + , element ); diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/flyout.test.tsx.snap b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/flyout.test.tsx.snap index 03ba5cf5d9ead..e6b32851f7682 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/flyout.test.tsx.snap +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/flyout.test.tsx.snap @@ -114,7 +114,6 @@ exports[`Flyout conflicts should allow conflict resolution 1`] = ` ], } } - responsive={true} searchFormat="eql" tableLayout="fixed" /> diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/relationships.test.tsx.snap b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/relationships.test.tsx.snap index 4e5b62f812633..d942d13b0f022 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/relationships.test.tsx.snap +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/relationships.test.tsx.snap @@ -111,7 +111,6 @@ exports[`Relationships should render dashboards normally 1`] = ` ] } pagination={true} - responsive={true} rowProps={[Function]} search={ Object { @@ -313,7 +312,6 @@ exports[`Relationships should render index patterns normally 1`] = ` ] } pagination={true} - responsive={true} rowProps={[Function]} search={ Object { @@ -447,7 +445,6 @@ exports[`Relationships should render invalid relations 1`] = ` ] } pagination={true} - responsive={true} rowProps={[Function]} searchFormat="eql" tableLayout="fixed" @@ -506,7 +503,6 @@ exports[`Relationships should render invalid relations 1`] = ` } items={Array []} pagination={true} - responsive={true} rowProps={[Function]} search={ Object { @@ -658,7 +654,6 @@ exports[`Relationships should render searches normally 1`] = ` ] } pagination={true} - responsive={true} rowProps={[Function]} search={ Object { @@ -820,7 +815,6 @@ exports[`Relationships should render visualizations normally 1`] = ` ] } pagination={true} - responsive={true} rowProps={[Function]} search={ Object { diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/table.test.tsx.snap b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/table.test.tsx.snap index 159ef79066a89..528ec071e3c84 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/table.test.tsx.snap +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/__snapshots__/table.test.tsx.snap @@ -144,7 +144,7 @@ exports[`Table prevents hidden saved objects from being deleted 1`] = ` "name": "Type", "render": [Function], "sortable": true, - "width": "50px", + "width": "65px", }, Object { "data-test-subj": "savedObjectsTableRowTitle", @@ -227,7 +227,6 @@ exports[`Table prevents hidden saved objects from being deleted 1`] = ` "totalItemCount": 3, } } - responsive={true} rowProps={[Function]} selection={ Object { @@ -384,7 +383,7 @@ exports[`Table should render normally 1`] = ` "name": "Type", "render": [Function], "sortable": true, - "width": "50px", + "width": "65px", }, Object { "data-test-subj": "savedObjectsTableRowTitle", @@ -467,7 +466,6 @@ exports[`Table should render normally 1`] = ` "totalItemCount": 3, } } - responsive={true} rowProps={[Function]} selection={ Object { diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx index 8dffee1b91b64..edfe0b1d00edf 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/delete_confirm_modal.test.tsx @@ -84,7 +84,7 @@ describe('DeleteConfirmModal', () => { allowedTypes={allowedTypes} /> ); - expect(wrapper.find('.euiTableRow')).toHaveLength(3); + expect(wrapper.find('tr.euiTableRow')).toHaveLength(3); }); it('calls `onCancel` when clicking on the cancel button', () => { @@ -135,7 +135,7 @@ describe('DeleteConfirmModal', () => { allowedTypes={allowedTypes} /> ); - expect(wrapper.find('.euiTableRow')).toHaveLength(1); + expect(wrapper.find('tr.euiTableRow')).toHaveLength(1); }); it('displays a callout when at least one object cannot be deleted', () => { diff --git a/src/plugins/saved_objects_management/public/management_section/objects_table/components/table.tsx b/src/plugins/saved_objects_management/public/management_section/objects_table/components/table.tsx index 1d2e2e14b4050..8cd7234e2591b 100644 --- a/src/plugins/saved_objects_management/public/management_section/objects_table/components/table.tsx +++ b/src/plugins/saved_objects_management/public/management_section/objects_table/components/table.tsx @@ -234,7 +234,7 @@ export class Table extends PureComponent { name: i18n.translate('savedObjectsManagement.objectsTable.table.columnTypeName', { defaultMessage: 'Type', }), - width: '50px', + width: '65px', align: 'center', description: i18n.translate( 'savedObjectsManagement.objectsTable.table.columnTypeDescription', diff --git a/src/plugins/saved_objects_management/tsconfig.json b/src/plugins/saved_objects_management/tsconfig.json index 90f9ddae93a6f..42c30216b58ad 100644 --- a/src/plugins/saved_objects_management/tsconfig.json +++ b/src/plugins/saved_objects_management/tsconfig.json @@ -31,6 +31,7 @@ "@kbn/core-saved-objects-api-server", "@kbn/shared-ux-link-redirect-app", "@kbn/code-editor", + "@kbn/react-kibana-context-render", ], "exclude": [ "target/**/*", diff --git a/src/plugins/share/public/url_service/redirect/components/page.tsx b/src/plugins/share/public/url_service/redirect/components/page.tsx index e06461a91b64c..1e6293691fb45 100644 --- a/src/plugins/share/public/url_service/redirect/components/page.tsx +++ b/src/plugins/share/public/url_service/redirect/components/page.tsx @@ -38,7 +38,7 @@ export const Page: React.FC = ({ if (error) { return ( - + @@ -47,7 +47,7 @@ export const Page: React.FC = ({ } return ( - + diff --git a/src/plugins/telemetry/kibana.jsonc b/src/plugins/telemetry/kibana.jsonc index 44162c1189c2e..a5edcdde85d99 100644 --- a/src/plugins/telemetry/kibana.jsonc +++ b/src/plugins/telemetry/kibana.jsonc @@ -17,8 +17,7 @@ "security" ], "requiredBundles": [ - "kibanaUtils", - "kibanaReact" + "kibanaUtils" ], "extraPublicDirs": [ "common/constants" diff --git a/src/plugins/telemetry/public/mocks.ts b/src/plugins/telemetry/public/mocks.ts index c4ecd11426b90..478c9729dfe92 100644 --- a/src/plugins/telemetry/public/mocks.ts +++ b/src/plugins/telemetry/public/mocks.ts @@ -8,7 +8,9 @@ import { overlayServiceMock, + analyticsServiceMock, httpServiceMock, + i18nServiceMock, notificationServiceMock, themeServiceMock, } from '@kbn/core/public/mocks'; @@ -76,6 +78,8 @@ export function mockTelemetryNotifications({ return new TelemetryNotifications({ http: httpServiceMock.createSetupContract(), overlays: overlayServiceMock.createStartContract(), + analytics: analyticsServiceMock.createAnalyticsServiceStart(), + i18n: i18nServiceMock.createStartContract(), theme: themeServiceMock.createStartContract(), telemetryService, telemetryConstants: mockTelemetryConstants(), diff --git a/src/plugins/telemetry/public/plugin.ts b/src/plugins/telemetry/public/plugin.ts index 588a532ffa6a3..26a4f50af96ca 100644 --- a/src/plugins/telemetry/public/plugin.ts +++ b/src/plugins/telemetry/public/plugin.ts @@ -229,7 +229,7 @@ export class TelemetryPlugin } public start( - { analytics, http, overlays, theme, application, docLinks }: CoreStart, + { analytics, http, overlays, application, docLinks, ...startServices }: CoreStart, { screenshotMode }: TelemetryPluginStartDependencies ): TelemetryPluginStart { if (!this.telemetryService) { @@ -243,9 +243,10 @@ export class TelemetryPlugin const telemetryNotifications = new TelemetryNotifications({ http, overlays, - theme, telemetryService: this.telemetryService, telemetryConstants, + analytics, + ...startServices, }); this.telemetryNotifications = telemetryNotifications; diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.test.ts b/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.test.ts index 74e5d8f488495..84455f85704ca 100644 --- a/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.test.ts +++ b/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.test.ts @@ -7,7 +7,13 @@ */ import { renderOptInStatusNoticeBanner } from './render_opt_in_status_notice_banner'; -import { overlayServiceMock, httpServiceMock, themeServiceMock } from '@kbn/core/public/mocks'; +import { + analyticsServiceMock, + httpServiceMock, + i18nServiceMock, + overlayServiceMock, + themeServiceMock, +} from '@kbn/core/public/mocks'; import { mockTelemetryConstants, mockTelemetryService } from '../../mocks'; describe('renderOptInStatusNoticeBanner', () => { @@ -15,6 +21,8 @@ describe('renderOptInStatusNoticeBanner', () => { const bannerID = 'brucer-wayne'; const overlays = overlayServiceMock.createStartContract(); const mockHttp = httpServiceMock.createStartContract(); + const analytics = analyticsServiceMock.createAnalyticsServiceStart(); + const i18n = i18nServiceMock.createStartContract(); const theme = themeServiceMock.createStartContract(); const telemetryConstants = mockTelemetryConstants(); const telemetryService = mockTelemetryService(); @@ -24,6 +32,8 @@ describe('renderOptInStatusNoticeBanner', () => { http: mockHttp, onSeen: jest.fn(), overlays, + analytics, + i18n, theme, telemetryConstants, telemetryService, diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx b/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx index 7b48e0646d4e8..1c604b51ee30d 100644 --- a/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx +++ b/src/plugins/telemetry/public/services/telemetry_notifications/render_opt_in_status_notice_banner.tsx @@ -7,16 +7,15 @@ */ import React from 'react'; -import type { HttpStart, OverlayStart, ThemeServiceStart } from '@kbn/core/public'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import type { CoreStart, HttpStart, OverlayStart } from '@kbn/core/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { withSuspense } from '@kbn/shared-ux-utility'; import { TelemetryService } from '..'; import type { TelemetryConstants } from '../..'; -interface RenderBannerConfig { +interface RenderBannerConfig extends Pick { http: HttpStart; overlays: OverlayStart; - theme: ThemeServiceStart; onSeen: () => void; telemetryConstants: TelemetryConstants; telemetryService: TelemetryService; @@ -26,9 +25,9 @@ export function renderOptInStatusNoticeBanner({ onSeen, overlays, http, - theme, telemetryConstants, telemetryService, + ...startServices }: RenderBannerConfig) { const OptedInNoticeBannerLazy = withSuspense( React.lazy(() => @@ -47,7 +46,7 @@ export function renderOptInStatusNoticeBanner({ telemetryConstants={telemetryConstants} telemetryService={telemetryService} />, - { theme$: theme.theme$ } + startServices ); const bannerId = overlays.banners.add(mount, 10000); diff --git a/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.ts b/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.ts index 9259735170bf4..d4e44a20a48fa 100644 --- a/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.ts +++ b/src/plugins/telemetry/public/services/telemetry_notifications/telemetry_notifications.ts @@ -6,15 +6,15 @@ * Side Public License, v 1. */ -import type { HttpStart, OverlayStart, ThemeServiceStart } from '@kbn/core/public'; +import type { CoreStart, HttpStart, OverlayStart } from '@kbn/core/public'; import type { TelemetryService } from '../telemetry_service'; import type { TelemetryConstants } from '../..'; import { renderOptInStatusNoticeBanner } from './render_opt_in_status_notice_banner'; -interface TelemetryNotificationsConstructor { +interface TelemetryNotificationsConstructor + extends Pick { http: HttpStart; overlays: OverlayStart; - theme: ThemeServiceStart; telemetryService: TelemetryService; telemetryConstants: TelemetryConstants; } @@ -25,7 +25,7 @@ interface TelemetryNotificationsConstructor { export class TelemetryNotifications { private readonly http: HttpStart; private readonly overlays: OverlayStart; - private readonly theme: ThemeServiceStart; + private readonly startServices: Pick; private readonly telemetryConstants: TelemetryConstants; private readonly telemetryService: TelemetryService; private optInStatusNoticeBannerId?: string; @@ -33,14 +33,14 @@ export class TelemetryNotifications { constructor({ http, overlays, - theme, telemetryService, telemetryConstants, + ...startServices }: TelemetryNotificationsConstructor) { this.telemetryService = telemetryService; this.http = http; this.overlays = overlays; - this.theme = theme; + this.startServices = startServices; this.telemetryConstants = telemetryConstants; } @@ -61,9 +61,9 @@ export class TelemetryNotifications { http: this.http, onSeen: this.setOptInStatusNoticeSeen, overlays: this.overlays, - theme: this.theme, telemetryConstants: this.telemetryConstants, telemetryService: this.telemetryService, + ...this.startServices, }); this.optInStatusNoticeBannerId = bannerId; diff --git a/src/plugins/telemetry/tsconfig.json b/src/plugins/telemetry/tsconfig.json index 81ce6168d0b99..89d15d4f5a0a7 100644 --- a/src/plugins/telemetry/tsconfig.json +++ b/src/plugins/telemetry/tsconfig.json @@ -15,7 +15,6 @@ "kbn_references": [ "@kbn/core", "@kbn/home-plugin", - "@kbn/kibana-react-plugin", "@kbn/kibana-utils-plugin", "@kbn/screenshot-mode-plugin", "@kbn/telemetry-collection-manager-plugin", @@ -36,6 +35,7 @@ "@kbn/core-http-browser", "@kbn/core-http-server", "@kbn/analytics-collection-utils", + "@kbn/react-kibana-mount", "@kbn/core-node-server", ], "exclude": [ diff --git a/src/plugins/ui_actions/kibana.jsonc b/src/plugins/ui_actions/kibana.jsonc index 66ccaa6917d0b..e63c80190c074 100644 --- a/src/plugins/ui_actions/kibana.jsonc +++ b/src/plugins/ui_actions/kibana.jsonc @@ -9,8 +9,7 @@ "browser": true, "requiredPlugins": [], "requiredBundles": [ - "kibanaUtils", - "kibanaReact" + "kibanaUtils" ] } } diff --git a/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx b/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx index 8c7cf620d4a82..bac4e57aa5624 100644 --- a/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx +++ b/src/plugins/ui_actions/public/context_menu/open_context_menu.tsx @@ -11,8 +11,8 @@ import React from 'react'; import { EuiContextMenu, EuiContextMenuPanelDescriptor, EuiPopover } from '@elastic/eui'; import { EventEmitter } from 'events'; import ReactDOM from 'react-dom'; -import { KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; -import { getTheme } from '../services'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; +import { getAnalytics, getI18n, getTheme } from '../services'; let activeSession: ContextMenuSession | null = null; @@ -170,7 +170,7 @@ export function openContextMenu( }; ReactDOM.render( - + - , + , container ); diff --git a/src/plugins/ui_actions/public/plugin.ts b/src/plugins/ui_actions/public/plugin.ts index 1a0e45612c831..1dbff5b9729a0 100644 --- a/src/plugins/ui_actions/public/plugin.ts +++ b/src/plugins/ui_actions/public/plugin.ts @@ -14,7 +14,7 @@ import { visualizeGeoFieldTrigger, } from '@kbn/ui-actions-browser/src/triggers'; import { UiActionsService } from './service'; -import { setTheme } from './services'; +import { setAnalytics, setI18n, setTheme } from './services'; export type UiActionsPublicSetup = Pick< UiActionsService, @@ -47,15 +47,17 @@ export class UiActionsPlugin constructor(_initializerContext: PluginInitializerContext) {} - public setup(core: CoreSetup): UiActionsPublicSetup { - setTheme(core.theme); + public setup(_core: CoreSetup): UiActionsPublicSetup { this.service.registerTrigger(rowClickTrigger); this.service.registerTrigger(visualizeFieldTrigger); this.service.registerTrigger(visualizeGeoFieldTrigger); return this.service; } - public start(_core: CoreStart): UiActionsPublicStart { + public start(core: CoreStart): UiActionsPublicStart { + setAnalytics(core.analytics); + setI18n(core.i18n); + setTheme(core.theme); return this.service; } diff --git a/src/plugins/ui_actions/public/service/ui_actions_service.test.ts b/src/plugins/ui_actions/public/service/ui_actions_service.test.ts index 42e3c4ea593fa..b317b343b3ade 100644 --- a/src/plugins/ui_actions/public/service/ui_actions_service.test.ts +++ b/src/plugins/ui_actions/public/service/ui_actions_service.test.ts @@ -10,8 +10,8 @@ import { UiActionsService } from './ui_actions_service'; import { ActionDefinition, ActionInternal } from '../actions'; import { createHelloWorldAction } from '../tests/test_samples'; import { TriggerRegistry, ActionRegistry } from '../types'; +import { coreMock } from '@kbn/core/public/mocks'; import type { Trigger } from '@kbn/ui-actions-browser/src/triggers'; -import { OverlayStart } from '@kbn/core/public'; const FOO_TRIGGER = 'FOO_TRIGGER'; const BAR_TRIGGER = 'BAR_TRIGGER'; @@ -159,10 +159,12 @@ describe('UiActionsService', () => { }); describe('.getTriggerCompatibleActions()', () => { + const coreStart = coreMock.createStart(); + test('can register and get actions', async () => { const actions: ActionRegistry = new Map(); const service = new UiActionsService({ actions }); - const helloWorldAction = createHelloWorldAction({} as unknown as OverlayStart); + const helloWorldAction = createHelloWorldAction(coreStart); const length = actions.size; service.registerAction(helloWorldAction); @@ -173,7 +175,7 @@ describe('UiActionsService', () => { test('getTriggerCompatibleActions returns attached actions', async () => { const service = new UiActionsService(); - const helloWorldAction = createHelloWorldAction({} as unknown as OverlayStart); + const helloWorldAction = createHelloWorldAction(coreStart); service.registerAction(helloWorldAction); diff --git a/src/plugins/ui_actions/public/services.ts b/src/plugins/ui_actions/public/services.ts index 60c4b81311960..427d0f2ec20d2 100644 --- a/src/plugins/ui_actions/public/services.ts +++ b/src/plugins/ui_actions/public/services.ts @@ -6,7 +6,9 @@ * Side Public License, v 1. */ -import { ThemeServiceSetup } from '@kbn/core/public'; +import { AnalyticsServiceStart, I18nStart, ThemeServiceSetup } from '@kbn/core/public'; import { createGetterSetter } from '@kbn/kibana-utils-plugin/public'; +export const [getAnalytics, setAnalytics] = createGetterSetter('Analytics'); +export const [getI18n, setI18n] = createGetterSetter('I18n'); export const [getTheme, setTheme] = createGetterSetter('Theme'); diff --git a/src/plugins/ui_actions/public/tests/get_trigger_compatible_actions.test.ts b/src/plugins/ui_actions/public/tests/get_trigger_compatible_actions.test.ts index 6599d66d2081e..4fa2ef752aa91 100644 --- a/src/plugins/ui_actions/public/tests/get_trigger_compatible_actions.test.ts +++ b/src/plugins/ui_actions/public/tests/get_trigger_compatible_actions.test.ts @@ -9,9 +9,10 @@ import { uiActionsPluginMock } from '../mocks'; import { createHelloWorldAction } from './test_samples'; import { ActionDefinition } from '../actions'; +import { coreMock } from '@kbn/core/public/mocks'; import type { Trigger } from '@kbn/ui-actions-browser'; -import { OverlayStart } from '@kbn/core/public'; +const coreStart = coreMock.createStart(); let action: ActionDefinition<{ name: string }>; let uiActions: ReturnType; beforeEach(() => { @@ -32,14 +33,14 @@ beforeEach(() => { test('can register action', async () => { const { setup } = uiActions; - const helloWorldAction = createHelloWorldAction({} as unknown as OverlayStart); + const helloWorldAction = createHelloWorldAction(coreStart); setup.registerAction(helloWorldAction); }); test('getTriggerCompatibleActions returns attached actions', async () => { const { setup, doStart } = uiActions; - const helloWorldAction = createHelloWorldAction({} as unknown as OverlayStart); + const helloWorldAction = createHelloWorldAction(coreStart); setup.registerAction(helloWorldAction); diff --git a/src/plugins/ui_actions/public/tests/test_samples/hello_world_action.tsx b/src/plugins/ui_actions/public/tests/test_samples/hello_world_action.tsx index 66f8544b093ed..8df43b51a020c 100644 --- a/src/plugins/ui_actions/public/tests/test_samples/hello_world_action.tsx +++ b/src/plugins/ui_actions/public/tests/test_samples/hello_world_action.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { EuiFlexGroup, EuiFlexItem, EuiBadge, EuiFlyoutBody } from '@elastic/eui'; import { CoreStart } from '@kbn/core/public'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { ActionDefinition } from '../../actions'; const MenuItem: React.FC = () => { @@ -25,7 +25,10 @@ const MenuItem: React.FC = () => { export const ACTION_HELLO_WORLD = 'ACTION_HELLO_WORLD'; -export function createHelloWorldAction(overlays: CoreStart['overlays']): ActionDefinition { +export function createHelloWorldAction( + coreStart: Pick +): ActionDefinition { + const { overlays, ...startServices } = coreStart; return { id: ACTION_HELLO_WORLD, type: ACTION_HELLO_WORLD, @@ -33,7 +36,10 @@ export function createHelloWorldAction(overlays: CoreStart['overlays']): ActionD MenuItem, execute: async () => { overlays.openFlyout( - toMountPoint(Hello World, I am a hello world action!), + toMountPoint( + Hello World, I am a hello world action!, + startServices + ), { 'data-test-subj': 'helloWorldAction', ownFocus: true, diff --git a/src/plugins/ui_actions/tsconfig.json b/src/plugins/ui_actions/tsconfig.json index bac1778817bb2..4601d4b2732e1 100644 --- a/src/plugins/ui_actions/tsconfig.json +++ b/src/plugins/ui_actions/tsconfig.json @@ -7,13 +7,14 @@ "kbn_references": [ "@kbn/core", "@kbn/kibana-utils-plugin", - "@kbn/kibana-react-plugin", "@kbn/data-views-plugin", "@kbn/utility-types", "@kbn/i18n", "@kbn/es-query", "@kbn/ui-actions-browser", "@kbn/expressions-plugin", + "@kbn/react-kibana-context-render", + "@kbn/react-kibana-mount", ], "exclude": [ "target/**/*", diff --git a/src/plugins/ui_actions_enhanced/public/drilldowns/drilldown_manager/components/drilldown_table/drilldown_table.tsx b/src/plugins/ui_actions_enhanced/public/drilldowns/drilldown_manager/components/drilldown_table/drilldown_table.tsx index ecc0d23f09092..97ae04a2331e2 100644 --- a/src/plugins/ui_actions_enhanced/public/drilldowns/drilldown_manager/components/drilldown_table/drilldown_table.tsx +++ b/src/plugins/ui_actions_enhanced/public/drilldowns/drilldown_manager/components/drilldown_table/drilldown_table.tsx @@ -147,8 +147,7 @@ export const DrilldownTable: React.FC = ({ items={drilldowns} itemId="id" columns={columns} - isSelectable={true} - responsive={false} + responsiveBreakpoint={false} selection={{ onSelectionChange: (selection) => { setSelectedDrilldowns(selection.map((drilldown) => drilldown.id)); @@ -158,7 +157,6 @@ export const DrilldownTable: React.FC = ({ rowProps={{ 'data-test-subj': TEST_SUBJ_DRILLDOWN_ITEM, }} - hasActions={true} sorting={{ sort: { field: 'drilldownName', diff --git a/src/plugins/ui_actions_enhanced/public/drilldowns/drilldown_manager/components/drilldown_template_table/drilldown_template_table.tsx b/src/plugins/ui_actions_enhanced/public/drilldowns/drilldown_manager/components/drilldown_template_table/drilldown_template_table.tsx index feabf1a75556b..162b78a61b650 100644 --- a/src/plugins/ui_actions_enhanced/public/drilldowns/drilldown_manager/components/drilldown_template_table/drilldown_template_table.tsx +++ b/src/plugins/ui_actions_enhanced/public/drilldowns/drilldown_manager/components/drilldown_template_table/drilldown_template_table.tsx @@ -107,11 +107,10 @@ export const DrilldownTemplateTable: React.FC = ({ <> = ({ }, selectableMessage: () => txtSelectableMessage, }} - hasActions={true} /> {!!onClone && !!selected.length && ( diff --git a/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/legacy/table.tsx b/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/legacy/table.tsx index 310c8653bbee5..deb5e5a52fb7a 100644 --- a/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/legacy/table.tsx +++ b/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/legacy/table.tsx @@ -116,8 +116,7 @@ export const DocViewerLegacyTable = ({ items={items} columns={tableColumns} rowProps={onSetRowProps} - pagination={false} - responsive={false} + responsiveBreakpoint={false} /> ); }; diff --git a/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/table.scss b/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/table.scss index c3d3631177c4e..881e988111129 100644 --- a/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/table.scss +++ b/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/table.scss @@ -41,13 +41,17 @@ .kbnDocViewer__tableActionsCell, .kbnDocViewer__tableFieldNameCell { - align-items: flex-start; - padding: $euiSizeXS; + .euiTableCellContent { + align-items: flex-start; + padding: $euiSizeXS; + } } .kbnDocViewer__tableValueCell { - flex-direction: column; - align-items: flex-start; + .euiTableCellContent { + flex-direction: column; + align-items: flex-start; + } } .kbnDocViewer__value { diff --git a/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/table.tsx b/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/table.tsx index ad957053b7dd8..b87efe1cad043 100644 --- a/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/table.tsx +++ b/src/plugins/unified_doc_viewer/public/components/doc_viewer_table/table.tsx @@ -434,7 +434,7 @@ export const DocViewerTable = ({ ) : ( - + {headers} {rowElements} diff --git a/src/plugins/unified_search/public/search_bar/search_bar.test.tsx b/src/plugins/unified_search/public/search_bar/search_bar.test.tsx index e9fce0f749928..005d4926f4709 100644 --- a/src/plugins/unified_search/public/search_bar/search_bar.test.tsx +++ b/src/plugins/unified_search/public/search_bar/search_bar.test.tsx @@ -143,6 +143,7 @@ describe('SearchBar', () => { const QUERY_BAR = '.kbnQueryBar'; const QUERY_INPUT = '[data-test-subj="unifiedQueryInput"]'; const QUERY_MENU_BUTTON = '[data-test-subj="showQueryBarMenu"]'; + const QUERY_SUBMIT_BUTTON = 'button[data-test-subj="querySubmitButton"]'; const EDITOR = '[data-test-subj="unifiedTextLangEditor"]'; beforeEach(() => { @@ -308,4 +309,60 @@ describe('SearchBar', () => { expect(button).toBeDisabled(); }); }); + + it('Should call onQuerySubmit with isUpdate prop as false when dateRange is provided', () => { + const mockedOnQuerySubmit = jest.fn(); + const component = mount( + wrapSearchBarInContext({ + indexPatterns: [mockIndexPattern], + screenTitle: 'test screen', + onQuerySubmit: mockedOnQuerySubmit, + query: kqlQuery, + showQueryMenu: false, + dateRangeTo: 'now', + dateRangeFrom: 'now-15m', + }) + ); + + const submitButton = component.find(QUERY_SUBMIT_BUTTON); + submitButton.simulate('click'); + + expect(mockedOnQuerySubmit).toBeCalledTimes(1); + expect(mockedOnQuerySubmit).toHaveBeenNthCalledWith( + 1, + { + dateRange: { from: 'now-15m', to: 'now' }, + query: { language: 'kuery', query: 'response:200' }, + }, + false + ); + }); + + it('Should call onQuerySubmit with isUpdate prop as true when dateRange is not provided', () => { + const mockedOnQuerySubmit = jest.fn(); + const component = mount( + wrapSearchBarInContext({ + indexPatterns: [mockIndexPattern], + screenTitle: 'test screen', + onQuerySubmit: mockedOnQuerySubmit, + query: kqlQuery, + showQueryMenu: false, + }) + ); + + const submitButton = component.find(QUERY_SUBMIT_BUTTON); + submitButton.simulate('click'); + + expect(mockedOnQuerySubmit).toBeCalledTimes(1); + expect(mockedOnQuerySubmit).toHaveBeenNthCalledWith( + 1, + { + dateRange: { from: 'now-15m', to: 'now' }, + query: { language: 'kuery', query: 'response:200' }, + }, + // isUpdate is true because the default value in state ({ from: 'now-15m', to: 'now' }) + // is not equal with props for dateRange which is undefined + true + ); + }); }); diff --git a/src/plugins/unified_search/public/search_bar/search_bar.tsx b/src/plugins/unified_search/public/search_bar/search_bar.tsx index 9bb60972734b0..a2b8ade82b3f7 100644 --- a/src/plugins/unified_search/public/search_bar/search_bar.tsx +++ b/src/plugins/unified_search/public/search_bar/search_bar.tsx @@ -413,13 +413,16 @@ class SearchBarUI extends C }, () => { if (this.props.onQuerySubmit) { - this.props.onQuerySubmit({ - query: query as QT, - dateRange: { - from: this.state.dateRangeFrom, - to: this.state.dateRangeTo, + this.props.onQuerySubmit( + { + query: query as QT, + dateRange: { + from: this.state.dateRangeFrom, + to: this.state.dateRangeTo, + }, }, - }); + this.isDirty() + ); } } ); @@ -437,13 +440,16 @@ class SearchBarUI extends C }, () => { if (this.props.onQuerySubmit) { - this.props.onQuerySubmit({ - query: this.state.query, - dateRange: { - from: this.state.dateRangeFrom, - to: this.state.dateRangeTo, + this.props.onQuerySubmit( + { + query: this.state.query, + dateRange: { + from: this.state.dateRangeFrom, + to: this.state.dateRangeTo, + }, }, - }); + this.isDirty() + ); } this.services.usageCollection?.reportUiCounter( this.services.appName, diff --git a/src/plugins/usage_collection/server/routes/integration_tests/stats.test.ts b/src/plugins/usage_collection/server/routes/integration_tests/stats.test.ts index 670749c52c0c4..f3fc6f2bd5c84 100644 --- a/src/plugins/usage_collection/server/routes/integration_tests/stats.test.ts +++ b/src/plugins/usage_collection/server/routes/integration_tests/stats.test.ts @@ -20,12 +20,12 @@ import { metricsServiceMock, executionContextServiceMock, } from '@kbn/core/server/mocks'; -import { createHttpServer } from '@kbn/core-http-server-mocks'; +import { createHttpService } from '@kbn/core-http-server-mocks'; import { registerStatsRoute } from '../stats'; import supertest from 'supertest'; import { CollectorSet } from '../../collector'; -type HttpService = ReturnType; +type HttpService = ReturnType; type HttpSetup = Awaited>; describe('/api/stats', () => { @@ -35,7 +35,7 @@ describe('/api/stats', () => { let metrics: MetricsServiceSetup; beforeEach(async () => { - server = createHttpServer(); + server = createHttpService(); await server.preboot({ context: contextServiceMock.createPrebootContract() }); httpSetup = await server.setup({ context: contextServiceMock.createSetupContract(), diff --git a/src/plugins/vis_type_markdown/kibana.jsonc b/src/plugins/vis_type_markdown/kibana.jsonc index d3d1d3bd9f29b..476dcc0605ad4 100644 --- a/src/plugins/vis_type_markdown/kibana.jsonc +++ b/src/plugins/vis_type_markdown/kibana.jsonc @@ -13,6 +13,7 @@ ], "requiredBundles": [ "expressions", + "kibanaReact", "visDefaultEditor", "visualizations" ] diff --git a/src/plugins/vis_type_markdown/public/markdown_vis_controller.test.tsx b/src/plugins/vis_type_markdown/public/markdown_vis_controller.test.tsx index 04f86e815e841..963f3b0ecbbb2 100644 --- a/src/plugins/vis_type_markdown/public/markdown_vis_controller.test.tsx +++ b/src/plugins/vis_type_markdown/public/markdown_vis_controller.test.tsx @@ -29,9 +29,7 @@ describe('markdown vis controller', () => { expect(getByText('markdown')).toMatchInlineSnapshot(` markdown @@ -55,8 +53,7 @@ describe('markdown vis controller', () => { expect(getByText(/testing/i)).toMatchInlineSnapshot(`

- Testing - html + Testing <a>html</a>

`); }); diff --git a/src/plugins/vis_type_markdown/public/markdown_vis_controller.tsx b/src/plugins/vis_type_markdown/public/markdown_vis_controller.tsx index 7c0b44d24860d..d941adf573591 100644 --- a/src/plugins/vis_type_markdown/public/markdown_vis_controller.tsx +++ b/src/plugins/vis_type_markdown/public/markdown_vis_controller.tsx @@ -7,7 +7,7 @@ */ import React, { useEffect } from 'react'; -import { Markdown } from '@kbn/shared-ux-markdown'; +import { Markdown } from '@kbn/kibana-react-plugin/public'; import { MarkdownVisParams } from './types'; import './markdown_vis.scss'; @@ -29,8 +29,7 @@ const MarkdownVisComponent = ({
); diff --git a/src/plugins/vis_type_markdown/tsconfig.json b/src/plugins/vis_type_markdown/tsconfig.json index 833dc7404cc0f..5b9639787e12c 100644 --- a/src/plugins/vis_type_markdown/tsconfig.json +++ b/src/plugins/vis_type_markdown/tsconfig.json @@ -16,7 +16,7 @@ "@kbn/i18n", "@kbn/i18n-react", "@kbn/config-schema", - "@kbn/shared-ux-markdown", + "@kbn/kibana-react-plugin", ], "exclude": [ "target/**/*", diff --git a/test/api_integration/apis/search/bsearch.ts b/test/api_integration/apis/search/bsearch.ts index 96b4bbbf622cf..440a70db9978a 100644 --- a/test/api_integration/apis/search/bsearch.ts +++ b/test/api_integration/apis/search/bsearch.ts @@ -8,6 +8,7 @@ import expect from '@kbn/expect'; import request from 'superagent'; +import { ESQL_LATEST_VERSION } from '@kbn/esql-utils'; import { inflateResponse } from '@kbn/bfetch-plugin/public/streaming'; import { ELASTIC_HTTP_VERSION_HEADER } from '@kbn/core-http-common'; import { BFETCH_ROUTE_VERSION_LATEST } from '@kbn/bfetch-plugin/common'; @@ -413,6 +414,7 @@ export default function ({ getService }: FtrProviderContext) { request: { params: { query: 'from .kibana | limit 1', + version: ESQL_LATEST_VERSION, }, }, options: { @@ -441,6 +443,7 @@ export default function ({ getService }: FtrProviderContext) { request: { params: { query: 'fro .kibana | limit 1', + version: ESQL_LATEST_VERSION, }, }, options: { diff --git a/test/functional/apps/dashboard_elements/markdown/_markdown_vis.ts b/test/functional/apps/dashboard_elements/markdown/_markdown_vis.ts index d524fd23e0393..e440cdddc77c7 100644 --- a/test/functional/apps/dashboard_elements/markdown/_markdown_vis.ts +++ b/test/functional/apps/dashboard_elements/markdown/_markdown_vis.ts @@ -39,9 +39,12 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { expect(h1Txt).to.equal('Heading 1'); }); - it('should not render html in markdown', async function () { + it('should not render html in markdown as html', async function () { const actual = await PageObjects.visChart.getMarkdownText(); - expect(actual).to.equal('Heading 1'); + + expect(actual).to.equal( + 'Heading 1\n

Inline HTML that should not be rendered as html

' + ); }); it('should auto apply changes if auto mode is turned on', async function () { diff --git a/test/functional/services/inspector.ts b/test/functional/services/inspector.ts index 2b9fef9818dd0..348f37281156e 100644 --- a/test/functional/services/inspector.ts +++ b/test/functional/services/inspector.ts @@ -144,7 +144,7 @@ export class InspectorService extends FtrService { return await inspectorPanel.findByTagName('thead'); }); const $ = await dataTableHeader.parseDomContent(); - return $('th span.euiTableCellContent__text') + return $('th .euiTableCellContent span') .toArray() .map((cell) => $(cell).text().trim()); } diff --git a/test/functional/services/listing_table.ts b/test/functional/services/listing_table.ts index 98841ea996d2a..61da3756a3d2a 100644 --- a/test/functional/services/listing_table.ts +++ b/test/functional/services/listing_table.ts @@ -69,14 +69,10 @@ export class ListingTableService extends FtrService { private async getAllSelectableItemsNamesOnCurrentPage(): Promise { const visualizationNames = []; - // TODO - use .euiTableRow-isSelectable when it's working again (https://github.com/elastic/eui/issues/7515) - const rows = await this.find.allByCssSelector('.euiTableRow'); + const rows = await this.find.allByCssSelector('.euiTableRow-isSelectable'); for (let i = 0; i < rows.length; i++) { - const checkbox = await rows[i].findByCssSelector('.euiCheckbox__input'); - if (await checkbox.isEnabled()) { - const link = await rows[i].findByCssSelector('.euiLink'); - visualizationNames.push(await link.getVisibleText()); - } + const link = await rows[i].findByCssSelector('.euiLink'); + visualizationNames.push(await link.getVisibleText()); } this.log.debug(`Found ${visualizationNames.length} selectable visualizations on current page`); return visualizationNames; diff --git a/test/functional/services/selectable.ts b/test/functional/services/selectable.ts index cab972e9620c0..2acf76f379363 100644 --- a/test/functional/services/selectable.ts +++ b/test/functional/services/selectable.ts @@ -50,7 +50,7 @@ export class SelectableService extends FtrService { `selectableBodyTestSubjectId: ${selectableBodyTestSubjectId}, textsToSelect: ${textsToSelect}` ); - await this.openIfClosed(buttonTestSubjectId, selectableBodyTestSubjectId); + await this.ensureOpened(buttonTestSubjectId, selectableBodyTestSubjectId); const selectableBodyContainer = await this.testSubjects.find(selectableBodyTestSubjectId); const listContainer = await selectableBodyContainer.findByClassName('euiSelectableList'); @@ -92,7 +92,7 @@ export class SelectableService extends FtrService { searchText: string, optionText: string ) { - await this.openIfClosed(buttonTestSubjectId, selectableBodyTestSubjectId); + await this.ensureOpened(buttonTestSubjectId, selectableBodyTestSubjectId); // Clear and set search text await this.testSubjects.setValue(searchInputTestSubjectId, searchText, { @@ -107,16 +107,15 @@ export class SelectableService extends FtrService { ]); } - private async openIfClosed(buttonTestSubjectId: string, selectableBodyTestSubjectId: string) { + private async ensureOpened(buttonTestSubjectId: string, selectableBodyTestSubjectId: string) { // Open the selectable if `selectableBodyTestSubjectId` doesn't exist - const isSelectableOpen = await this.testSubjects.exists(selectableBodyTestSubjectId, { - timeout: 500, - }); + const isSelectableOpen = await this.testSubjects.exists(selectableBodyTestSubjectId); if (!isSelectableOpen) { await this.testSubjects.click(buttonTestSubjectId); - await this.common.sleep(500); } + + await this.testSubjects.existOrFail(selectableBodyTestSubjectId); } } diff --git a/test/plugin_functional/plugins/kbn_sample_panel_action/kibana.jsonc b/test/plugin_functional/plugins/kbn_sample_panel_action/kibana.jsonc index 8c52ce4f7e2b6..94944389f81e7 100644 --- a/test/plugin_functional/plugins/kbn_sample_panel_action/kibana.jsonc +++ b/test/plugin_functional/plugins/kbn_sample_panel_action/kibana.jsonc @@ -13,8 +13,6 @@ "uiActions", "embeddable" ], - "requiredBundles": [ - "kibanaReact" - ] + "requiredBundles": [] } } diff --git a/test/plugin_functional/plugins/kbn_sample_panel_action/public/sample_panel_action.tsx b/test/plugin_functional/plugins/kbn_sample_panel_action/public/sample_panel_action.tsx index e35e10b4808b0..aa92d75fc0c13 100644 --- a/test/plugin_functional/plugins/kbn_sample_panel_action/public/sample_panel_action.tsx +++ b/test/plugin_functional/plugins/kbn_sample_panel_action/public/sample_panel_action.tsx @@ -12,7 +12,7 @@ import React from 'react'; import { IEmbeddable } from '@kbn/embeddable-plugin/public'; import { createAction } from '@kbn/ui-actions-plugin/public'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; export const SAMPLE_PANEL_ACTION = 'samplePanelAction'; @@ -29,7 +29,9 @@ export function createSamplePanelAction(getStartServices: CoreSetup['getStartSer if (!embeddable) { return; } - const openFlyout = (await getStartServices())[0].overlays.openFlyout; + const coreStart = (await getStartServices())[0]; + const { overlays, ...startServices } = coreStart; + const openFlyout = overlays.openFlyout; openFlyout( toMountPoint( @@ -41,7 +43,8 @@ export function createSamplePanelAction(getStartServices: CoreSetup['getStartSer

This is a sample action

-
+ , + startServices ), { 'data-test-subj': 'samplePanelActionFlyout', diff --git a/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json b/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json index a3fe79437f30d..506a7dba6fd16 100644 --- a/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json +++ b/test/plugin_functional/plugins/kbn_sample_panel_action/tsconfig.json @@ -16,6 +16,6 @@ "@kbn/core", "@kbn/ui-actions-plugin", "@kbn/embeddable-plugin", - "@kbn/kibana-react-plugin", + "@kbn/react-kibana-mount", ] } diff --git a/tsconfig.base.json b/tsconfig.base.json index e7ece2e877697..14f4b0a198cce 100644 --- a/tsconfig.base.json +++ b/tsconfig.base.json @@ -956,6 +956,8 @@ "@kbn/index-management-plugin/*": ["x-pack/plugins/index_management/*"], "@kbn/index-patterns-test-plugin": ["test/plugin_functional/plugins/index_patterns"], "@kbn/index-patterns-test-plugin/*": ["test/plugin_functional/plugins/index_patterns/*"], + "@kbn/inference_integration_flyout": ["x-pack/packages/ml/inference_integration_flyout"], + "@kbn/inference_integration_flyout/*": ["x-pack/packages/ml/inference_integration_flyout/*"], "@kbn/infra-forge": ["x-pack/packages/kbn-infra-forge"], "@kbn/infra-forge/*": ["x-pack/packages/kbn-infra-forge/*"], "@kbn/infra-plugin": ["x-pack/plugins/observability_solution/infra"], @@ -1600,8 +1602,6 @@ "@kbn/slo-schema/*": ["x-pack/packages/kbn-slo-schema/*"], "@kbn/snapshot-restore-plugin": ["x-pack/plugins/snapshot_restore"], "@kbn/snapshot-restore-plugin/*": ["x-pack/plugins/snapshot_restore/*"], - "@kbn/solution-nav-analytics": ["packages/solution-nav/analytics"], - "@kbn/solution-nav-analytics/*": ["packages/solution-nav/analytics/*"], "@kbn/solution-nav-es": ["packages/solution-nav/es"], "@kbn/solution-nav-es/*": ["packages/solution-nav/es/*"], "@kbn/solution-nav-oblt": ["packages/solution-nav/oblt"], diff --git a/versions.json b/versions.json index 41158ed17b5a6..7407634eb82fe 100644 --- a/versions.json +++ b/versions.json @@ -2,14 +2,14 @@ "notice": "This file is not maintained outside of the main branch and should only be used for tooling.", "versions": [ { - "version": "8.14.0", + "version": "8.15.0", "branch": "main", "currentMajor": true, "currentMinor": true }, { - "version": "8.13.3", - "branch": "8.13", + "version": "8.14.0", + "branch": "8.14", "currentMajor": true, "previousMinor": true }, diff --git a/x-pack/.i18nrc.json b/x-pack/.i18nrc.json index a653e8332e9c7..b51b54043398c 100644 --- a/x-pack/.i18nrc.json +++ b/x-pack/.i18nrc.json @@ -76,6 +76,7 @@ "packages/ml/data_grid", "packages/ml/data_view_utils", "packages/ml/date_picker", + "packages/ml/inference_integration_flyout", "packages/ml/trained_models_utils", "packages/ml/category_validator", "packages/ml/ui_actions", diff --git a/x-pack/examples/ui_actions_enhanced_examples/kibana.jsonc b/x-pack/examples/ui_actions_enhanced_examples/kibana.jsonc index 33412d3529b47..1da3e4f182875 100644 --- a/x-pack/examples/ui_actions_enhanced_examples/kibana.jsonc +++ b/x-pack/examples/ui_actions_enhanced_examples/kibana.jsonc @@ -22,8 +22,7 @@ "requiredBundles": [ "dashboardEnhanced", "embeddable", - "kibanaUtils", - "kibanaReact" + "kibanaUtils" ] } } diff --git a/x-pack/examples/ui_actions_enhanced_examples/public/plugin.ts b/x-pack/examples/ui_actions_enhanced_examples/public/plugin.ts index 2cac8f3bac939..fbd74fc581012 100644 --- a/x-pack/examples/ui_actions_enhanced_examples/public/plugin.ts +++ b/x-pack/examples/ui_actions_enhanced_examples/public/plugin.ts @@ -6,7 +6,7 @@ */ import { createElement as h } from 'react'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { Plugin, CoreSetup, CoreStart } from '@kbn/core/public'; import { DataPublicPluginSetup, DataPublicPluginStart } from '@kbn/data-plugin/public'; import { @@ -93,7 +93,8 @@ export class UiActionsEnhancedExamplesPlugin dynamicActionManager: self.managerWithoutEmbeddableSingleButton, triggers: [SAMPLE_APP2_CLICK_TRIGGER], placeContext: {}, - }) + }), + coreStart ), { ownFocus: true, @@ -118,7 +119,8 @@ export class UiActionsEnhancedExamplesPlugin dynamicActionManager: self.managerWithoutEmbeddableSingleButton, triggers: [SAMPLE_APP2_CLICK_TRIGGER], placeContext: { sampleApp2ClickContext }, - }) + }), + coreStart ), { ownFocus: true, @@ -150,7 +152,7 @@ export class UiActionsEnhancedExamplesPlugin }); } - public start(core: CoreStart, plugins: StartDependencies): UiActionsEnhancedExamplesStart { + public start(_core: CoreStart, plugins: StartDependencies): UiActionsEnhancedExamplesStart { const managerWithoutEmbeddable = new UiActionsEnhancedDynamicActionManager({ storage: new UiActionsEnhancedMemoryActionStorage(), isCompatible: async () => true, diff --git a/x-pack/examples/ui_actions_enhanced_examples/tsconfig.json b/x-pack/examples/ui_actions_enhanced_examples/tsconfig.json index ef56838b5deba..6010bece3bd1c 100644 --- a/x-pack/examples/ui_actions_enhanced_examples/tsconfig.json +++ b/x-pack/examples/ui_actions_enhanced_examples/tsconfig.json @@ -16,7 +16,6 @@ "kbn_references": [ "@kbn/core", "@kbn/kibana-utils-plugin", - "@kbn/kibana-react-plugin", "@kbn/share-plugin", "@kbn/discover-plugin", "@kbn/dashboard-plugin", @@ -30,5 +29,6 @@ "@kbn/unified-search-plugin", "@kbn/utility-types", "@kbn/presentation-publishing", + "@kbn/react-kibana-mount", ] } diff --git a/x-pack/package.json b/x-pack/package.json index 1717e6f11d1dd..a65aaf142fd25 100644 --- a/x-pack/package.json +++ b/x-pack/package.json @@ -1,6 +1,6 @@ { "name": "x-pack", - "version": "8.14.0", + "version": "8.15.0", "author": "Elastic", "private": true, "license": "Elastic-License", diff --git a/x-pack/packages/index-management/src/types.ts b/x-pack/packages/index-management/src/types.ts index 046693303cddf..1413830f2931f 100644 --- a/x-pack/packages/index-management/src/types.ts +++ b/x-pack/packages/index-management/src/types.ts @@ -11,11 +11,6 @@ import { IndicesStatsIndexMetadataState, Uuid, } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; -import type { UsageCollectionSetup } from '@kbn/usage-collection-plugin/public'; -import type { ManagementSetup } from '@kbn/management-plugin/public'; -import type { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public'; -import type { CloudSetup } from '@kbn/cloud-plugin/public'; -import type { ConsolePluginStart } from '@kbn/console-plugin/public'; import type { ScopedHistory } from '@kbn/core-application-browser'; import { ExtensionsSetup } from './services/extensions_service'; import { PublicApiServiceSetup } from './services/public_api_service'; @@ -32,23 +27,6 @@ export interface IndexManagementPluginStart { }) => React.FC; } -export interface SetupDependencies { - fleet?: unknown; - usageCollection: UsageCollectionSetup; - management: ManagementSetup; - share: SharePluginSetup; - cloud?: CloudSetup; -} - -export interface StartDependencies { - cloud?: CloudSetup; - console?: ConsolePluginStart; - share: SharePluginStart; - fleet?: unknown; - usageCollection: UsageCollectionSetup; - management: ManagementSetup; -} - export interface Index { name: string; primary?: number | string; diff --git a/x-pack/packages/index-management/tsconfig.json b/x-pack/packages/index-management/tsconfig.json index 6531510aba657..7b1535d818ff5 100644 --- a/x-pack/packages/index-management/tsconfig.json +++ b/x-pack/packages/index-management/tsconfig.json @@ -17,10 +17,5 @@ ], "kbn_references": [ "@kbn/core-application-browser", - "@kbn/usage-collection-plugin", - "@kbn/management-plugin", - "@kbn/share-plugin", - "@kbn/cloud-plugin", - "@kbn/console-plugin", ] } 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 ab77e90c1c3f4..8df4c60817c6c 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 @@ -5,13 +5,14 @@ * 2.0. */ -import { v4 as uuidv4 } from 'uuid'; -import { KibanaRequest, Logger } from '@kbn/core/server'; import type { PluginStartContract as ActionsPluginStart } from '@kbn/actions-plugin/server'; +import { KibanaRequest, Logger } from '@kbn/core/server'; import { LLM } from '@langchain/core/language_models/llms'; import { get } from 'lodash/fp'; +import { v4 as uuidv4 } from 'uuid'; import { getMessageContentAndRole } from './helpers'; +import { TraceOptions } from './types'; const LLM_TYPE = 'ActionsClientLlm'; @@ -27,6 +28,7 @@ interface ActionsClientLlmParams { model?: string; temperature?: number; traceId?: string; + traceOptions?: TraceOptions; } export class ActionsClientLlm extends LLM { @@ -52,8 +54,11 @@ export class ActionsClientLlm extends LLM { model, request, temperature, + traceOptions, }: ActionsClientLlmParams) { - super({}); + super({ + callbacks: [...(traceOptions?.tracers ?? [])], + }); this.#actions = actions; this.#connectorId = connectorId; diff --git a/x-pack/packages/kbn-elastic-assistant-common/impl/llm/types.ts b/x-pack/packages/kbn-elastic-assistant-common/impl/llm/types.ts index 85c970b1b948a..5fd08e6ee4e2d 100644 --- a/x-pack/packages/kbn-elastic-assistant-common/impl/llm/types.ts +++ b/x-pack/packages/kbn-elastic-assistant-common/impl/llm/types.ts @@ -5,6 +5,7 @@ * 2.0. */ +import { LangChainTracer } from '@langchain/core/tracers/tracer_langchain'; import { ChatCompletionContentPart, ChatCompletionCreateParamsNonStreaming, @@ -38,3 +39,12 @@ export interface InvokeAIActionParamsSchema { functions?: ChatCompletionCreateParamsNonStreaming['functions']; signal?: AbortSignal; } + +export interface TraceOptions { + evaluationId?: string; + exampleId?: string; + projectName?: string; + runName?: string; + tags?: string[]; + tracers?: LangChainTracer[]; +} 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 index 2f64f3c6e521d..cfae1a004a54d 100644 --- 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 @@ -56,6 +56,8 @@ export const AlertsInsightsPostRequestBody = z.object({ anonymizationFields: z.array(AnonymizationFieldResponse), connectorId: z.string(), actionTypeId: z.string(), + langSmithProject: z.string().optional(), + langSmithApiKey: z.string().optional(), model: z.string().optional(), replacements: Replacements.optional(), size: z.number(), 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 index 5ab58c6023ee5..a4a647784ee29 100644 --- 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 @@ -73,6 +73,10 @@ paths: type: string actionTypeId: type: string + langSmithProject: + type: string + langSmithApiKey: + type: string model: type: string replacements: diff --git a/x-pack/packages/kbn-elastic-assistant/impl/data_anonymization_editor/context_editor/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/data_anonymization_editor/context_editor/index.tsx index 1cfb80c8ad693..6eeb80f2bb911 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/data_anonymization_editor/context_editor/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/data_anonymization_editor/context_editor/index.tsx @@ -133,7 +133,6 @@ const ContextEditorComponent: React.FC = ({ columns={columns} compressed={true} data-test-subj="contextEditor" - isSelectable={true} itemId={FIELDS.FIELD} items={rows} pagination={pagination} diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts b/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts new file mode 100644 index 0000000000000..b67fa9aba17f1 --- /dev/null +++ b/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/get_suggestions.ts @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import * as t from 'io-ts'; + +const getSLOSuggestionsResponseSchema = t.type({ + tags: t.array( + t.type({ + label: t.string, + value: t.string, + count: t.number, + }) + ), +}); + +type GetSLOSuggestionsResponse = t.OutputOf; + +export { getSLOSuggestionsResponseSchema }; +export type { GetSLOSuggestionsResponse }; diff --git a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/index.ts b/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/index.ts index afa90877253e3..57058d03790bb 100644 --- a/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/index.ts +++ b/x-pack/packages/kbn-slo-schema/src/rest_specs/routes/index.ts @@ -20,3 +20,4 @@ export * from './manage'; export * from './delete_instance'; export * from './fetch_historical_summary'; export * from './put_settings'; +export * from './get_suggestions'; diff --git a/x-pack/packages/ml/aiops_components/index.ts b/x-pack/packages/ml/aiops_components/index.ts index c9ca50ad0daff..3a640c1d0cb44 100644 --- a/x-pack/packages/ml/aiops_components/index.ts +++ b/x-pack/packages/ml/aiops_components/index.ts @@ -9,7 +9,15 @@ export { DualBrush, DualBrushAnnotation } from './src/dual_brush'; export { ProgressControls } from './src/progress_controls'; export { DocumentCountChart, + DocumentCountChartWithAutoAnalysisStart, type BrushSettings, type BrushSelectionUpdateHandler, } from './src/document_count_chart'; export type { DocumentCountChartProps } from './src/document_count_chart'; +export { + useLogRateAnalysisStateContext, + LogRateAnalysisStateProvider, + type GroupTableItem, + type GroupTableItemGroup, + type TableItemAction, +} from './src/log_rate_analysis_state_provider'; diff --git a/x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx b/x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx index 57139ddd0a1fe..02c532d186704 100644 --- a/x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx +++ b/x-pack/packages/ml/aiops_components/src/document_count_chart/document_count_chart.tsx @@ -40,6 +40,8 @@ import type { FieldFormatsStart } from '@kbn/field-formats-plugin/public'; import { DualBrush, DualBrushAnnotation } from '../..'; +import { useLogRateAnalysisStateContext } from '../log_rate_analysis_state_provider'; + import { BrushBadge } from './brush_badge'; declare global { @@ -87,6 +89,11 @@ export type BrushSelectionUpdateHandler = ( logRateAnalysisType: LogRateAnalysisType ) => void; +/** + * Callback to set the autoRunAnalysis flag + */ +type SetAutoRunAnalysisFn = (isAutoRun: boolean) => void; + /** * Props for document count chart */ @@ -118,9 +125,11 @@ export interface DocumentCountChartProps { chartPointsSplitLabel: string; /** Whether or not brush has been reset */ isBrushCleared: boolean; + /** Callback to set the autoRunAnalysis flag */ + setAutoRunAnalysis?: SetAutoRunAnalysisFn; /** Timestamp for start of initial analysis */ autoAnalysisStart?: number | WindowParameters; - /** Optional style to override bar chart */ + /** Optional style to override bar chart */ barStyleAccessor?: BarStyleAccessor; /** Optional color override for the default bar color for charts */ barColorOverride?: string; @@ -181,6 +190,7 @@ export const DocumentCountChart: FC = (props) => { interval, chartPointsSplitLabel, isBrushCleared, + setAutoRunAnalysis, autoAnalysisStart, barColorOverride, barStyleAccessor, @@ -305,6 +315,17 @@ export const DocumentCountChart: FC = (props) => { windowParameters === undefined && adjustedChartPoints !== undefined ) { + if (setAutoRunAnalysis) { + const autoRun = + typeof startRange !== 'number' || + (typeof startRange === 'number' && + changePoint !== undefined && + startRange >= changePoint.startTs && + startRange <= changePoint.endTs); + + setAutoRunAnalysis(autoRun); + } + const wp = getWindowParametersForTrigger( startRange, interval, @@ -333,6 +354,7 @@ export const DocumentCountChart: FC = (props) => { timeRangeLatest, snapTimestamps, originalWindowParameters, + setAutoRunAnalysis, setWindowParameters, brushSelectionUpdateHandler, adjustedChartPoints, @@ -535,3 +557,24 @@ export const DocumentCountChart: FC = (props) => { ); }; + +/** + * Functional component that renders a `DocumentCountChart` with additional properties + * managed by the log rate analysis state. It leverages the `useLogRateAnalysisStateContext` + * to acquire state variables like `initialAnalysisStart` and functions such as + * `setAutoRunAnalysis`. These values are then passed as props to the `DocumentCountChart`. + * + * @param props - The properties passed to the DocumentCountChart component. + * @returns The DocumentCountChart component enhanced with automatic analysis start capabilities. + */ +export const DocumentCountChartWithAutoAnalysisStart: FC = (props) => { + const { initialAnalysisStart, setAutoRunAnalysis } = useLogRateAnalysisStateContext(); + + return ( + + ); +}; diff --git a/x-pack/packages/ml/aiops_components/src/document_count_chart/index.ts b/x-pack/packages/ml/aiops_components/src/document_count_chart/index.ts index 5b64acedbf5f6..efde8b0a83cba 100644 --- a/x-pack/packages/ml/aiops_components/src/document_count_chart/index.ts +++ b/x-pack/packages/ml/aiops_components/src/document_count_chart/index.ts @@ -5,7 +5,10 @@ * 2.0. */ -export { DocumentCountChart } from './document_count_chart'; +export { + DocumentCountChart, + DocumentCountChartWithAutoAnalysisStart, +} from './document_count_chart'; export type { BrushSelectionUpdateHandler, BrushSettings, diff --git a/x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/index.ts b/x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/index.ts new file mode 100644 index 0000000000000..18453665cb4f2 --- /dev/null +++ b/x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/index.ts @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { + useLogRateAnalysisStateContext, + LogRateAnalysisStateProvider, +} from './log_rate_analysis_state_provider'; +export type { GroupTableItem, GroupTableItemGroup, TableItemAction } from './types'; diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table_row_provider.tsx b/x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/log_rate_analysis_state_provider.tsx similarity index 50% rename from x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table_row_provider.tsx rename to x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/log_rate_analysis_state_provider.tsx index a7b3398e4e7cc..f3aa55bdce771 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table_row_provider.tsx +++ b/x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/log_rate_analysis_state_provider.tsx @@ -16,13 +16,19 @@ import React, { } from 'react'; import type { SignificantItem } from '@kbn/ml-agg-utils'; +import type { WindowParameters } from '@kbn/aiops-log-rate-analysis'; import type { GroupTableItem } from './types'; +type InitialAnalysisStart = number | WindowParameters | undefined; type SignificantItemOrNull = SignificantItem | null; type GroupOrNull = GroupTableItem | null; -interface LogRateAnalysisResultsTableRow { +interface LogRateAnalysisState { + autoRunAnalysis: boolean; + setAutoRunAnalysis: Dispatch>; + initialAnalysisStart: InitialAnalysisStart; + setInitialAnalysisStart: Dispatch>; pinnedSignificantItem: SignificantItemOrNull; setPinnedSignificantItem: Dispatch>; pinnedGroup: GroupOrNull; @@ -36,12 +42,38 @@ interface LogRateAnalysisResultsTableRow { clearAllRowState: () => void; } -export const logRateAnalysisResultsTableRowContext = createContext< - LogRateAnalysisResultsTableRow | undefined ->(undefined); +const LogRateAnalysisStateContext = createContext(undefined); -export const LogRateAnalysisResultsTableRowStateProvider: FC = ({ children }) => { - // State that will be shared with all components +/** + * Props for LogRateAnalysisStateProvider. + */ +interface LogRateAnalysisStateProviderProps { + /** The parameters to be used to trigger an analysis. */ + initialAnalysisStart?: InitialAnalysisStart; +} + +/** + * Context provider component that manages and provides global state for Log Rate Analysis. + * This provider handles several pieces of state important for controlling and displaying + * log rate analysis data, such as the control of automatic analysis runs, and the management + * of both pinned and selected significant items and groups. + * + * The state includes mechanisms for setting initial analysis parameters, toggling analysis, + * and managing the current selection and pinned state of significant items and groups. + * + * @param props - Props object containing initial settings for the analysis, + * including children components to be wrapped by the Provider. + * @returns A context provider wrapping children with access to log rate analysis state. + */ +export const LogRateAnalysisStateProvider: FC = (props) => { + const { children, initialAnalysisStart: incomingInitialAnalysisStart } = props; + + const [autoRunAnalysis, setAutoRunAnalysis] = useState(true); + const [initialAnalysisStart, setInitialAnalysisStart] = useState< + number | WindowParameters | undefined + >(incomingInitialAnalysisStart); + + // Row state that will be shared with all components const [pinnedSignificantItem, setPinnedSignificantItem] = useState(null); const [pinnedGroup, setPinnedGroup] = useState(null); const [selectedSignificantItem, setSelectedSignificantItem] = @@ -66,8 +98,12 @@ export const LogRateAnalysisResultsTableRowStateProvider: FC = ({ children }) => } }, [selectedGroup, pinnedGroup]); - const contextValue: LogRateAnalysisResultsTableRow = useMemo( + const contextValue: LogRateAnalysisState = useMemo( () => ({ + autoRunAnalysis, + setAutoRunAnalysis, + initialAnalysisStart, + setInitialAnalysisStart, pinnedSignificantItem, setPinnedSignificantItem, pinnedGroup, @@ -86,6 +122,10 @@ export const LogRateAnalysisResultsTableRowStateProvider: FC = ({ children }) => }, }), [ + autoRunAnalysis, + setAutoRunAnalysis, + initialAnalysisStart, + setInitialAnalysisStart, pinnedSignificantItem, setPinnedSignificantItem, pinnedGroup, @@ -101,19 +141,26 @@ export const LogRateAnalysisResultsTableRowStateProvider: FC = ({ children }) => return ( // Provider managing the state - + {children} - + ); }; -export const useLogRateAnalysisResultsTableRowContext = () => { - const logRateAnalysisResultsTableRow = useContext(logRateAnalysisResultsTableRowContext); +/** + * Custom hook for accessing the state of log rate analysis from the LogRateAnalysisStateContext. + * This hook must be used within a component that is a descendant of the LogRateAnalysisStateContext provider. + * + * @returns The current state of the log rate analysis. + * @throws Throws an error if the hook is used outside of its Provider context. + */ +export const useLogRateAnalysisStateContext = () => { + const logRateAnalysisState = useContext(LogRateAnalysisStateContext); // If `undefined`, throw an error. - if (logRateAnalysisResultsTableRow === undefined) { - throw new Error('useLogRateAnalysisResultsTableRowContext was used outside of its Provider'); + if (logRateAnalysisState === undefined) { + throw new Error('useLogRateAnalysisStateContext was used outside of its Provider'); } - return logRateAnalysisResultsTableRow; + return logRateAnalysisState; }; diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/types.ts b/x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts similarity index 59% rename from x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/types.ts rename to x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts index 400e4534b54f1..4c4013e3d4867 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/types.ts +++ b/x-pack/packages/ml/aiops_components/src/log_rate_analysis_state_provider/types.ts @@ -9,20 +9,36 @@ import type { EuiTableActionsColumnType } from '@elastic/eui'; import type { SignificantItem, SignificantItemGroupItem } from '@kbn/ml-agg-utils'; +/** + * Type for defining attributes picked from + * SignificantItemGroupItem used in the grouped table. + */ export type GroupTableItemGroup = Pick< SignificantItemGroupItem, 'key' | 'type' | 'fieldName' | 'fieldValue' | 'docCount' | 'pValue' | 'duplicate' >; +/** + * Represents a single item in the group table. + */ export interface GroupTableItem { + /** Unique identifier for the group table item. */ id: string; + /** Document count associated with the item. */ docCount: number; + /** Statistical p-value indicating the significance of the item, nullable. */ pValue: number | null; + /** Count of unique items within the group. */ uniqueItemsCount: number; + /** Array of items within the group, sorted by uniqueness. */ groupItemsSortedByUniqueness: GroupTableItemGroup[]; + /** Histogram data for the significant item. */ histogram: SignificantItem['histogram']; } +/** + * Type for action columns in a table that involves SignificantItem or GroupTableItem. + */ export type TableItemAction = EuiTableActionsColumnType< SignificantItem | GroupTableItem >['actions'][number]; diff --git a/x-pack/packages/ml/aiops_components/tsconfig.json b/x-pack/packages/ml/aiops_components/tsconfig.json index 3fba5d38f9fc1..23cf9e9d60d4b 100644 --- a/x-pack/packages/ml/aiops_components/tsconfig.json +++ b/x-pack/packages/ml/aiops_components/tsconfig.json @@ -27,6 +27,7 @@ "@kbn/field-formats-plugin", "@kbn/visualization-utils", "@kbn/aiops-log-rate-analysis", + "@kbn/ml-agg-utils", ], "exclude": [ "target/**/*", diff --git a/x-pack/packages/ml/inference_integration_flyout/README.md b/x-pack/packages/ml/inference_integration_flyout/README.md new file mode 100644 index 0000000000000..49c5a805f2cb9 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/README.md @@ -0,0 +1,3 @@ +# @kbn/inference_integration_flyout + +Empty package generated by @kbn/generate diff --git a/x-pack/packages/ml/inference_integration_flyout/components/connect_to_api.tsx b/x-pack/packages/ml/inference_integration_flyout/components/connect_to_api.tsx new file mode 100644 index 0000000000000..e90f934cf2723 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/connect_to_api.tsx @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { EuiSuperSelect } from '@elastic/eui'; + +import React, { useMemo, useState } from 'react'; +import { connectToApiOptions, isEmpty, setModalConfigResponse } from '../lib/shared_values'; +import type { ModelConfig } from '../types'; +import { Service } from '../types'; +import { InferenceFlyout } from './flyout_layout'; +import type { SaveMappingOnClick } from './inference_flyout_wrapper'; +import { CohereForm } from './service_forms/cohere_form'; +import { HuggingFaceForm } from './service_forms/huggingface_form'; +import { OpenaiForm } from './service_forms/openai_form'; + +interface Props extends SaveMappingOnClick { + description: string; + onInferenceEndpointChange: (inferenceId: string) => void; + inferenceEndpointError?: string; +} +export const ConnectToApi: React.FC = ({ + description, + onSaveInferenceEndpoint, + isCreateInferenceApiLoading, + onInferenceEndpointChange, + inferenceEndpointError, +}) => { + const defaultOpenaiUrl = 'https://api.openai.com/v1/embeddings'; + const defaultCohereModelId = 'embed-english-v2.0'; + + const [selectedModelType, setSelectedModelType] = useState(connectToApiOptions[0].value); + + const [huggingFaceApiKey, setHuggingFaceApiKey] = useState(''); + const [huggingFaceModelUrl, setHuggingFaceModelUrl] = useState(''); + + const [cohereApiKey, setCohereApiKey] = useState(''); + const [cohereModelId, setCohereModelId] = useState(defaultCohereModelId); + + const [openaiApiKey, setOpenaiApiKey] = useState(''); + const [openaiEndpointlUrl, setOpenaiEndpointUrl] = useState(defaultOpenaiUrl); + const [openaiOrganizationId, openaiSetOrganizationId] = useState(''); + const [openaiModelId, setOpenaiModelId] = useState(''); + + // disable save button if required fields are empty + const areRequiredFieldsEmpty = useMemo(() => { + if (selectedModelType === Service.huggingFace) { + return isEmpty(huggingFaceModelUrl) || isEmpty(huggingFaceApiKey); + } else if (selectedModelType === Service.cohere) { + return isEmpty(cohereApiKey); + } else { + // open ai + return isEmpty(openaiApiKey) || isEmpty(openaiModelId); + } + }, [ + selectedModelType, + huggingFaceModelUrl, + huggingFaceApiKey, + cohereApiKey, + openaiApiKey, + openaiModelId, + ]); + + // reset form values + const onChangeModelType = (newSelectedServiceType: Service) => { + switch (selectedModelType) { + case Service.huggingFace: + setHuggingFaceApiKey(''); + setHuggingFaceModelUrl(''); + break; + + case Service.cohere: + setCohereApiKey(''); + setCohereModelId(defaultCohereModelId); + break; + + case Service.openai: + setOpenaiApiKey(''); + setOpenaiEndpointUrl(defaultOpenaiUrl); + openaiSetOrganizationId(''); + setOpenaiModelId(''); + break; + } + setSelectedModelType(newSelectedServiceType); + }; + + const modelConfig: ModelConfig = useMemo(() => { + if (selectedModelType === Service.huggingFace) { + return setModalConfigResponse(Service.huggingFace, { + api_key: huggingFaceApiKey, + url: huggingFaceModelUrl, + }); + } else if (selectedModelType === Service.cohere) { + return setModalConfigResponse(Service.cohere, { + api_key: cohereApiKey, + model_id: isEmpty(cohereModelId) ? defaultCohereModelId : cohereModelId, + }); + } else { + return setModalConfigResponse(Service.openai, { + api_key: openaiApiKey, + model_id: openaiModelId, + organization_id: isEmpty(openaiOrganizationId) ? undefined : openaiOrganizationId, + url: isEmpty(openaiEndpointlUrl) ? defaultOpenaiUrl : openaiEndpointlUrl, + }); + } + }, [ + selectedModelType, + huggingFaceApiKey, + huggingFaceModelUrl, + cohereApiKey, + cohereModelId, + openaiApiKey, + openaiModelId, + openaiOrganizationId, + openaiEndpointlUrl, + ]); + + const renderForm = () => { + if (selectedModelType === Service.huggingFace) + return ( + + ); + else if (selectedModelType === Service.cohere) + return ( + + ); + else + return ( + + ); + }; + + const InferenceSpecificComponent = ( + <> + onChangeModelType(value)} + /> + {renderForm()} + + ); + + return ( + <> + + + ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/eland_python_client.tsx b/x-pack/packages/ml/inference_integration_flyout/components/eland_python_client.tsx new file mode 100644 index 0000000000000..e7d2135317a17 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/eland_python_client.tsx @@ -0,0 +1,181 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { + EuiFlexGroup, + EuiFlexItem, + EuiSpacer, + EuiSteps, + EuiText, + EuiButtonEmpty, + EuiCodeBlock, + EuiLink, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React from 'react'; +export const ElandPythonClient: React.FC<{ + supportedNlpModels: string; + nlpImportModel: string; +}> = ({ supportedNlpModels, nlpImportModel }) => { + return ( + <> + + + + + pip + + ), + pypiLink: ( + + PyPI + + ), + }} + /> + + + +

$ python -m pip install eland

+
+ + + + Conda + + ), + condaForgeLink: ( + + Conda Forge + + ), + }} + /> + + + +

$ conda install -c conda-forge eland

+
+ + ), + }, + { + title: i18n.translate('xpack.ml.addInferenceEndpoint.elandPythonClient.step2Title', { + defaultMessage: 'Importing your third-party model', + }), + children: ( + +

+ + + +

+ +

+ + + + + + eland_import_hub_model
+ --cloud-id <cloud-id> \
+ -u <username> -p <password> \
+ --hub-model-id <model-id> \
+ --task-type ner \ +
+

+ + + + + + + + + + + + + +
+ ), + }, + { + title: i18n.translate('xpack.ml.addInferenceEndpoint.elandPythonClient.step4Title', { + defaultMessage: 'Deploy your model', + }), + children: ( + <> + +

+ +

+
+ + +

+ +

+
+ + ), + }, + ]} + /> + + ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/elasticsearch_models.tsx b/x-pack/packages/ml/inference_integration_flyout/components/elasticsearch_models.tsx new file mode 100644 index 0000000000000..0825cba6828b4 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/elasticsearch_models.tsx @@ -0,0 +1,210 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { EuiSuperSelectOption } from '@elastic/eui'; +import { + EuiFlexItem, + EuiTitle, + EuiSuperSelect, + EuiText, + EuiLink, + EuiSpacer, + useGeneratedHtmlId, + EuiHorizontalRule, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React, { useMemo, useState, useEffect } from 'react'; +import type { ElasticsearchModelDescriptions, ElasticsearchService, ModelConfig } from '../types'; +import { ElasticsearchModelDefaultOptions, Service } from '../types'; +import type { DocumentationProps, SaveMappingOnClick } from './inference_flyout_wrapper'; +import { elasticsearchModelsOptions, setModalConfigResponse } from '../lib/shared_values'; +import { ServiceOptions } from './service_options'; +import { InferenceFlyout } from './flyout_layout'; +interface ElasticsearchModelsProps + extends Omit, + SaveMappingOnClick { + description: string; + trainedModels: string[]; + onInferenceEndpointChange: (inferenceId: string) => void; + inferenceEndpointError?: string; +} +export const ElasticsearchModels: React.FC = ({ + description, + elserv2documentationUrl = '', + e5documentationUrl = '', + onSaveInferenceEndpoint, + trainedModels, + isCreateInferenceApiLoading, + onInferenceEndpointChange, + inferenceEndpointError, +}) => { + const [options, setOptions] = useState(elasticsearchModelsOptions); + const [selectedModelType, setSelectedModelType] = useState(elasticsearchModelsOptions[0].value); + const [numberOfAllocations, setNumberOfAllocations] = useState(1); + const [numberOfThreads, setNumberOfThreads] = useState(1); + + const serviceType: Service = useMemo(() => { + return selectedModelType === ElasticsearchModelDefaultOptions.elser + ? Service.elser + : Service.elasticsearch; + }, [selectedModelType]); + + const modelConfig: ModelConfig = useMemo(() => { + const modelAllocationsAndThreads = { + num_allocations: numberOfAllocations, + num_threads: numberOfThreads, + }; + if (serviceType === Service.elser) + return setModalConfigResponse(serviceType, { + ...modelAllocationsAndThreads, + }); + else { + return setModalConfigResponse(serviceType, { + ...modelAllocationsAndThreads, + model_id: ElasticsearchModelDefaultOptions.e5, + } as ElasticsearchService); + } + }, [numberOfAllocations, numberOfThreads, serviceType]); + + const elasticSearchModelTypesDescriptions: Record< + ElasticsearchModelDefaultOptions | string, + ElasticsearchModelDescriptions + > = { + [ElasticsearchModelDefaultOptions.elser]: { + description: i18n.translate( + 'xpack.ml.addInferenceEndpoint.elasticsearchModels.elser.description', + { + defaultMessage: + "ELSER is Elastic's NLP model for English semantic search, utilizing sparse vectors. It prioritizes intent and contextual meaning over literal term matching, optimized specifically for English documents and queries on the Elastic platform.", + } + ), + documentation: elserv2documentationUrl, + title: i18n.translate('xpack.ml.addInferenceEndpoint.elasticsearchModels.elser.title', { + defaultMessage: 'Elastic Learned Sparse Encoder v2', + }), + }, + [ElasticsearchModelDefaultOptions.e5]: { + description: i18n.translate( + 'xpack.ml.addInferenceEndpoint.elasticsearchModels.e5Model.description', + { + defaultMessage: + 'E5 is a third party NLP model that enables you to perform multi-lingual semantic search by using dense vector representations. This model performs best for non-English language documents and queries.', + } + ), + documentation: e5documentationUrl, + + title: i18n.translate('xpack.ml.addInferenceEndpoint.e5Model.title', { + defaultMessage: 'Multilingual E5 (Embeddings from bidirectional encoder representations)', + }), + }, + }; + + useEffect(() => { + const elasticsearchModelsOptionsList: Array< + EuiSuperSelectOption + > = []; + const defaultOptions: string[] = Object.values(ElasticsearchModelDefaultOptions); + + trainedModels.map((model) => { + if (!defaultOptions.includes(model)) { + elasticsearchModelsOptionsList.push({ + value: model, + inputDisplay: model, + 'data-test-subj': `serviceType-${model}`, + }); + } + }); + const modelOptionsList = elasticsearchModelsOptions.concat(elasticsearchModelsOptionsList); + setOptions(modelOptionsList); + setSelectedModelType(modelOptionsList[0].value); + }, [trainedModels]); + const serviceOptionsId = useGeneratedHtmlId({ prefix: 'serviceOptions' }); + const inferenceComponent = ( + <> + + setSelectedModelType(value)} + /> + + + {Object.keys(elasticSearchModelTypesDescriptions).includes(selectedModelType) ? ( + <> + + +
+ +
+
+
+ + + + + + + + +

+ + + +

+
+ + + + + + ) : ( + + )} + + ); + return ( + <> + + + ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/flyout_layout.tsx b/x-pack/packages/ml/inference_integration_flyout/components/flyout_layout.tsx new file mode 100644 index 0000000000000..a859b1d95103f --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/flyout_layout.tsx @@ -0,0 +1,141 @@ +/* + * 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 { + EuiFieldText, + EuiFlexGroup, + EuiFlexItem, + EuiForm, + EuiFormRow, + EuiLink, + EuiTitle, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React, { useCallback, useMemo, useState } from 'react'; +import { isEmpty, serviceTypeMap } from '../lib/shared_values'; +import type { Service, ModelConfig } from '../types'; +import type { SaveMappingOnClick } from './inference_flyout_wrapper'; +import { SaveInferenceEndpoint } from './save_inference_mappings_button'; + +interface GenericInferenceFlyoutProps extends SaveMappingOnClick { + inferenceComponent: React.ReactNode; + description: string; + service: Service; + areRequiredFieldsEmpty: boolean; + modelConfig: ModelConfig; + onInferenceEndpointChange: (inferenceId: string) => void; + inferenceEndpointError?: string; +} + +export const InferenceFlyout: React.FC = ({ + inferenceComponent, + description, + modelConfig, + onSaveInferenceEndpoint, + areRequiredFieldsEmpty = false, + service, + isCreateInferenceApiLoading, + onInferenceEndpointChange, + inferenceEndpointError, +}) => { + const [inferenceEndpointId, setInferenceEndpointId] = useState(''); + const hasError: boolean = useMemo(() => { + if (inferenceEndpointError !== undefined) { + return !isEmpty(inferenceEndpointError); + } + return false; + }, [inferenceEndpointError]); + + const onChangingInferenceEndpoint = useCallback( + (value) => { + setInferenceEndpointId(value); + onInferenceEndpointChange(value); + }, + [setInferenceEndpointId, onInferenceEndpointChange] + ); + const isSaveButtonDisabled = useMemo(() => { + return ( + isEmpty(inferenceEndpointId) || + areRequiredFieldsEmpty || + (inferenceEndpointError !== undefined && !isEmpty(inferenceEndpointError)) + ); + }, [inferenceEndpointId, areRequiredFieldsEmpty, inferenceEndpointError]); + + return ( + + + + <>{description} + + + {inferenceComponent} + + + + + + + } + helpText={i18n.translate( + 'xpack.ml.addInferenceEndpoint.elasticsearchModels.inferenceEndpointIdForm.helpText', + { + defaultMessage: 'Must be unique. Only letters and underscores are allowed.', + } + )} + isInvalid={hasError} + error={ + + } + > + onChangingInferenceEndpoint(e.target.value)} + /> + + + + + + + + + + ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/inference_flyout_wrapper.test.tsx b/x-pack/packages/ml/inference_integration_flyout/components/inference_flyout_wrapper.test.tsx new file mode 100644 index 0000000000000..d57c6ede1c19f --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/inference_flyout_wrapper.test.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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import type { InferenceFlyoutProps } from './inference_flyout_wrapper'; +import { InferenceFlyoutWrapper } from './inference_flyout_wrapper'; +import { fireEvent, render, screen } from '@testing-library/react'; +import '@testing-library/jest-dom'; +export const DEFAULT_VALUES: InferenceFlyoutProps = { + errorCallout: undefined, + nlpImportModel: '', + supportedNlpModels: '', + elserv2documentationUrl: '', + e5documentationUrl: '', + isInferenceFlyoutVisible: false, + onFlyoutClose: jest.fn(), + onSaveInferenceEndpoint: jest.fn(), + trainedModels: [], + isCreateInferenceApiLoading: false, + onInferenceEndpointChange: jest.fn(), + setInferenceEndpointError: jest.fn(), +}; +describe('', () => { + beforeEach(() => { + render(); + }); + test('inference Flyout page is loaded', async () => { + expect(screen.getByTestId('addInferenceEndpointTitle')).toBeInTheDocument(); + expect(screen.getAllByTestId('elasticsearch_modelsTab')).toHaveLength(1); + expect(screen.getAllByTestId('euiFlyoutCloseButton')).toHaveLength(1); + }); + test('can close Flyout', async () => { + const closeButton = screen.getByTestId('closeInferenceFlyout'); + fireEvent.click(closeButton); + expect(DEFAULT_VALUES.onFlyoutClose).toHaveBeenCalled(); + }); + + test('can change tab', async () => { + const connectToApi = screen.getByTestId('connect_to_apiTab'); + fireEvent.click(connectToApi); + expect( + screen.getByText('Connect to your preferred model service endpoints.') + ).toBeInTheDocument(); + + const eland = screen.getByTestId('eland_python_clientTab'); + fireEvent.click(eland); + expect(screen.getByTestId('mlElandPipInstallCodeBlock')).toBeInTheDocument(); + }); + test('Can change super select value in connect to api', async () => { + const connectToApi = screen.getByTestId('connect_to_apiTab'); + fireEvent.click(connectToApi); + expect(screen.getAllByTestId('huggingFaceUrl')).toHaveLength(1); + expect(screen.getAllByTestId('huggingFaceUrlApiKey')).toHaveLength(1); + + const superSelectButton = screen.getByText('HuggingFace'); + fireEvent.click(superSelectButton); + + expect(screen.getAllByTestId('serviceType-cohere')).toHaveLength(1); + expect(screen.getAllByTestId('serviceType-openai')).toHaveLength(1); + + const superSelectChangeModelType = screen.getByText('Open AI'); + fireEvent.click(superSelectChangeModelType); + expect(screen.getAllByTestId('openaiApiKey')).toHaveLength(1); + }); +}); +export {}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/inference_flyout_wrapper.tsx b/x-pack/packages/ml/inference_integration_flyout/components/inference_flyout_wrapper.tsx new file mode 100644 index 0000000000000..d5e17de1ef4c7 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/inference_flyout_wrapper.tsx @@ -0,0 +1,183 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useState } from 'react'; +import { + EuiFlyout, + EuiFlyoutHeader, + EuiTab, + EuiTitle, + EuiTabs, + EuiFlyoutBody, + EuiSpacer, + EuiFlyoutFooter, + EuiButtonEmpty, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import type { InferenceTaskType } from '@elastic/elasticsearch/lib/api/types'; +import type { ModelConfig, Tab } from '../types'; +import { TabType } from '../types'; +import { ElandPythonClient } from './eland_python_client'; +import { ConnectToApi } from './connect_to_api'; +import { ElasticsearchModels } from './elasticsearch_models'; +import { flyoutHeaderDescriptions } from '../lib/shared_values'; +const tabs: Tab[] = [ + { + id: TabType.elasticsearch_models, + name: i18n.translate('xpack.ml.inferenceFlyoutWrapper.elasticsearchModelsTabTitle', { + defaultMessage: 'Elasticsearch models', + }), + }, + { + id: TabType.connect_to_api, + name: i18n.translate('xpack.ml.inferenceFlyoutWrapper.connectToAPITabTitle', { + defaultMessage: 'Connect to API', + }), + }, + { + id: TabType.eland_python_client, + name: i18n.translate('xpack.ml.inferenceFlyoutWrapper.elandPythonClientTabTitle', { + defaultMessage: 'Eland Python Client', + }), + }, +]; +interface TabProps { + setActiveTab: (id: TabType) => void; + activeTab: TabType; + setInferenceEndpointError: (error: string | undefined) => void; +} +const InferenceEndpointFlyoutTabs: React.FunctionComponent = React.memo( + ({ setActiveTab, activeTab, setInferenceEndpointError }) => { + return ( + + {tabs.map((tab) => ( + { + setActiveTab(tab.id); + setInferenceEndpointError(undefined); + }} + isSelected={tab.id === activeTab} + key={tab.id} + data-test-subj={`${tab.id}Tab`} + > + {tab.name} + + ))} + + ); + } +); +export interface SaveMappingOnClick { + onSaveInferenceEndpoint: ( + inferenceId: string, + taskType: InferenceTaskType, + modelConfig: ModelConfig + ) => void; + isCreateInferenceApiLoading: boolean; +} +export interface DocumentationProps { + elserv2documentationUrl?: string; + e5documentationUrl?: string; + supportedNlpModels?: string; + nlpImportModel?: string; +} +export interface InferenceFlyoutProps extends SaveMappingOnClick, DocumentationProps { + onFlyoutClose: (value: boolean) => void; + isInferenceFlyoutVisible: boolean; + errorCallout?: JSX.Element | ''; + trainedModels: string[]; + onInferenceEndpointChange: (inferenceId: string) => void; + inferenceEndpointError?: string; + setInferenceEndpointError: (error: string | undefined) => void; +} +export const InferenceFlyoutWrapper: React.FC = ({ + onSaveInferenceEndpoint, + onFlyoutClose, + isInferenceFlyoutVisible, + e5documentationUrl = '', + elserv2documentationUrl = '', + supportedNlpModels = '', + nlpImportModel = '', + errorCallout, + trainedModels = [], + isCreateInferenceApiLoading, + onInferenceEndpointChange, + inferenceEndpointError = undefined, + setInferenceEndpointError, +}) => { + const [activeTab, setActiveTab] = useState(TabType.elasticsearch_models); + const tabToInferenceContentMap: Record = { + elasticsearch_models: ( + + ), + connect_to_api: ( + + ), + eland_python_client: ( + + ), + }; + const tabContent = tabToInferenceContentMap[activeTab]; + const content: React.ReactNode = ( + <> + {errorCallout} + + + + {tabContent} + + ); + return ( + onFlyoutClose(!isInferenceFlyoutVisible)} + data-test-subj="addInferenceEndpoint" + ownFocus + > + + +

+ +

+
+
+ {content} + + onFlyoutClose(!isInferenceFlyoutVisible)} + data-test-subj="closeInferenceFlyout" + > + {i18n.translate('xpack.ml.addInferenceEndpoint.footer.cancel', { + defaultMessage: 'Cancel', + })} + + +
+ ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/save_inference_mappings_button.tsx b/x-pack/packages/ml/inference_integration_flyout/components/save_inference_mappings_button.tsx new file mode 100644 index 0000000000000..9cf0f65a08dd4 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/save_inference_mappings_button.tsx @@ -0,0 +1,44 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { InferenceTaskType } from '@elastic/elasticsearch/lib/api/types'; +import { EuiButton } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; + +import React from 'react'; +import type { ModelConfig } from '../types'; +import type { SaveMappingOnClick } from './inference_flyout_wrapper'; + +interface SaveInferenceEndpointProps extends SaveMappingOnClick { + inferenceId: string; + taskType: InferenceTaskType; + modelConfig: ModelConfig; + isSaveButtonDisabled?: boolean; +} + +export const SaveInferenceEndpoint: React.FC = ({ + inferenceId, + taskType, + modelConfig, + onSaveInferenceEndpoint, + isSaveButtonDisabled, + isCreateInferenceApiLoading, +}) => { + return ( + onSaveInferenceEndpoint(inferenceId, taskType, modelConfig)} + type="submit" + > + {i18n.translate('xpack.ml.addInferenceEndpoint.saveInference', { + defaultMessage: 'Save Inference Endpoint', + })} + + ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/service_forms/cohere_form.tsx b/x-pack/packages/ml/inference_integration_flyout/components/service_forms/cohere_form.tsx new file mode 100644 index 0000000000000..79f489dab562a --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/service_forms/cohere_form.tsx @@ -0,0 +1,53 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import { EuiFieldPassword, EuiFieldText, EuiForm, EuiFormRow, EuiSpacer } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; + +interface CohereFormProps { + modelId: string; + setModelId: (modelId: string) => void; + apiKey: string; + setApiKey: (apiKey: string) => void; +} +export const CohereForm: React.FC = ({ + modelId, + setModelId, + apiKey, + setApiKey, +}) => { + return ( + + + + setModelId(e.target.value)} + /> + + + + setApiKey(e.target.value)} + /> + + + ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/service_forms/huggingface_form.tsx b/x-pack/packages/ml/inference_integration_flyout/components/service_forms/huggingface_form.tsx new file mode 100644 index 0000000000000..54660e871eb04 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/service_forms/huggingface_form.tsx @@ -0,0 +1,53 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import React from 'react'; +import { EuiFieldPassword, EuiFieldText, EuiForm, EuiFormRow, EuiSpacer } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +interface HuggingFaceProps { + apiKey: string; + url: string; + setApiKey: (apiKey: string) => void; + setUrl: (url: string) => void; +} +export const HuggingFaceForm: React.FC = ({ apiKey, url, setApiKey, setUrl }) => { + return ( + + + + setUrl(e.target.value)} + /> + + + + setApiKey(e.target.value)} + /> + + + ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/service_forms/openai_form.tsx b/x-pack/packages/ml/inference_integration_flyout/components/service_forms/openai_form.tsx new file mode 100644 index 0000000000000..3881e6c04dfc3 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/service_forms/openai_form.tsx @@ -0,0 +1,91 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { EuiFieldPassword, EuiFieldText, EuiForm, EuiFormRow, EuiSpacer } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React from 'react'; + +interface OpenaiFormProps { + organizationId: string; + setOrganizationId: (organizationId: string) => void; + apiKey: string; + setApiKey: (apiKey: string) => void; + endpointUrl: string; + setEndpointUrl: (endpointUrl: string) => void; + modelId: string; + setModelId: (modelId: string) => void; +} +export const OpenaiForm: React.FC = ({ + organizationId, + setOrganizationId, + apiKey, + setApiKey, + endpointUrl, + setEndpointUrl, + modelId, + setModelId, +}) => { + return ( + + + + setOrganizationId(e.target.value)} + /> + + + + setApiKey(e.target.value)} + /> + + + setEndpointUrl(e.target.value)} + /> + + + + setModelId(e.target.value)} + /> + + + ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/components/service_options.tsx b/x-pack/packages/ml/inference_integration_flyout/components/service_options.tsx new file mode 100644 index 0000000000000..60b15eeca3ae6 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/components/service_options.tsx @@ -0,0 +1,130 @@ +/* + * 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 { + EuiAccordion, + EuiDescribedFormGroup, + EuiFieldNumber, + EuiFormRow, + EuiSpacer, + EuiText, + EuiTitle, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import { FormattedMessage } from '@kbn/i18n-react'; +import React from 'react'; + +export const ServiceOptions: React.FC<{ + id: string; + setNumberOfAllocations: (value: number) => void; + numberOfAllocations: number; + setNumberOfThreads: (value: number) => void; + numberOfThreads: number; +}> = ({ id, setNumberOfAllocations, numberOfAllocations, setNumberOfThreads, numberOfThreads }) => { + return ( + +
+ {i18n.translate( + 'xpack.ml.addInferenceEndpoint.elasticsearchModels.serviceOptions.accordion.title', + { + defaultMessage: 'Service Options', + } + )} +
+ + } + > + + +
+ {i18n.translate( + 'xpack.ml.addInferenceEndpoint.elasticsearchModels.serviceOptions.allocationTitle', + { + defaultMessage: 'Allocations:', + } + )} +
+ + } + description={ + + + + } + fullWidth + > + + setNumberOfAllocations(e.target.valueAsNumber)} + aria-label={i18n.translate( + 'xpack.ml.addInferenceEndpoint.elasticsearchModels.serviceOptions.allocationNumberField.ariaLabel', + { + defaultMessage: 'Number of allocation', + } + )} + /> + +
+ + +
+ {i18n.translate( + 'xpack.ml.addInferenceEndpoint.elasticsearchModels.serviceOptions.threadsTitle', + { + defaultMessage: 'Threads:', + } + )} +
+ + } + description={ + + + + } + fullWidth + > + + setNumberOfThreads(e.target.valueAsNumber)} + aria-label={i18n.translate( + 'xpack.ml.addInferenceEndpoint.elasticsearchModels.serviceOptions.threadsNumberField.ariaLabel', + { + defaultMessage: 'Number of Threads', + } + )} + /> + +
+
+ ); +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/index.ts b/x-pack/packages/ml/inference_integration_flyout/index.ts new file mode 100644 index 0000000000000..e71bc7f788115 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/index.ts @@ -0,0 +1,10 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { InferenceFlyoutWrapper } from './components/inference_flyout_wrapper'; +export { ElandPythonClient } from './components/eland_python_client'; +export { type ModelConfig } from './types'; diff --git a/x-pack/packages/ml/inference_integration_flyout/jest.config.js b/x-pack/packages/ml/inference_integration_flyout/jest.config.js new file mode 100644 index 0000000000000..18482d601ee24 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/jest.config.js @@ -0,0 +1,12 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +module.exports = { + preset: '@kbn/test', + rootDir: '../../../..', + roots: ['/x-pack/packages/ml/inference_integration_flyout'], +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/kibana.jsonc b/x-pack/packages/ml/inference_integration_flyout/kibana.jsonc new file mode 100644 index 0000000000000..f7657078bb781 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/kibana.jsonc @@ -0,0 +1,5 @@ +{ + "type": "shared-common", + "id": "@kbn/inference_integration_flyout", + "owner": "@elastic/ml-ui" +} diff --git a/x-pack/packages/ml/inference_integration_flyout/lib/shared_values.ts b/x-pack/packages/ml/inference_integration_flyout/lib/shared_values.ts new file mode 100644 index 0000000000000..02baee3264c9e --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/lib/shared_values.ts @@ -0,0 +1,103 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { InferenceTaskType } from '@elastic/elasticsearch/lib/api/types'; +import type { EuiSuperSelectOption } from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import type { + TabType, + ElserServiceSettings, + ModelConfig, + HuggingFaceServiceSettings, + OpenaiServiceSettings, + CohereServiceSettings, +} from '../types'; +import { Service, ElasticsearchModelDefaultOptions } from '../types'; + +export const elasticsearchModelsOptions: Array< + EuiSuperSelectOption +> = [ + { + value: ElasticsearchModelDefaultOptions.elser, + inputDisplay: ElasticsearchModelDefaultOptions.elser, + 'data-test-subj': `serviceType-${ElasticsearchModelDefaultOptions.elser}`, + }, + { + value: ElasticsearchModelDefaultOptions.e5, + inputDisplay: ElasticsearchModelDefaultOptions.e5, + 'data-test-subj': `serviceType-${ElasticsearchModelDefaultOptions.e5}`, + }, +]; +export const connectToApiOptions: Array> = [ + { + value: Service.huggingFace, + inputDisplay: 'HuggingFace', + 'data-test-subj': 'serviceType-huggingFace', + }, + { + value: Service.cohere, + inputDisplay: 'Cohere', + 'data-test-subj': 'serviceType-cohere', + }, + { + value: Service.openai, + inputDisplay: 'Open AI', + 'data-test-subj': 'serviceType-openai', + }, +]; + +export const flyoutHeaderDescriptions: Record = { + elasticsearch_models: { + description: i18n.translate( + 'xpack.ml.inferenceFlyoutWrapper.addInferenceEndpoint.elasticsearchModels.FlyoutHeaderdescription', + { + defaultMessage: + 'Connect to Elastic preferred models and models hosted on your elasticsearch nodes.', + } + ), + }, + connect_to_api: { + description: i18n.translate( + 'xpack.ml.inferenceFlyoutWrapper.addInferenceEndpoint.connect_to_api.FlyoutHeaderdescription', + { + defaultMessage: 'Connect to your preferred model service endpoints.', + } + ), + }, + eland_python_client: { + description: i18n.translate( + 'xpack.ml.inferenceFlyoutWrapper.addInferenceEndpoint.eland_python_client.FlyoutHeaderdescription', + { + defaultMessage: 'Import custom models through the Elastic python client.', + } + ), + }, +}; + +export const serviceTypeMap: Record = { + [Service.cohere]: 'text_embedding', + [Service.huggingFace]: 'text_embedding', + [Service.openai]: 'text_embedding', + [Service.elasticsearch]: 'text_embedding', + [Service.elser]: 'sparse_embedding', +}; + +export const setModalConfigResponse = ( + serviceType: Service, + serviceSettings: + | ElserServiceSettings + | HuggingFaceServiceSettings + | OpenaiServiceSettings + | CohereServiceSettings +): ModelConfig => { + return { + service: serviceType, + service_settings: serviceSettings, + }; +}; +export const isEmpty = (field: string) => { + return field.trim() === ''; +}; diff --git a/x-pack/packages/ml/inference_integration_flyout/package.json b/x-pack/packages/ml/inference_integration_flyout/package.json new file mode 100644 index 0000000000000..040490b827e42 --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/package.json @@ -0,0 +1,6 @@ +{ + "name": "@kbn/inference_integration_flyout", + "private": true, + "version": "1.0.0", + "license": "Elastic License 2.0" +} \ No newline at end of file diff --git a/packages/solution-nav/analytics/tsconfig.json b/x-pack/packages/ml/inference_integration_flyout/tsconfig.json similarity index 77% rename from packages/solution-nav/analytics/tsconfig.json rename to x-pack/packages/ml/inference_integration_flyout/tsconfig.json index 8173aa127f832..eec7073523eca 100644 --- a/packages/solution-nav/analytics/tsconfig.json +++ b/x-pack/packages/ml/inference_integration_flyout/tsconfig.json @@ -1,5 +1,5 @@ { - "extends": "../../../tsconfig.base.json", + "extends": "../../../../tsconfig.base.json", "compilerOptions": { "outDir": "target/types", "types": [ @@ -17,6 +17,6 @@ ], "kbn_references": [ "@kbn/i18n", - "@kbn/core-chrome-browser", + "@kbn/i18n-react", ] } diff --git a/x-pack/packages/ml/inference_integration_flyout/types.ts b/x-pack/packages/ml/inference_integration_flyout/types.ts new file mode 100644 index 0000000000000..849706b12a84f --- /dev/null +++ b/x-pack/packages/ml/inference_integration_flyout/types.ts @@ -0,0 +1,64 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { InferenceServiceSettings } from '@elastic/elasticsearch/lib/api/types'; + +export enum TabType { + elasticsearch_models = 'elasticsearch_models', + connect_to_api = 'connect_to_api', + eland_python_client = 'eland_python_client', +} +export interface Tab { + id: TabType; + name: string; +} +export enum ElasticsearchModelDefaultOptions { + elser = '.elser_model_2', + e5 = '.multilingual-e5-small', +} +export interface ElasticsearchModelDescriptions { + title: string; + description: string; + documentation: string; +} + +export interface CohereServiceSettings { + api_key: string; + embedding_type?: string; + model_id?: string; +} +export interface ElserServiceSettings { + num_allocations: number; + num_threads: number; +} +export interface HuggingFaceServiceSettings { + api_key: string; + url: string; +} +export interface OpenaiServiceSettings { + api_key: string; + model_id?: string; + organization_id?: string; + url?: string; +} +// for E5 or a text embedding model uploaded by Eland +export interface ElasticsearchService { + model_id: string; + num_allocations: number; + num_threads: number; +} + +export enum Service { + cohere = 'cohere', + elser = 'elser', + huggingFace = 'huggingFace', + openai = 'openai', + elasticsearch = 'elasticsearch', +} +export interface ModelConfig { + service: string; + service_settings: InferenceServiceSettings; +} diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/helpers.test.tsx b/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/helpers.test.tsx index 8209e96a22ea4..673a74e357b66 100644 --- a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/helpers.test.tsx +++ b/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/helpers.test.tsx @@ -177,7 +177,7 @@ describe('helpers', () => { name: 'Result', sortable: true, truncateText: false, - width: '50px', + width: '65px', }, { field: 'indexName', name: 'Index', sortable: true, truncateText: false, width: '300px' }, { field: 'docsCount', name: 'Docs', sortable: true, truncateText: false }, diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/helpers.tsx b/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/helpers.tsx index 6af80a1e0628e..6d135477b9af3 100644 --- a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/helpers.tsx +++ b/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/helpers.tsx @@ -194,7 +194,7 @@ export const getSummaryTableColumns = ({ ), sortable: true, truncateText: false, - width: '50px', + width: '65px', }, { field: 'indexName', diff --git a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/index.tsx b/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/index.tsx index a230510029222..6379539f05096 100644 --- a/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/index.tsx +++ b/x-pack/packages/security-solution/ecs_data_quality_dashboard/impl/data_quality/data_quality_panel/summary_table/index.tsx @@ -108,7 +108,6 @@ const SummaryTableComponent: React.FC = ({ compressed={true} columns={columns} data-test-subj="summaryTable" - isExpandable={true} itemId={getItemId} itemIdToExpandedRowMap={itemIdToExpandedRowMap} items={items} diff --git a/x-pack/performance/journeys_e2e/aiops_log_rate_analysis.ts b/x-pack/performance/journeys_e2e/aiops_log_rate_analysis.ts index 06a5e01a2caf5..888a4802e6a51 100644 --- a/x-pack/performance/journeys_e2e/aiops_log_rate_analysis.ts +++ b/x-pack/performance/journeys_e2e/aiops_log_rate_analysis.ts @@ -33,8 +33,14 @@ export const journey = new Journey({ await page.waitForSelector(subj('aiopsNoWindowParametersEmptyPrompt')); }) .step('Run AIOps Log Rate Analysis', async ({ page }) => { - // Select the chart and click in the area where the spike is located to trigger log rate analysis. + // Select the chart and click in the area where the spike is located. const chart = await page.locator(subj('aiopsDocumentCountChart')); await chart.click({ position: { x: 710, y: 50 } }); + + // Click the "Run analysis" button. + await page.waitForSelector(subj('aiopsLogRateAnalysisNoAutoRunContentRunAnalysisButton')); + await page.click(subj('aiopsLogRateAnalysisNoAutoRunContentRunAnalysisButton')); + + // Wait for the analysis to complete. await page.waitForSelector(subj('aiopsAnalysisComplete'), { timeout: 120000 }); }); diff --git a/x-pack/plugins/actions/server/action_type_registry.ts b/x-pack/plugins/actions/server/action_type_registry.ts index 4e6f9aa86482d..894ef5ed9d868 100644 --- a/x-pack/plugins/actions/server/action_type_registry.ts +++ b/x-pack/plugins/actions/server/action_type_registry.ts @@ -19,6 +19,7 @@ import { ActionTypeSecrets, ActionTypeParams, } from './types'; +import { isBidirectionalConnectorType } from './lib/bidirectional_connectors'; export interface ActionTypeRegistryOpts { licensing: LicensingPluginSetup; @@ -230,8 +231,10 @@ export class ActionTypeRegistry { .filter(([_, actionType]) => featureId ? actionType.supportedFeatureIds.includes(featureId) : true ) - // Temporarily don't return SentinelOne connector for Security Solution Rule Actions - .filter(([actionTypeId]) => (featureId ? actionTypeId !== '.sentinelone' : true)) + // Temporarily don't return SentinelOne and Crowdstrike connector for Security Solution Rule Actions + .filter(([actionTypeId]) => + featureId ? !isBidirectionalConnectorType(actionTypeId) : true + ) .map(([actionTypeId, actionType]) => ({ id: actionTypeId, name: actionType.name, diff --git a/x-pack/plugins/actions/server/authorization/actions_authorization.test.ts b/x-pack/plugins/actions/server/authorization/actions_authorization.test.ts index f9f2094ba05ba..06a74c0f011fa 100644 --- a/x-pack/plugins/actions/server/authorization/actions_authorization.test.ts +++ b/x-pack/plugins/actions/server/authorization/actions_authorization.test.ts @@ -18,6 +18,7 @@ import { CONNECTORS_ADVANCED_EXECUTE_PRIVILEGE_API_TAG, CONNECTORS_BASIC_EXECUTE_PRIVILEGE_API_TAG, } from '../feature'; +import { forEach } from 'lodash'; const request = {} as KibanaRequest; @@ -237,50 +238,54 @@ describe('ensureAuthorized', () => { }); }); - test('checks SentinelOne connector privileges correctly', async () => { - const { authorization } = mockSecurity(); - const checkPrivileges: jest.MockedFunction< - ReturnType - > = jest.fn(); - - authorization.checkPrivilegesDynamicallyWithRequest.mockReturnValue(checkPrivileges); - const actionsAuthorization = new ActionsAuthorization({ - request, - authorization, - }); - - checkPrivileges.mockResolvedValueOnce({ - username: 'some-user', - hasAllRequested: true, - privileges: [ - { - privilege: mockAuthorizationAction('myType', 'execute'), - authorized: true, - }, - ], - }); - - await actionsAuthorization.ensureAuthorized({ - operation: 'execute', - actionTypeId: '.sentinelone', - }); - - expect(authorization.actions.savedObject.get).toHaveBeenCalledWith( - ACTION_SAVED_OBJECT_TYPE, - 'get' - ); - - expect(authorization.actions.savedObject.get).toHaveBeenCalledWith( - ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE, - 'create' - ); - - expect(checkPrivileges).toHaveBeenCalledWith({ - kibana: [ - mockAuthorizationAction(ACTION_SAVED_OBJECT_TYPE, 'get'), - mockAuthorizationAction(ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE, 'create'), - ADVANCED_EXECUTE_AUTHZ, - ], + describe('Bi-directional connectors', () => { + forEach(['.sentinelone', '.crowdstrike'], (actionTypeId) => { + test(`checks ${actionTypeId} connector privileges correctly`, async () => { + const { authorization } = mockSecurity(); + const checkPrivileges: jest.MockedFunction< + ReturnType + > = jest.fn(); + + authorization.checkPrivilegesDynamicallyWithRequest.mockReturnValue(checkPrivileges); + const actionsAuthorization = new ActionsAuthorization({ + request, + authorization, + }); + + checkPrivileges.mockResolvedValueOnce({ + username: 'some-user', + hasAllRequested: true, + privileges: [ + { + privilege: mockAuthorizationAction('myType', 'execute'), + authorized: true, + }, + ], + }); + + await actionsAuthorization.ensureAuthorized({ + operation: 'execute', + actionTypeId, + }); + + expect(authorization.actions.savedObject.get).toHaveBeenCalledWith( + ACTION_SAVED_OBJECT_TYPE, + 'get' + ); + + expect(authorization.actions.savedObject.get).toHaveBeenCalledWith( + ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE, + 'create' + ); + + expect(checkPrivileges).toHaveBeenCalledWith({ + kibana: [ + mockAuthorizationAction(ACTION_SAVED_OBJECT_TYPE, 'get'), + mockAuthorizationAction(ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE, 'create'), + ADVANCED_EXECUTE_AUTHZ, + ], + }); + }); }); }); }); diff --git a/x-pack/plugins/actions/server/authorization/actions_authorization.ts b/x-pack/plugins/actions/server/authorization/actions_authorization.ts index df282b95e9686..fd4477b051cf8 100644 --- a/x-pack/plugins/actions/server/authorization/actions_authorization.ts +++ b/x-pack/plugins/actions/server/authorization/actions_authorization.ts @@ -12,6 +12,7 @@ import { ACTION_SAVED_OBJECT_TYPE, ACTION_TASK_PARAMS_SAVED_OBJECT_TYPE, } from '../constants/saved_objects'; +import { isBidirectionalConnectorType } from '../lib/bidirectional_connectors'; import { AuthorizationMode } from './get_authorization_mode_by_source'; export interface ConstructorOptions { @@ -44,6 +45,7 @@ export class ActionsAuthorization { private readonly request: KibanaRequest; private readonly authorization?: SecurityPluginSetup['authz']; private readonly authorizationMode: AuthorizationMode; + constructor({ request, authorization, @@ -77,9 +79,9 @@ export class ActionsAuthorization { kibana: [ ...privileges, ...additionalPrivileges, - // SentinelOne sub-actions require that a user have `all` privilege to Actions and Connectors. + // SentinelOne and Crowdstrike sub-actions require that a user have `all` privilege to Actions and Connectors. // This is a temporary solution until a more robust RBAC approach can be implemented for sub-actions - actionTypeId === '.sentinelone' + isBidirectionalConnectorType(actionTypeId) ? 'api:actions:execute-advanced-connectors' : 'api:actions:execute-basic-connectors', ], diff --git a/x-pack/plugins/actions/server/lib/action_executor.ts b/x-pack/plugins/actions/server/lib/action_executor.ts index 58298ab7138f1..a15bd8b4c7c04 100644 --- a/x-pack/plugins/actions/server/lib/action_executor.ts +++ b/x-pack/plugins/actions/server/lib/action_executor.ts @@ -44,6 +44,7 @@ import { RelatedSavedObjects } from './related_saved_objects'; import { createActionEventLogRecordObject } from './create_action_event_log_record_object'; import { ActionExecutionError, ActionExecutionErrorReason } from './errors/action_execution_error'; import type { ActionsAuthorization } from '../authorization/actions_authorization'; +import { isBidirectionalConnectorType } from './bidirectional_connectors'; // 1,000,000 nanoseconds in 1 millisecond const Millis2Nanos = 1000 * 1000; @@ -698,8 +699,8 @@ const ensureAuthorizedToExecute = async ({ additionalPrivileges, actionTypeId, }); - } else if (actionTypeId === '.sentinelone') { - // SentinelOne sub-actions require that a user have `all` privilege to Actions and Connectors. + } else if (isBidirectionalConnectorType(actionTypeId)) { + // SentinelOne and Crowdstrike sub-actions require that a user have `all` privilege to Actions and Connectors. // This is a temporary solution until a more robust RBAC approach can be implemented for sub-actions await authorization.ensureAuthorized({ operation: 'execute', diff --git a/x-pack/plugins/actions/server/lib/bidirectional_connectors.ts b/x-pack/plugins/actions/server/lib/bidirectional_connectors.ts new file mode 100644 index 0000000000000..49d33f9d016c3 --- /dev/null +++ b/x-pack/plugins/actions/server/lib/bidirectional_connectors.ts @@ -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; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +const BIDIRECTIONAL_CONNECTOR_TYPES = ['.sentinelone', '.crowdstrike']; +export const isBidirectionalConnectorType = (type: string | undefined) => { + if (!type) { + return false; + } + + return BIDIRECTIONAL_CONNECTOR_TYPES.includes(type); +}; diff --git a/x-pack/plugins/actions/server/sub_action_framework/sub_action_connector.ts b/x-pack/plugins/actions/server/sub_action_framework/sub_action_connector.ts index 6459cd4909ff4..14e2ded5d1a38 100644 --- a/x-pack/plugins/actions/server/sub_action_framework/sub_action_connector.ts +++ b/x-pack/plugins/actions/server/sub_action_framework/sub_action_connector.ts @@ -88,7 +88,7 @@ export abstract class SubActionConnector { } private getHeaders(headers?: AxiosRequestHeaders): Record { - return { ...headers, 'Content-Type': 'application/json' }; + return { 'Content-Type': 'application/json', ...headers }; } private validateResponse(responseSchema: Type, data: unknown) { diff --git a/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.test.ts b/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.test.ts index bdc1336fc9441..6ab69bf7ccd1c 100644 --- a/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.test.ts +++ b/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.test.ts @@ -6,8 +6,7 @@ */ import type { SignificantItem } from '@kbn/ml-agg-utils'; - -import type { GroupTableItem } from '../../components/log_rate_analysis_results_table/types'; +import type { GroupTableItem } from '@kbn/aiops-components'; import { buildExtendedBaseFilterCriteria } from './build_extended_base_filter_criteria'; diff --git a/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.ts b/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.ts index 91709b9bd91a1..9d77f68cfa15b 100644 --- a/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.ts +++ b/x-pack/plugins/aiops/public/application/utils/build_extended_base_filter_criteria.ts @@ -14,8 +14,7 @@ import type { Query } from '@kbn/es-query'; import { type SignificantItem, SIGNIFICANT_ITEM_TYPE } from '@kbn/ml-agg-utils'; import { buildBaseFilterCriteria } from '@kbn/ml-query-utils'; import { getCategoryQuery } from '@kbn/aiops-log-pattern-analysis/get_category_query'; - -import type { GroupTableItem } from '../../components/log_rate_analysis_results_table/types'; +import type { GroupTableItem } from '@kbn/aiops-components'; /* * Contains utility functions for building and processing queries. diff --git a/x-pack/plugins/aiops/public/components/change_point_detection/change_points_table.tsx b/x-pack/plugins/aiops/public/components/change_point_detection/change_points_table.tsx index f42e1acc31996..308a4d8dc22b0 100644 --- a/x-pack/plugins/aiops/public/components/change_point_detection/change_points_table.tsx +++ b/x-pack/plugins/aiops/public/components/change_point_detection/change_points_table.tsx @@ -153,9 +153,7 @@ export const ChangePointsTable: FC = ({ truncateText: false, valign: 'middle', css: { - // Extra specificity needed here to override Sass styles - // TODO: Can be removed once EuiTable has been converted to Emotion - ['&.euiTableCellContent']: { display: 'block', padding: 0 }, + '.euiTableCellContent': { display: 'block', padding: 0 }, }, render: (annotation: ChangePointAnnotation) => { return ( @@ -313,7 +311,7 @@ export const ChangePointsTable: FC = ({ return ( - itemId={'id'} + itemId="id" selection={selectionValue} loading={isLoading} data-test-subj={`aiopsChangePointResultsTable ${isLoading ? 'loading' : 'loaded'}`} @@ -324,7 +322,6 @@ export const ChangePointsTable: FC = ({ } sorting={sorting} onTableChange={onTableChange} - hasActions={hasActions} rowProps={(item) => ({ 'data-test-subj': `aiopsChangePointResultsTableRow row-${item.id}`, })} diff --git a/x-pack/plugins/aiops/public/components/document_count_content/document_count_content/document_count_content.tsx b/x-pack/plugins/aiops/public/components/document_count_content/document_count_content/document_count_content.tsx index 3ccf2bbbbfd2c..6a13d705cc918 100644 --- a/x-pack/plugins/aiops/public/components/document_count_content/document_count_content/document_count_content.tsx +++ b/x-pack/plugins/aiops/public/components/document_count_content/document_count_content/document_count_content.tsx @@ -14,7 +14,10 @@ import type { } from '@elastic/charts/dist/chart_types/xy_chart/utils/specs'; import type { LogRateHistogramItem, WindowParameters } from '@kbn/aiops-log-rate-analysis'; -import { DocumentCountChart, type BrushSelectionUpdateHandler } from '@kbn/aiops-components'; +import { + DocumentCountChartWithAutoAnalysisStart, + type BrushSelectionUpdateHandler, +} from '@kbn/aiops-components'; import { useAiopsAppContext } from '../../../hooks/use_aiops_app_context'; import type { DocumentCountStats } from '../../../get_document_stats'; @@ -29,13 +32,11 @@ export interface DocumentCountContentProps { isBrushCleared: boolean; totalCount: number; sampleProbability: number; - initialAnalysisStart?: number | WindowParameters; /** Optional color override for the default bar color for charts */ barColorOverride?: string; /** Optional color override for the highlighted bar color for charts */ barHighlightColorOverride?: string; windowParameters?: WindowParameters; - incomingInitialAnalysisStart?: number | WindowParameters; baselineLabel?: string; deviationLabel?: string; barStyleAccessor?: BarStyleAccessor; @@ -51,11 +52,9 @@ export const DocumentCountContent: FC = ({ isBrushCleared, totalCount, sampleProbability, - initialAnalysisStart, barColorOverride, barHighlightColorOverride, windowParameters, - incomingInitialAnalysisStart, ...docCountChartProps }) => { const { data, uiSettings, fieldFormats, charts } = useAiopsAppContext(); @@ -100,7 +99,7 @@ export const DocumentCountContent: FC = ({ {documentCountStats.interval !== undefined && ( - = ({ interval={documentCountStats.interval} chartPointsSplitLabel={documentCountStatsSplitLabel} isBrushCleared={isBrushCleared} - autoAnalysisStart={initialAnalysisStart} barColorOverride={barColorOverride} barHighlightColorOverride={barHighlightColorOverride} changePoint={documentCountStats.changePoint} diff --git a/x-pack/plugins/aiops/public/components/log_categorization/category_table/category_table.tsx b/x-pack/plugins/aiops/public/components/log_categorization/category_table/category_table.tsx index a8bf7d04298e1..fc2d4b559e859 100644 --- a/x-pack/plugins/aiops/public/components/log_categorization/category_table/category_table.tsx +++ b/x-pack/plugins/aiops/public/components/log_categorization/category_table/category_table.tsx @@ -317,14 +317,12 @@ export const CategoryTable: FC = ({ compressed items={categories} columns={columns} - isSelectable={true} selection={selectionValue} itemId="key" onTableChange={onTableChange} pagination={pagination} sorting={sorting} data-test-subj="aiopsLogPatternsTable" - isExpandable={true} itemIdToExpandedRowMap={itemIdToExpandedRowMap} rowProps={(category) => { return enableRowActions diff --git a/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_for_flyout.tsx b/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_for_flyout.tsx index 31a34e0e3655a..b4bcf95129b2b 100644 --- a/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_for_flyout.tsx +++ b/x-pack/plugins/aiops/public/components/log_categorization/log_categorization_for_flyout.tsx @@ -47,7 +47,6 @@ import type { EventRate } from './use_categorize_request'; import { CategoryTable } from './category_table'; import { InformationText } from './information_text'; import { SamplingMenu } from './sampling_menu'; -import { TechnicalPreviewBadge } from './technical_preview_badge'; import { LoadingCategorization } from './loading_categorization'; import { useValidateFieldRequest } from './use_validate_category_field'; import { FieldValidationCallout } from './category_validation_callout'; @@ -296,9 +295,6 @@ export const LogCategorizationFlyout: FC = ({ - - - forceRefresh()} /> diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_app_state.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_app_state.tsx index 7de8b5f91d61e..ca06d3c7c9b37 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_app_state.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_app_state.tsx @@ -17,13 +17,12 @@ import { Storage } from '@kbn/kibana-utils-plugin/public'; import { DatePickerContextProvider, type DatePickerDependencies } from '@kbn/ml-date-picker'; import { UI_SETTINGS } from '@kbn/data-plugin/common'; +import { LogRateAnalysisStateProvider } from '@kbn/aiops-components'; import type { AiopsAppDependencies } from '../../hooks/use_aiops_app_context'; import { AiopsAppContext } from '../../hooks/use_aiops_app_context'; import { DataSourceContext } from '../../hooks/use_data_source'; import { AIOPS_STORAGE_KEYS } from '../../types/storage'; -import { LogRateAnalysisResultsTableRowStateProvider } from '../log_rate_analysis_results_table/log_rate_analysis_results_table_row_provider'; - import { LogRateAnalysisPage } from './log_rate_analysis_page'; import { timeSeriesDataViewWarning } from '../../application/utils/time_series_dataview_check'; @@ -70,13 +69,13 @@ export const LogRateAnalysisAppState: FC = ({ - + - + diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_content/log_rate_analysis_content.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_content/log_rate_analysis_content.tsx index abcffc3ebe86d..b244cbc324d17 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_content/log_rate_analysis_content.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_content/log_rate_analysis_content.tsx @@ -26,6 +26,7 @@ import { type WindowParameters, } from '@kbn/aiops-log-rate-analysis'; import type { SignificantItem } from '@kbn/ml-agg-utils'; +import { useLogRateAnalysisStateContext, type GroupTableItem } from '@kbn/aiops-components'; import { useData } from '../../../hooks/use_data'; @@ -34,8 +35,6 @@ import { LogRateAnalysisResults, type LogRateAnalysisResultsData, } from '../log_rate_analysis_results'; -import type { GroupTableItem } from '../../log_rate_analysis_results_table/types'; -import { useLogRateAnalysisResultsTableRowContext } from '../../log_rate_analysis_results_table/log_rate_analysis_results_table_row_provider'; const DEFAULT_SEARCH_QUERY: estypes.QueryDslQueryContainer = { match_all: {} }; const DEFAULT_SEARCH_BAR_QUERY: estypes.QueryDslQueryContainer = { @@ -66,8 +65,6 @@ export function getDocumentCountStatsSplitLabel( export interface LogRateAnalysisContentProps { /** The data view to analyze. */ dataView: DataView; - /** Timestamp for the start of the range for initial analysis */ - initialAnalysisStart?: number | WindowParameters; timeRange?: { min: Moment; max: Moment }; /** Elasticsearch query to pass to analysis endpoint */ esSearchQuery?: estypes.QueryDslQueryContainer; @@ -87,7 +84,6 @@ export interface LogRateAnalysisContentProps { export const LogRateAnalysisContent: FC = ({ dataView, - initialAnalysisStart: incomingInitialAnalysisStart, timeRange, esSearchQuery = DEFAULT_SEARCH_QUERY, stickyHistogram, @@ -98,9 +94,6 @@ export const LogRateAnalysisContent: FC = ({ embeddingOrigin, }) => { const [windowParameters, setWindowParameters] = useState(); - const [initialAnalysisStart, setInitialAnalysisStart] = useState< - number | WindowParameters | undefined - >(incomingInitialAnalysisStart); const [isBrushCleared, setIsBrushCleared] = useState(true); const [logRateAnalysisType, setLogRateAnalysisType] = useState( LOG_RATE_ANALYSIS_TYPE.SPIKE @@ -140,13 +133,16 @@ export const LogRateAnalysisContent: FC = ({ ); const { + autoRunAnalysis, currentSelectedSignificantItem, currentSelectedGroup, + setAutoRunAnalysis, + setInitialAnalysisStart, setPinnedSignificantItem, setPinnedGroup, setSelectedSignificantItem, setSelectedGroup, - } = useLogRateAnalysisResultsTableRowContext(); + } = useLogRateAnalysisStateContext(); const { documentStats, earliest, latest } = useData( dataView, @@ -206,7 +202,11 @@ export const LogRateAnalysisContent: FC = ({ } : undefined; - const triggerAnalysis = useCallback(() => { + const triggerAnalysisForManualSelection = useCallback(() => { + setAutoRunAnalysis(true); + }, [setAutoRunAnalysis]); + + const triggerAnalysisForChangePoint = useCallback(() => { if (documentCountStats) { const { interval, timeRangeEarliest, timeRangeLatest, changePoint } = documentCountStats; @@ -222,14 +222,37 @@ export const LogRateAnalysisContent: FC = ({ const snapTimestamps = getSnappedTimestamps(timeRangeEarliest, timeRangeLatest, interval); const wpSnap = getSnappedWindowParameters(wp, snapTimestamps); + triggerAnalysisForManualSelection(); setInitialAnalysisStart(wpSnap); } } - }, [documentCountStats]); + }, [documentCountStats, setInitialAnalysisStart, triggerAnalysisForManualSelection]); + + const showDocumentCountContent = documentCountStats !== undefined; + + const showLogRateAnalysisResults = + autoRunAnalysis && + earliest !== undefined && + latest !== undefined && + windowParameters !== undefined; + + const showNoAutoRunEmptyPrompt = + !autoRunAnalysis && + earliest !== undefined && + latest !== undefined && + windowParameters !== undefined; + + const showSpikeDetectedEmptyPrompt = + windowParameters === undefined && documentCountStats?.changePoint; + + const showDefaultEmptyPrompt = + windowParameters === undefined && documentCountStats?.changePoint === undefined; + + const changePointType = documentCountStats?.changePoint?.type; return ( - {documentCountStats !== undefined && ( + {showDocumentCountContent && ( = ({ isBrushCleared={isBrushCleared} totalCount={totalCount} sampleProbability={sampleProbability} - initialAnalysisStart={initialAnalysisStart} barColorOverride={barColorOverride} barHighlightColorOverride={barHighlightColorOverride} barStyleAccessor={barStyleAccessor} /> )} - {earliest !== undefined && latest !== undefined && windowParameters !== undefined && ( + {showLogRateAnalysisResults && ( = ({ embeddingOrigin={embeddingOrigin} /> )} - {windowParameters === undefined && documentCountStats?.changePoint && ( + {showNoAutoRunEmptyPrompt && ( + +

+ +

+ + + {' '} + clearSelection()} + color="text" + > + + + + } + data-test-subj="aiopsChangePointDetectedPrompt" + /> + )} + {showSpikeDetectedEmptyPrompt && ( = ({ css={{ minWidth: '100%' }} title={

- {documentCountStats?.changePoint.type === LOG_RATE_ANALYSIS_TYPE.SPIKE && ( + {changePointType === LOG_RATE_ANALYSIS_TYPE.SPIKE && ( )} - {documentCountStats?.changePoint.type === LOG_RATE_ANALYSIS_TYPE.DIP && ( + {changePointType === LOG_RATE_ANALYSIS_TYPE.DIP && ( )} - {documentCountStats?.changePoint.type !== LOG_RATE_ANALYSIS_TYPE.SPIKE && - documentCountStats?.changePoint.type !== LOG_RATE_ANALYSIS_TYPE.DIP && ( + {changePointType !== LOG_RATE_ANALYSIS_TYPE.SPIKE && + changePointType !== LOG_RATE_ANALYSIS_TYPE.DIP && ( = ({

= ({ data-test-subj="aiopsChangePointDetectedPrompt" /> )} - {windowParameters === undefined && documentCountStats?.changePoint === undefined && ( + {showDefaultEmptyPrompt && ( = ({

} diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_content/log_rate_analysis_content_wrapper.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_content/log_rate_analysis_content_wrapper.tsx index 8655256b4da8d..524780d16c201 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_content/log_rate_analysis_content_wrapper.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_content/log_rate_analysis_content_wrapper.tsx @@ -18,13 +18,13 @@ import { UrlStateProvider } from '@kbn/ml-url-state'; import { Storage } from '@kbn/kibana-utils-plugin/public'; import { DatePickerContextProvider } from '@kbn/ml-date-picker'; import { UI_SETTINGS } from '@kbn/data-plugin/common'; +import { LogRateAnalysisStateProvider } from '@kbn/aiops-components'; import { timeSeriesDataViewWarning } from '../../../application/utils/time_series_dataview_check'; import { AiopsAppContext, type AiopsAppDependencies } from '../../../hooks/use_aiops_app_context'; import { DataSourceContext } from '../../../hooks/use_data_source'; import { AIOPS_STORAGE_KEYS } from '../../../types/storage'; -import { LogRateAnalysisResultsTableRowStateProvider } from '../../log_rate_analysis_results_table/log_rate_analysis_results_table_row_provider'; import { LogRateAnalysisContent } from './log_rate_analysis_content'; import type { LogRateAnalysisResultsData } from '../log_rate_analysis_results'; @@ -92,12 +92,11 @@ export const LogRateAnalysisContentWrapper: FC - + - + diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_page.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_page.tsx index 90227fd7915a0..254d58c93675a 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_page.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis/log_rate_analysis_page.tsx @@ -18,6 +18,7 @@ import { useUrlState, usePageUrlState } from '@kbn/ml-url-state'; import type { SearchQueryLanguage } from '@kbn/ml-query-utils'; import type { WindowParameters } from '@kbn/aiops-log-rate-analysis'; import { AIOPS_TELEMETRY_ID } from '@kbn/aiops-common/constants'; +import { useLogRateAnalysisStateContext } from '@kbn/aiops-components'; import { useDataSource } from '../../hooks/use_data_source'; import { useAiopsAppContext } from '../../hooks/use_aiops_app_context'; @@ -31,7 +32,6 @@ import { } from '../../application/url_state/log_rate_analysis'; import { SearchPanel } from '../search_panel'; -import { useLogRateAnalysisResultsTableRowContext } from '../log_rate_analysis_results_table/log_rate_analysis_results_table_row_provider'; import { PageHeader } from '../page_header'; import { LogRateAnalysisContent } from './log_rate_analysis_content/log_rate_analysis_content'; @@ -43,8 +43,8 @@ export const LogRateAnalysisPage: FC = ({ stickyHistogram }) => { const { data: dataService } = useAiopsAppContext(); const { dataView, savedSearch } = useDataSource(); - const { currentSelectedSignificantItem, currentSelectedGroup } = - useLogRateAnalysisResultsTableRowContext(); + const { currentSelectedSignificantItem, currentSelectedGroup, setInitialAnalysisStart } = + useLogRateAnalysisStateContext(); const [stateFromUrl, setUrlState] = usePageUrlState( 'logRateAnalysis', @@ -142,6 +142,14 @@ export const LogRateAnalysisPage: FC = ({ stickyHistogram }) => { }); }, [dataService, searchQueryLanguage, searchString]); + useEffect( + () => { + setInitialAnalysisStart(appStateToWindowParameters(stateFromUrl.wp)); + }, + // eslint-disable-next-line react-hooks/exhaustive-deps + [] + ); + const onWindowParametersHandler = (wp?: WindowParameters, replace = false) => { if (!isEqual(windowParametersToAppState(wp), stateFromUrl.wp)) { setUrlState( @@ -169,7 +177,6 @@ export const LogRateAnalysisPage: FC = ({ stickyHistogram }) => { /> = ({ // to be able to track it across rerenders. const analysisStartTime = useRef(window.performance.now()); - const { clearAllRowState } = useLogRateAnalysisResultsTableRowContext(); + const { clearAllRowState } = useLogRateAnalysisStateContext(); const [currentAnalysisType, setCurrentAnalysisType] = useState(); const [currentAnalysisWindowParameters, setCurrentAnalysisWindowParameters] = useState< diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/get_group_table_items.ts b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/get_group_table_items.ts index 6767b82444946..c33713e111f02 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/get_group_table_items.ts +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/get_group_table_items.ts @@ -8,8 +8,7 @@ import { sortBy } from 'lodash'; import type { SignificantItemGroup } from '@kbn/ml-agg-utils'; - -import type { GroupTableItem, GroupTableItemGroup } from './types'; +import type { GroupTableItem, GroupTableItemGroup } from '@kbn/aiops-components'; export function getGroupTableItems( significantItemsGroups: SignificantItemGroup[] diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/get_table_item_as_kql.ts b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/get_table_item_as_kql.ts index 97717d43cb121..6ac66468b658e 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/get_table_item_as_kql.ts +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/get_table_item_as_kql.ts @@ -7,8 +7,7 @@ import { escapeKuery, escapeQuotes } from '@kbn/es-query'; import { isSignificantItem, type SignificantItem } from '@kbn/ml-agg-utils'; - -import type { GroupTableItem } from './types'; +import type { GroupTableItem } from '@kbn/aiops-components'; export const getTableItemAsKQL = (tableItem: GroupTableItem | SignificantItem) => { if (isSignificantItem(tableItem)) { diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table.tsx index e19663e064d63..ff683855f6d38 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table.tsx @@ -32,13 +32,13 @@ import type { TimeRange as TimeRangeMs } from '@kbn/ml-date-picker'; import { getCategoryQuery } from '@kbn/aiops-log-pattern-analysis/get_category_query'; +import { useLogRateAnalysisStateContext } from '@kbn/aiops-components'; import { useEuiTheme } from '../../hooks/use_eui_theme'; import { MiniHistogram } from '../mini_histogram'; import { useAiopsAppContext } from '../../hooks/use_aiops_app_context'; import { getFailedTransactionsCorrelationImpactLabel } from './get_failed_transactions_correlation_impact_label'; -import { useLogRateAnalysisResultsTableRowContext } from './log_rate_analysis_results_table_row_provider'; import { FieldStatsPopover } from '../field_stats_popover'; import { useCopyToClipboardAction } from './use_copy_to_clipboard_action'; import { useViewInDiscoverAction } from './use_view_in_discover_action'; @@ -93,7 +93,7 @@ export const LogRateAnalysisResultsTable: FC = selectedSignificantItem, setPinnedSignificantItem, setSelectedSignificantItem, - } = useLogRateAnalysisResultsTableRowContext(); + } = useLogRateAnalysisStateContext(); const [pageIndex, setPageIndex] = useState(0); const [pageSize, setPageSize] = useState(10); diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table_groups.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table_groups.tsx index cf3afc2720665..aefe170fc4b5b 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table_groups.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/log_rate_analysis_results_table_groups.tsx @@ -32,13 +32,12 @@ import type { SignificantItem } from '@kbn/ml-agg-utils'; import type { TimeRange as TimeRangeMs } from '@kbn/ml-date-picker'; import type { DataView } from '@kbn/data-views-plugin/public'; import { stringHash } from '@kbn/ml-string-hash'; +import { useLogRateAnalysisStateContext, type GroupTableItem } from '@kbn/aiops-components'; import { MiniHistogram } from '../mini_histogram'; import { getFailedTransactionsCorrelationImpactLabel } from './get_failed_transactions_correlation_impact_label'; import { LogRateAnalysisResultsTable } from './log_rate_analysis_results_table'; -import { useLogRateAnalysisResultsTableRowContext } from './log_rate_analysis_results_table_row_provider'; -import type { GroupTableItem } from './types'; import { useCopyToClipboardAction } from './use_copy_to_clipboard_action'; import { useViewInDiscoverAction } from './use_view_in_discover_action'; import { useViewInLogPatternAnalysisAction } from './use_view_in_log_pattern_analysis_action'; @@ -97,7 +96,7 @@ export const LogRateAnalysisResultsGroupsTable: FC { diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_copy_to_clipboard_action.test.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_copy_to_clipboard_action.test.tsx index 8e3b68f4ec279..c110e8b2d56c8 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_copy_to_clipboard_action.test.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_copy_to_clipboard_action.test.tsx @@ -14,10 +14,10 @@ import type { SignificantItem } from '@kbn/ml-agg-utils'; import { finalSignificantItemGroups } from '@kbn/aiops-test-utils/artificial_logs/final_significant_item_groups'; import { significantTerms } from '@kbn/aiops-test-utils/artificial_logs/significant_terms'; +import type { GroupTableItem } from '@kbn/aiops-components'; import { getGroupTableItems } from './get_group_table_items'; import { useCopyToClipboardAction } from './use_copy_to_clipboard_action'; -import type { GroupTableItem } from './types'; interface Action { render: (tableItem: SignificantItem | GroupTableItem) => ReactElement; diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_copy_to_clipboard_action.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_copy_to_clipboard_action.tsx index b7dc328f1a468..403adfdbf070a 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_copy_to_clipboard_action.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_copy_to_clipboard_action.tsx @@ -11,10 +11,10 @@ import { EuiCopy, EuiToolTip } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; import { isSignificantItem, type SignificantItem } from '@kbn/ml-agg-utils'; +import type { GroupTableItem, TableItemAction } from '@kbn/aiops-components'; import { TableActionButton } from './table_action_button'; import { getTableItemAsKQL } from './get_table_item_as_kql'; -import type { GroupTableItem, TableItemAction } from './types'; const copyToClipboardButtonLabel = i18n.translate( 'xpack.aiops.logRateAnalysis.resultsTable.linksMenu.copyToClipboardButtonLabel', diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_view_in_discover_action.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_view_in_discover_action.tsx index 7f467ded4c24b..7f657617517af 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_view_in_discover_action.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_view_in_discover_action.tsx @@ -9,13 +9,13 @@ import React, { useMemo } from 'react'; import { i18n } from '@kbn/i18n'; import type { SignificantItem } from '@kbn/ml-agg-utils'; - import { SEARCH_QUERY_LANGUAGE } from '@kbn/ml-query-utils'; +import type { GroupTableItem, TableItemAction } from '@kbn/aiops-components'; + import { useAiopsAppContext } from '../../hooks/use_aiops_app_context'; import { TableActionButton } from './table_action_button'; import { getTableItemAsKQL } from './get_table_item_as_kql'; -import type { GroupTableItem, TableItemAction } from './types'; const viewInDiscoverMessage = i18n.translate( 'xpack.aiops.logRateAnalysis.resultsTable.linksMenu.viewInDiscover', diff --git a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_view_in_log_pattern_analysis_action.tsx b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_view_in_log_pattern_analysis_action.tsx index 3f75654d4280e..6c29ee4607d60 100644 --- a/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_view_in_log_pattern_analysis_action.tsx +++ b/x-pack/plugins/aiops/public/components/log_rate_analysis_results_table/use_view_in_log_pattern_analysis_action.tsx @@ -11,13 +11,13 @@ import type { SerializableRecord } from '@kbn/utility-types'; import { fromKueryExpression, toElasticsearchQuery } from '@kbn/es-query'; import { i18n } from '@kbn/i18n'; import { isSignificantItem, type SignificantItem, SIGNIFICANT_ITEM_TYPE } from '@kbn/ml-agg-utils'; +import type { GroupTableItem, TableItemAction } from '@kbn/aiops-components'; import { SEARCH_QUERY_LANGUAGE } from '@kbn/ml-query-utils'; import { useAiopsAppContext } from '../../hooks/use_aiops_app_context'; import { TableActionButton } from './table_action_button'; import { getTableItemAsKQL } from './get_table_item_as_kql'; -import type { GroupTableItem, TableItemAction } from './types'; const isLogPattern = (tableItem: SignificantItem | GroupTableItem) => isSignificantItem(tableItem) && tableItem.type === SIGNIFICANT_ITEM_TYPE.LOG_PATTERN; diff --git a/x-pack/plugins/aiops/public/get_document_stats.ts b/x-pack/plugins/aiops/public/get_document_stats.ts index f693dc8f67517..0846565cc1890 100644 --- a/x-pack/plugins/aiops/public/get_document_stats.ts +++ b/x-pack/plugins/aiops/public/get_document_stats.ts @@ -18,9 +18,9 @@ import { isPopulatedObject } from '@kbn/ml-is-populated-object'; import type { SignificantItem } from '@kbn/ml-agg-utils'; import type { Query } from '@kbn/es-query'; import type { RandomSamplerWrapper } from '@kbn/ml-random-sampler-utils'; +import type { GroupTableItem } from '@kbn/aiops-components'; import { buildExtendedBaseFilterCriteria } from './application/utils/build_extended_base_filter_criteria'; -import type { GroupTableItem } from './components/log_rate_analysis_results_table/types'; export interface DocumentCountStats { interval?: number; diff --git a/x-pack/plugins/aiops/public/hooks/use_data.ts b/x-pack/plugins/aiops/public/hooks/use_data.ts index 64cb69f2dcdd9..9986a4d65dd70 100644 --- a/x-pack/plugins/aiops/public/hooks/use_data.ts +++ b/x-pack/plugins/aiops/public/hooks/use_data.ts @@ -18,9 +18,9 @@ import type { Dictionary } from '@kbn/ml-url-state'; import { mlTimefilterRefresh$, useTimefilter } from '@kbn/ml-date-picker'; import { useTimeBuckets } from '@kbn/ml-time-buckets'; import { AIOPS_PLUGIN_ID } from '@kbn/aiops-common/constants'; +import type { GroupTableItem } from '@kbn/aiops-components'; import type { DocumentStatsSearchStrategyParams } from '../get_document_stats'; -import type { GroupTableItem } from '../components/log_rate_analysis_results_table/types'; import { useAiopsAppContext } from './use_aiops_app_context'; diff --git a/x-pack/plugins/alerting/public/pages/maintenance_windows/components/maintenance_windows_list.tsx b/x-pack/plugins/alerting/public/pages/maintenance_windows/components/maintenance_windows_list.tsx index 0abd1c4e1863c..dd396057e3724 100644 --- a/x-pack/plugins/alerting/public/pages/maintenance_windows/components/maintenance_windows_list.tsx +++ b/x-pack/plugins/alerting/public/pages/maintenance_windows/components/maintenance_windows_list.tsx @@ -191,7 +191,6 @@ export const MaintenanceWindowsList = React.memo( sorting={sorting} rowProps={rowProps} search={search} - hasActions={true} /> ); } diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts index 60e0889d9aec6..36dc3761185ff 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.test.ts @@ -764,7 +764,7 @@ describe('Alerts Client', () => { expect(spy).toHaveBeenCalledTimes(2); expect(spy).toHaveBeenNthCalledWith(1, 'active'); - expect(spy).toHaveBeenNthCalledWith(2, 'recovered'); + expect(spy).toHaveBeenNthCalledWith(2, 'recoveredCurrent'); expect(logger.error).toHaveBeenCalledWith( "Error writing alert(2) to .alerts-test.alerts-default - alert(2) doesn't exist in active alerts" diff --git a/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts b/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts index 4fab0825354b7..ff656f64be4e4 100644 --- a/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts +++ b/x-pack/plugins/alerting/server/alerts_client/alerts_client.ts @@ -413,7 +413,7 @@ export class AlertsClient< this.legacyAlertsClient.getAlertsToSerialize(false); const activeAlerts = this.legacyAlertsClient.getProcessedAlerts('active'); - const recoveredAlerts = this.legacyAlertsClient.getProcessedAlerts('recovered'); + const currentRecoveredAlerts = this.legacyAlertsClient.getProcessedAlerts('recoveredCurrent'); // TODO - Lifecycle alerts set some other fields based on alert status // Example: workflow status - default to 'open' if not set @@ -478,7 +478,7 @@ export class AlertsClient< // If there is not, log an error because there should be if (this.fetchedAlerts.data.hasOwnProperty(id)) { recoveredAlertsToIndex.push( - recoveredAlerts[id] + currentRecoveredAlerts[id] ? buildRecoveredAlert< AlertData, LegacyState, @@ -487,7 +487,7 @@ export class AlertsClient< RecoveryActionGroupId >({ alert: this.fetchedAlerts.data[id], - legacyAlert: recoveredAlerts[id], + legacyAlert: currentRecoveredAlerts[id], rule: this.rule, timestamp: currentTime, payload: this.reportedAlerts[id], @@ -503,7 +503,7 @@ export class AlertsClient< ); } else { this.options.logger.debug( - `Could not find alert document to update for recovered alert with id ${id} and uuid ${recoveredAlerts[ + `Could not find alert document to update for recovered alert with id ${id} and uuid ${currentRecoveredAlerts[ id ].getUuid()}` ); diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/build_updated_recovered_alert.test.ts b/x-pack/plugins/alerting/server/alerts_client/lib/build_updated_recovered_alert.test.ts index 1c646f08d7828..93ea493bee9cc 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/build_updated_recovered_alert.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/build_updated_recovered_alert.test.ts @@ -25,6 +25,7 @@ import { VERSION, ALERT_TIME_RANGE, ALERT_END, + ALERT_CONSECUTIVE_MATCHES, } from '@kbn/rule-data-utils'; import { alertRule, @@ -76,6 +77,7 @@ describe('buildUpdatedRecoveredAlert', () => { [SPACE_IDS]: ['default'], [VERSION]: '8.8.1', [TAGS]: ['rule-', '-tags'], + [ALERT_CONSECUTIVE_MATCHES]: 0, }); }); @@ -125,6 +127,7 @@ describe('buildUpdatedRecoveredAlert', () => { lte: '2023-03-30T12:27:28.159Z', }, uuid: 'abcdefg', + consecutive_matches: 0, }, version: '8.8.1', }, diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/build_updated_recovered_alert.ts b/x-pack/plugins/alerting/server/alerts_client/lib/build_updated_recovered_alert.ts index 59c9a5cb35874..e02999eac950d 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/build_updated_recovered_alert.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/build_updated_recovered_alert.ts @@ -7,8 +7,14 @@ import deepmerge from 'deepmerge'; import type { Alert } from '@kbn/alerts-as-data-utils'; -import { ALERT_FLAPPING, ALERT_FLAPPING_HISTORY, TIMESTAMP } from '@kbn/rule-data-utils'; +import { + ALERT_FLAPPING, + ALERT_FLAPPING_HISTORY, + ALERT_RULE_EXECUTION_UUID, + TIMESTAMP, +} from '@kbn/rule-data-utils'; import { RawAlertInstance } from '@kbn/alerting-state-types'; +import { get } from 'lodash'; import { RuleAlertData } from '../../types'; import { AlertRule } from '../types'; import { removeUnflattenedFieldsFromAlert, replaceRefreshableAlertFields } from './format_alert'; @@ -31,7 +37,7 @@ export const buildUpdatedRecoveredAlert = ({ rule, timestamp, }: BuildUpdatedRecoveredAlertOpts): Alert & AlertData => { - // Make sure that any alert fields that are updateable are flattened. + // Make sure that any alert fields that are updatable are flattened. const refreshableAlertFields = replaceRefreshableAlertFields(alert); const alertUpdates = { @@ -43,6 +49,10 @@ export const buildUpdatedRecoveredAlert = ({ [ALERT_FLAPPING]: legacyRawAlert.meta?.flapping, // Set latest flapping history [ALERT_FLAPPING_HISTORY]: legacyRawAlert.meta?.flappingHistory, + // For an "ongoing recovered" alert, we do not want to update the execution UUID to the current one so it does + // not get returned for summary alerts. In the future, we may want to restore this and add another field to the + // alert doc indicating that this is an ongoing recovered alert that can be used for querying. + [ALERT_RULE_EXECUTION_UUID]: get(alert, ALERT_RULE_EXECUTION_UUID), }; // Clean the existing alert document so any nested fields that will be updated diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/format_alert.test.ts b/x-pack/plugins/alerting/server/alerts_client/lib/format_alert.test.ts index a96cfb715d559..b39dc744d41a7 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/format_alert.test.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/format_alert.test.ts @@ -254,4 +254,20 @@ describe('compactObject', () => { expect( compactObject({ 'kibana.alert.rule.execution': {}, 'kibana.alert.nested_field': ['a', 'b'] }) ).toEqual({ 'kibana.alert.nested_field': ['a', 'b'] }); + + test('should not filter out the fileds with primitive values', () => { + expect( + compactObject({ + 'kibana.alert.rule.execution': 1, + 'kibana.alert.rule.zero': 0, + 'kibana.alert.bool_field': false, + 'kibana.alert.null_field': null, + }) + ).toEqual({ + 'kibana.alert.rule.execution': 1, + 'kibana.alert.rule.zero': 0, + 'kibana.alert.bool_field': false, + 'kibana.alert.null_field': null, + }); + }); }); diff --git a/x-pack/plugins/alerting/server/alerts_client/lib/format_alert.ts b/x-pack/plugins/alerting/server/alerts_client/lib/format_alert.ts index a81bdb35ce175..45043bf334be6 100644 --- a/x-pack/plugins/alerting/server/alerts_client/lib/format_alert.ts +++ b/x-pack/plugins/alerting/server/alerts_client/lib/format_alert.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { cloneDeep, get, isEmpty, merge, omit } from 'lodash'; +import { cloneDeep, get, isEmpty, isNull, isUndefined, merge, omit } from 'lodash'; import type { Alert } from '@kbn/alerts-as-data-utils'; import { RuleAlertData } from '../../types'; import { REFRESH_FIELDS_ALL } from './alert_conflict_resolver'; @@ -35,15 +35,17 @@ export const compactObject = (obj: Obj) => { // just filter out empty objects // keep any primitives or arrays, even empty arrays return ( - !!obj[key] && + !isUndefined(obj[key]) && (Array.isArray(obj[key]) || typeof obj[key] !== 'object' || - (typeof obj[key] === 'object' && !isEmpty(obj[key]))) + (typeof obj[key] === 'object' && (!isEmpty(obj[key]) || obj[key] === null))) ); }) .reduce((acc, curr) => { if (typeof obj[curr] !== 'object' || Array.isArray(obj[curr])) { acc[curr] = obj[curr]; + } else if (isNull(obj[curr])) { + acc[curr] = null; } else { const compacted = compactObject(obj[curr] as Obj); if (!isEmpty(compacted)) { diff --git a/x-pack/plugins/banners/kibana.jsonc b/x-pack/plugins/banners/kibana.jsonc index ffd3ced829961..75d275a6bde4a 100644 --- a/x-pack/plugins/banners/kibana.jsonc +++ b/x-pack/plugins/banners/kibana.jsonc @@ -17,8 +17,6 @@ "optionalPlugins": [ "screenshotMode" ], - "requiredBundles": [ - "kibanaReact" - ] + "requiredBundles": [] } } diff --git a/x-pack/plugins/banners/public/plugin.tsx b/x-pack/plugins/banners/public/plugin.tsx index 8d6d90e088a99..94c7d6c074379 100644 --- a/x-pack/plugins/banners/public/plugin.tsx +++ b/x-pack/plugins/banners/public/plugin.tsx @@ -7,20 +7,20 @@ import React from 'react'; import { CoreSetup, CoreStart, Plugin, PluginInitializerContext } from '@kbn/core/public'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { Banner } from './components'; import { getBannerInfo } from './get_banner_info'; import { BannerPluginStartDependencies } from './types'; export class BannersPlugin implements Plugin<{}, {}, {}, BannerPluginStartDependencies> { - constructor(context: PluginInitializerContext) {} + constructor(_context: PluginInitializerContext) {} setup({}: CoreSetup<{}, {}>) { return {}; } start( - { chrome, uiSettings, http }: CoreStart, + { chrome, http, ...startServices }: CoreStart, { screenshotMode }: BannerPluginStartDependencies ) { if (!(screenshotMode?.isScreenshotMode() ?? false)) { @@ -28,7 +28,7 @@ export class BannersPlugin implements Plugin<{}, {}, {}, BannerPluginStartDepend ({ allowed, banner }) => { if (allowed && banner.placement === 'top') { chrome.setHeaderBanner({ - content: toMountPoint(), + content: toMountPoint(, startServices), }); } }, diff --git a/x-pack/plugins/banners/tsconfig.json b/x-pack/plugins/banners/tsconfig.json index 019a4ebd7da88..978c977d0fe2c 100644 --- a/x-pack/plugins/banners/tsconfig.json +++ b/x-pack/plugins/banners/tsconfig.json @@ -6,12 +6,12 @@ "include": ["public/**/*", "server/**/*", "common/**/*", "../../../typings/**/*"], "kbn_references": [ "@kbn/core", - "@kbn/kibana-react-plugin", "@kbn/screenshot-mode-plugin", "@kbn/licensing-plugin", "@kbn/config-schema", "@kbn/i18n", "@kbn/shared-ux-markdown", + "@kbn/react-kibana-mount", ], "exclude": [ "target/**/*", diff --git a/x-pack/plugins/canvas/.prettierrc b/x-pack/plugins/canvas/.prettierrc deleted file mode 100644 index f03fb6e0e808c..0000000000000 --- a/x-pack/plugins/canvas/.prettierrc +++ /dev/null @@ -1,6 +0,0 @@ -{ - "singleQuote": true, - "semi": true, - "printWidth": 100, - "trailingComma": "es5" -} diff --git a/x-pack/plugins/canvas/public/components/var_config/var_config.tsx b/x-pack/plugins/canvas/public/components/var_config/var_config.tsx index 25c77ab7704bf..b3ddd8c96c2ba 100644 --- a/x-pack/plugins/canvas/public/components/var_config/var_config.tsx +++ b/x-pack/plugins/canvas/public/components/var_config/var_config.tsx @@ -212,7 +212,6 @@ export const VarConfig: FC = ({ className="canvasVarConfig__list" items={variables} columns={varColumns} - hasActions={true} pagination={false} sorting={true} compressed diff --git a/x-pack/plugins/cases/public/components/all_cases/all_cases_list.test.tsx b/x-pack/plugins/cases/public/components/all_cases/all_cases_list.test.tsx index 6e96596a41ab9..5a34be12232d3 100644 --- a/x-pack/plugins/cases/public/components/all_cases/all_cases_list.test.tsx +++ b/x-pack/plugins/cases/public/components/all_cases/all_cases_list.test.tsx @@ -368,13 +368,6 @@ describe('AllCasesListGeneric', () => { }); }); - it('case table should not be selectable when isSelectorView=true', async () => { - appMockRenderer.render(); - await waitFor(() => { - expect(screen.queryByTestId('cases-table')).not.toHaveAttribute('isSelectable'); - }); - }); - it('should call onRowClick with no cases and isSelectorView=true when create case is clicked', async () => { appMockRenderer.render(); userEvent.click(screen.getByTestId('cases-table-add-case-filter-bar')); diff --git a/x-pack/plugins/cases/public/components/all_cases/multi_select_filter.tsx b/x-pack/plugins/cases/public/components/all_cases/multi_select_filter.tsx index 080fe6df352c7..c8cc85bde823e 100644 --- a/x-pack/plugins/cases/public/components/all_cases/multi_select_filter.tsx +++ b/x-pack/plugins/cases/public/components/all_cases/multi_select_filter.tsx @@ -155,6 +155,10 @@ export const MultiSelectFilter = ({ closePopover={() => setIsPopoverOpen(false)} panelPaddingSize="none" repositionOnScroll + panelProps={{ + 'data-test-subj': `options-filter-popover-panel-${id}`, + }} + data-test-subj={`options-filter-popover-${id}`} > {isInvalid && ( <> diff --git a/x-pack/plugins/cases/public/components/all_cases/table.tsx b/x-pack/plugins/cases/public/components/all_cases/table.tsx index 24c354970f038..022753a2899c4 100644 --- a/x-pack/plugins/cases/public/components/all_cases/table.tsx +++ b/x-pack/plugins/cases/public/components/all_cases/table.tsx @@ -82,7 +82,6 @@ export const CasesTable: FunctionComponent = ({ className={classnames({ isSelectorView })} columns={columns} data-test-subj="cases-table" - isSelectable={!isSelectorView} itemId="id" items={data.cases} loading={isCommentUpdating} @@ -114,7 +113,6 @@ export const CasesTable: FunctionComponent = ({ rowProps={tableRowProps} selection={!isSelectorView ? selection : undefined} sorting={sorting} - hasActions={false} /> ); diff --git a/x-pack/plugins/cases/public/components/case_view/components/suggest_users_popover.test.tsx b/x-pack/plugins/cases/public/components/case_view/components/suggest_users_popover.test.tsx index d84675d8e7883..147aeddbfe53d 100644 --- a/x-pack/plugins/cases/public/components/case_view/components/suggest_users_popover.test.tsx +++ b/x-pack/plugins/cases/public/components/case_view/components/suggest_users_popover.test.tsx @@ -8,7 +8,9 @@ import React from 'react'; import type { AppMockRenderer } from '../../../common/mock'; import { createAppMockRenderer } from '../../../common/mock'; -import { screen, fireEvent, waitFor } from '@testing-library/react'; +import { screen } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; + import type { SuggestUsersPopoverProps } from './suggest_users_popover'; import { SuggestUsersPopover } from './suggest_users_popover'; import { userProfiles } from '../../../containers/user_profiles/api.mock'; @@ -18,24 +20,25 @@ import type { AssigneeWithProfile } from '../../user_profiles/types'; jest.mock('../../../containers/user_profiles/api'); -// FLAKY: https://github.com/elastic/kibana/issues/171600 -// FLAKY: https://github.com/elastic/kibana/issues/171601 -describe.skip('SuggestUsersPopover', () => { +const asAssignee = (profile: UserProfileWithAvatar): AssigneeWithProfile => ({ + uid: profile.uid, + profile, +}); + +describe('SuggestUsersPopover', () => { let appMockRender: AppMockRenderer; - let defaultProps: SuggestUsersPopoverProps; + const defaultProps: SuggestUsersPopoverProps = { + isLoading: false, + assignedUsersWithProfiles: [], + isPopoverOpen: true, + onUsersChange: jest.fn(), + togglePopover: jest.fn(), + onClosePopover: jest.fn(), + currentUserProfile: undefined, + }; beforeEach(() => { appMockRender = createAppMockRenderer(); - - defaultProps = { - isLoading: false, - assignedUsersWithProfiles: [], - isPopoverOpen: true, - onUsersChange: jest.fn(), - togglePopover: jest.fn(), - onClosePopover: jest.fn(), - currentUserProfile: undefined, - }; }); it('calls onUsersChange when 1 user is selected', async () => { @@ -45,13 +48,8 @@ describe.skip('SuggestUsersPopover', () => { await waitForEuiPopoverOpen(); - fireEvent.change(screen.getByPlaceholderText('Search users'), { target: { value: 'dingo' } }); - - await waitFor(() => { - expect(screen.getByText('WD')).toBeInTheDocument(); - }); - - fireEvent.click(screen.getByText('WD')); + userEvent.paste(await screen.findByPlaceholderText('Search users'), 'dingo'); + userEvent.click(await screen.findByText('WD')); expect(onUsersChange.mock.calls[0][0]).toMatchInlineSnapshot(` Array [ @@ -76,15 +74,9 @@ describe.skip('SuggestUsersPopover', () => { await waitForEuiPopoverOpen(); - fireEvent.change(screen.getByPlaceholderText('Search users'), { target: { value: 'elastic' } }); - - await waitFor(() => { - expect(screen.getByText('WD')).toBeInTheDocument(); - expect(screen.getByText('DR')).toBeInTheDocument(); - }); - - fireEvent.click(screen.getByText('WD')); - fireEvent.click(screen.getByText('DR')); + userEvent.paste(await screen.findByPlaceholderText('Search users'), 'elastic'); + userEvent.click(await screen.findByText('WD')); + userEvent.click(await screen.findByText('DR')); expect(onUsersChange.mock.calls[1][0]).toMatchInlineSnapshot(` Array [ @@ -124,13 +116,8 @@ describe.skip('SuggestUsersPopover', () => { await waitForEuiPopoverOpen(); - fireEvent.change(screen.getByPlaceholderText('Search users'), { target: { value: 'elastic' } }); - - await waitFor(() => { - expect(screen.getByText('WD')).toBeInTheDocument(); - }); - - fireEvent.click(screen.getByText('WD')); + userEvent.paste(await screen.findByPlaceholderText('Search users'), 'elastic'); + userEvent.click(await screen.findByText('WD')); expect(onUsersChange.mock.calls[0][0]).toMatchInlineSnapshot(` Array [ @@ -174,14 +161,11 @@ describe.skip('SuggestUsersPopover', () => { await waitForEuiPopoverOpen(); expect(screen.queryByText('assigned')).not.toBeInTheDocument(); - fireEvent.change(screen.getByPlaceholderText('Search users'), { target: { value: 'dingo' } }); - await waitFor(() => { - expect(screen.getByText('WD')).toBeInTheDocument(); - }); + userEvent.paste(await screen.findByPlaceholderText('Search users'), 'dingo'); + userEvent.click(await screen.findByText('WD')); - fireEvent.click(screen.getByText('WD')); - expect(screen.getByText('1 assigned')).toBeInTheDocument(); + expect(await screen.findByText('1 assigned')).toBeInTheDocument(); }); it('shows the 1 assigned total after clicking on a user', async () => { @@ -190,9 +174,11 @@ describe.skip('SuggestUsersPopover', () => { await waitForEuiPopoverOpen(); expect(screen.queryByText('assigned')).not.toBeInTheDocument(); - fireEvent.change(screen.getByPlaceholderText('Search users'), { target: { value: 'dingo' } }); - fireEvent.click(screen.getByText('WD')); - expect(screen.getByText('1 assigned')).toBeInTheDocument(); + + userEvent.paste(await screen.findByPlaceholderText('Search users'), 'dingo'); + userEvent.click(await screen.findByText('WD')); + + expect(await screen.findByText('1 assigned')).toBeInTheDocument(); }); it('shows the 1 assigned total when the users are passed in', async () => { @@ -204,8 +190,8 @@ describe.skip('SuggestUsersPopover', () => { await waitForEuiPopoverOpen(); - expect(screen.getByText('1 assigned')).toBeInTheDocument(); - expect(screen.getByText('Damaged Raccoon')).toBeInTheDocument(); + expect(await screen.findByText('1 assigned')).toBeInTheDocument(); + expect(await screen.findByText('Damaged Raccoon')).toBeInTheDocument(); }); it('calls onTogglePopover when clicking the edit button after the popover is already open', async () => { @@ -218,11 +204,9 @@ describe.skip('SuggestUsersPopover', () => { await waitForEuiPopoverOpen(); - await waitFor(() => { - expect(screen.getByTestId('case-view-assignees-edit-button')).not.toBeDisabled(); - }); + expect(await screen.findByTestId('case-view-assignees-edit-button')).not.toBeDisabled(); - fireEvent.click(screen.getByTestId('case-view-assignees-edit-button')); + userEvent.click(await screen.findByTestId('case-view-assignees-edit-button')); expect(togglePopover).toBeCalled(); }); @@ -232,11 +216,6 @@ describe.skip('SuggestUsersPopover', () => { await waitForEuiPopoverOpen(); - await waitFor(() => expect(screen.getByText('Damaged Raccoon')).toBeInTheDocument()); + expect(await screen.findByText('Damaged Raccoon')).toBeInTheDocument(); }); }); - -const asAssignee = (profile: UserProfileWithAvatar): AssigneeWithProfile => ({ - uid: profile.uid, - profile, -}); diff --git a/x-pack/plugins/cases/public/containers/use_get_cases.test.tsx b/x-pack/plugins/cases/public/containers/use_get_cases.test.tsx index dd3ee856ba50c..53900a6920f20 100644 --- a/x-pack/plugins/cases/public/containers/use_get_cases.test.tsx +++ b/x-pack/plugins/cases/public/containers/use_get_cases.test.tsx @@ -17,8 +17,7 @@ import { OWNERS } from '../../common/constants'; jest.mock('./api'); jest.mock('../common/lib/kibana/hooks'); -// FLAKY: https://github.com/elastic/kibana/issues/178163 -describe.skip('useGetCases', () => { +describe('useGetCases', () => { const abortCtrl = new AbortController(); const addSuccess = jest.fn(); (useToasts as jest.Mock).mockReturnValue({ addSuccess, addError: jest.fn() }); @@ -32,11 +31,14 @@ describe.skip('useGetCases', () => { it('calls getCases with correct arguments', async () => { const spyOnGetCases = jest.spyOn(api, 'getCases'); - const { waitForNextUpdate } = renderHook(() => useGetCases(), { + const { waitFor } = renderHook(() => useGetCases(), { wrapper: appMockRender.AppWrapper, }); - await waitForNextUpdate(); + await waitFor(() => { + expect(spyOnGetCases).toBeCalled(); + }); + expect(spyOnGetCases).toBeCalledWith({ filterOptions: { ...DEFAULT_FILTER_OPTIONS, owner: ['securitySolution'] }, queryParams: DEFAULT_QUERY_PARAMS, @@ -53,12 +55,13 @@ describe.skip('useGetCases', () => { const addError = jest.fn(); (useToasts as jest.Mock).mockReturnValue({ addSuccess, addError }); - const { waitForNextUpdate } = renderHook(() => useGetCases(), { + const { waitFor } = renderHook(() => useGetCases(), { wrapper: appMockRender.AppWrapper, }); - await waitForNextUpdate(); - expect(addError).toHaveBeenCalled(); + await waitFor(() => { + expect(addError).toHaveBeenCalled(); + }); }); it('should set all owners when no owner is provided', async () => { @@ -87,11 +90,13 @@ describe.skip('useGetCases', () => { }; const spyOnGetCases = jest.spyOn(api, 'getCases'); - const { waitForNextUpdate } = renderHook(() => useGetCases(), { + const { waitFor } = renderHook(() => useGetCases(), { wrapper: appMockRender.AppWrapper, }); - await waitForNextUpdate(); + await waitFor(() => { + expect(spyOnGetCases).toHaveBeenCalled(); + }); expect(spyOnGetCases).toBeCalledWith({ filterOptions: { ...DEFAULT_FILTER_OPTIONS, owner: [...OWNERS] }, @@ -104,11 +109,13 @@ describe.skip('useGetCases', () => { appMockRender = createAppMockRenderer({ owner: [] }); const spyOnGetCases = jest.spyOn(api, 'getCases'); - const { waitForNextUpdate } = renderHook(() => useGetCases(), { + const { waitFor } = renderHook(() => useGetCases(), { wrapper: appMockRender.AppWrapper, }); - await waitForNextUpdate(); + await waitFor(() => { + expect(spyOnGetCases).toHaveBeenCalled(); + }); expect(spyOnGetCases).toBeCalledWith({ filterOptions: { ...DEFAULT_FILTER_OPTIONS, owner: ['cases'] }, @@ -121,11 +128,13 @@ describe.skip('useGetCases', () => { appMockRender = createAppMockRenderer({ owner: ['observability'] }); const spyOnGetCases = jest.spyOn(api, 'getCases'); - const { waitForNextUpdate } = renderHook(() => useGetCases(), { + const { waitFor } = renderHook(() => useGetCases(), { wrapper: appMockRender.AppWrapper, }); - await waitForNextUpdate(); + await waitFor(() => { + expect(spyOnGetCases).toHaveBeenCalled(); + }); expect(spyOnGetCases).toBeCalledWith({ filterOptions: { ...DEFAULT_FILTER_OPTIONS, owner: ['observability'] }, @@ -138,14 +147,13 @@ describe.skip('useGetCases', () => { appMockRender = createAppMockRenderer({ owner: ['observability'] }); const spyOnGetCases = jest.spyOn(api, 'getCases'); - const { waitForNextUpdate } = renderHook( - () => useGetCases({ filterOptions: { owner: ['my-owner'] } }), - { - wrapper: appMockRender.AppWrapper, - } - ); + const { waitFor } = renderHook(() => useGetCases({ filterOptions: { owner: ['my-owner'] } }), { + wrapper: appMockRender.AppWrapper, + }); - await waitForNextUpdate(); + await waitFor(() => { + expect(spyOnGetCases).toHaveBeenCalled(); + }); expect(spyOnGetCases).toBeCalledWith({ filterOptions: { ...DEFAULT_FILTER_OPTIONS, owner: ['my-owner'] }, diff --git a/x-pack/plugins/cloud_integrations/cloud_chat/public/plugin.tsx b/x-pack/plugins/cloud_integrations/cloud_chat/public/plugin.tsx index 84fb5c3e1c325..7f6471f1229cb 100755 --- a/x-pack/plugins/cloud_integrations/cloud_chat/public/plugin.tsx +++ b/x-pack/plugins/cloud_integrations/cloud_chat/public/plugin.tsx @@ -57,7 +57,7 @@ export class CloudChatPlugin implements Plugin { // There's a risk that the request for chat config will take too much time to complete, and the provider // will maintain a stale value. To avoid this, we'll use an Observable. @@ -67,7 +67,7 @@ export class CloudChatPlugin implements Plugin - + { describe('Public APIs', () => { let client: LaunchDarklyClient; const testUserMetadata = { userId: 'fake-user-id', kibanaVersion: 'version' }; - + const loggerWarnSpy = jest.fn(); beforeEach(() => { - client = new LaunchDarklyClient(config, 'version'); + const initializerContext = coreMock.createPluginInitializerContext(); + const logger = initializerContext.logger.get(); + logger.warn = loggerWarnSpy; + client = new LaunchDarklyClient(config, 'version', logger); }); describe('updateUserMetadata', () => { test("calls the client's initialize method with all the possible values", async () => { - expect(client).toHaveProperty('launchDarklyClient', undefined); - launchDarklyLibraryMock.initialize.mockReturnValue(ldClientMock); const topFields = { @@ -65,13 +67,9 @@ describe('LaunchDarklyClient - browser', () => { logger: undefined, } ); - - expect(client).toHaveProperty('launchDarklyClient', ldClientMock); }); test('sets a minimum amount of info', async () => { - expect(client).toHaveProperty('launchDarklyClient', undefined); - await client.updateUserMetadata({ userId: 'fake-user-id', kibanaVersion: 'version' }); expect(launchDarklyLibraryMock.initialize).toHaveBeenCalledWith( @@ -89,8 +87,6 @@ describe('LaunchDarklyClient - browser', () => { }); test('calls identify if an update comes after initializing the client', async () => { - expect(client).toHaveProperty('launchDarklyClient', undefined); - launchDarklyLibraryMock.initialize.mockReturnValue(ldClientMock); await client.updateUserMetadata({ userId: 'fake-user-id', kibanaVersion: 'version' }); @@ -108,26 +104,45 @@ describe('LaunchDarklyClient - browser', () => { ); expect(ldClientMock.identify).not.toHaveBeenCalled(); - expect(client).toHaveProperty('launchDarklyClient', ldClientMock); - // Update user metadata a 2nd time + launchDarklyLibraryMock.initialize.mockReset(); await client.updateUserMetadata({ userId: 'fake-user-id', kibanaVersion: 'version' }); expect(ldClientMock.identify).toHaveBeenCalledWith({ kind: 'user', key: 'fake-user-id', kibanaVersion: 'version', }); + expect(launchDarklyLibraryMock.initialize).not.toHaveBeenCalled(); }); }); describe('getVariation', () => { - test('returns the default value if the user has not been defined', async () => { - await expect(client.getVariation('my-feature-flag', 123)).resolves.toStrictEqual(123); + test('waits for the user to been defined and does NOT return default value', async () => { + ldClientMock.variation.mockResolvedValue(1234); // Expected is 1234 + launchDarklyLibraryMock.initialize.mockReturnValue(ldClientMock); + const promise = client.getVariation('my-feature-flag', 123); // Default value is 123 + + await client.updateUserMetadata(testUserMetadata); + await expect(promise).resolves.toStrictEqual(1234); + expect(ldClientMock.variation).toHaveBeenCalledTimes(1); + }); + + test('return default value if canceled', async () => { + ldClientMock.variation.mockResolvedValue(1234); + launchDarklyLibraryMock.initialize.mockReturnValue(ldClientMock); + const promise = client.getVariation('my-feature-flag', 123); // Default value is 123 + + client.cancel(); + + await client.updateUserMetadata(testUserMetadata); + await expect(promise).resolves.toStrictEqual(123); // default value expect(ldClientMock.variation).toHaveBeenCalledTimes(0); + expect(launchDarklyLibraryMock.initialize).not.toHaveBeenCalled(); }); test('calls the LaunchDarkly client when the user has been defined', async () => { ldClientMock.variation.mockResolvedValue(1234); + launchDarklyLibraryMock.initialize.mockReturnValue(ldClientMock); await client.updateUserMetadata(testUserMetadata); await expect(client.getVariation('my-feature-flag', 123)).resolves.toStrictEqual(1234); expect(ldClientMock.variation).toHaveBeenCalledTimes(1); @@ -142,8 +157,10 @@ describe('LaunchDarklyClient - browser', () => { }); test('calls the LaunchDarkly client when the user has been defined', async () => { + launchDarklyLibraryMock.initialize.mockReturnValue(ldClientMock); await client.updateUserMetadata(testUserMetadata); client.reportMetric('my-feature-flag', {}, 123); + await new Promise((resolve) => process.nextTick(resolve)); // wait for the client to be available expect(ldClientMock.track).toHaveBeenCalledTimes(1); expect(ldClientMock.track).toHaveBeenCalledWith('my-feature-flag', {}, 123); }); @@ -151,24 +168,27 @@ describe('LaunchDarklyClient - browser', () => { describe('stop', () => { test('flushes the events', async () => { + launchDarklyLibraryMock.initialize.mockReturnValue(ldClientMock); await client.updateUserMetadata(testUserMetadata); ldClientMock.flush.mockResolvedValue(); expect(() => client.stop()).not.toThrow(); + await new Promise((resolve) => process.nextTick(resolve)); // wait for the client to be available expect(ldClientMock.flush).toHaveBeenCalledTimes(1); await new Promise((resolve) => process.nextTick(resolve)); // wait for the flush resolution }); test('handles errors when flushing events', async () => { + launchDarklyLibraryMock.initialize.mockReturnValue(ldClientMock); await client.updateUserMetadata(testUserMetadata); - const consoleWarnSpy = jest.spyOn(console, 'warn').mockImplementation(); const err = new Error('Something went terribly wrong'); ldClientMock.flush.mockRejectedValue(err); expect(() => client.stop()).not.toThrow(); + await new Promise((resolve) => process.nextTick(resolve)); expect(ldClientMock.flush).toHaveBeenCalledTimes(1); await new Promise((resolve) => process.nextTick(resolve)); // wait for the flush resolution - expect(consoleWarnSpy).toHaveBeenCalledWith(err); + expect(loggerWarnSpy).toHaveBeenCalledWith(err); }); }); }); diff --git a/x-pack/plugins/cloud_integrations/cloud_experiments/public/launch_darkly_client/launch_darkly_client.ts b/x-pack/plugins/cloud_integrations/cloud_experiments/public/launch_darkly_client/launch_darkly_client.ts index 34d639bd1dc33..bc2064ec6bcf0 100644 --- a/x-pack/plugins/cloud_integrations/cloud_experiments/public/launch_darkly_client/launch_darkly_client.ts +++ b/x-pack/plugins/cloud_integrations/cloud_experiments/public/launch_darkly_client/launch_darkly_client.ts @@ -10,6 +10,8 @@ import { type LDSingleKindContext, type LDLogLevel, } from 'launchdarkly-js-client-sdk'; +import { BehaviorSubject, filter, firstValueFrom, switchMap } from 'rxjs'; +import type { Logger } from '@kbn/logging'; export interface LaunchDarklyClientConfig { client_id: string; @@ -22,46 +24,81 @@ export interface LaunchDarklyUserMetadata } export class LaunchDarklyClient { - private launchDarklyClient?: LDClient; + private initialized = false; + private canceled = false; + private launchDarklyClientSub$ = new BehaviorSubject(null); + private loadingClient$ = new BehaviorSubject(true); + private launchDarklyClient$ = this.loadingClient$.pipe( + // To avoid a racing condition when trying to get a variation before the client is ready + // we use the `switchMap` operator to ensure we only return the client when it has been initialized. + filter((loading) => !loading), + switchMap(() => this.launchDarklyClientSub$) + ); constructor( private readonly ldConfig: LaunchDarklyClientConfig, - private readonly kibanaVersion: string + private readonly kibanaVersion: string, + private readonly logger: Logger ) {} public async updateUserMetadata(userMetadata: LaunchDarklyUserMetadata) { + if (this.canceled) return; + const { userId, ...userMetadataWithoutUserId } = userMetadata; const launchDarklyUser: LDSingleKindContext = { ...userMetadataWithoutUserId, kind: 'user', key: userId, }; - if (this.launchDarklyClient) { - await this.launchDarklyClient.identify(launchDarklyUser); + + let launchDarklyClient: LDClient | null = null; + if (this.initialized) { + launchDarklyClient = await this.getClient(); + } + + if (launchDarklyClient) { + await launchDarklyClient.identify(launchDarklyUser); } else { + this.initialized = true; const { initialize, basicLogger } = await import('launchdarkly-js-client-sdk'); - this.launchDarklyClient = initialize(this.ldConfig.client_id, launchDarklyUser, { + launchDarklyClient = initialize(this.ldConfig.client_id, launchDarklyUser, { application: { id: 'kibana-browser', version: this.kibanaVersion }, logger: basicLogger({ level: this.ldConfig.client_log_level }), }); + this.launchDarklyClientSub$.next(launchDarklyClient); + this.loadingClient$.next(false); } } public async getVariation(configKey: string, defaultValue: Data): Promise { - if (!this.launchDarklyClient) return defaultValue; // Skip any action if no LD User is defined - await this.launchDarklyClient.waitForInitialization(); - return await this.launchDarklyClient.variation(configKey, defaultValue); + const launchDarklyClient = await this.getClient(); + if (!launchDarklyClient) return defaultValue; // Skip any action if no LD User is defined + await launchDarklyClient.waitForInitialization(); + return await launchDarklyClient.variation(configKey, defaultValue); } public reportMetric(metricName: string, meta?: unknown, value?: number): void { - if (!this.launchDarklyClient) return; // Skip any action if no LD User is defined - this.launchDarklyClient.track(metricName, meta, value); + this.getClient().then((launchDarklyClient) => { + if (!launchDarklyClient) return; // Skip any action if no LD User is defined + launchDarklyClient.track(metricName, meta, value); + }); } public stop() { - this.launchDarklyClient - ?.flush() - // eslint-disable-next-line no-console - .catch((err) => console.warn(err)); + this.getClient().then((launchDarklyClient) => { + launchDarklyClient?.flush().catch((err) => { + this.logger.warn(err); + }); + }); + } + + public cancel() { + this.initialized = true; + this.canceled = true; + this.loadingClient$.next(false); + } + + private getClient(): Promise { + return firstValueFrom(this.launchDarklyClient$, { defaultValue: null }); } } diff --git a/x-pack/plugins/cloud_integrations/cloud_experiments/public/plugin.test.ts b/x-pack/plugins/cloud_integrations/cloud_experiments/public/plugin.test.ts index 9ffc7d63f9ee4..7c945afcf53f3 100644 --- a/x-pack/plugins/cloud_integrations/cloud_experiments/public/plugin.test.ts +++ b/x-pack/plugins/cloud_integrations/cloud_experiments/public/plugin.test.ts @@ -114,15 +114,18 @@ describe('Cloud Experiments public plugin', () => { expect(customPlugin).toHaveProperty('launchDarklyClient', undefined); }); - test('it skips identifying the user if cloud is not enabled', () => { + test('it skips identifying the user if cloud is not enabled and cancels loading the LDclient', () => { + const ldClientCancelSpy = jest.spyOn(LaunchDarklyClient.prototype, 'cancel'); plugin.setup(coreMock.createSetup(), { cloud: { ...cloudMock.createSetup(), isCloudEnabled: false }, }); expect(metadataServiceSetupSpy).not.toHaveBeenCalled(); + expect(ldClientCancelSpy).toHaveBeenCalled(); // Cancel loading the client }); test('it initializes the LaunchDarkly client', async () => { + const ldClientCancelSpy = jest.spyOn(LaunchDarklyClient.prototype, 'cancel'); plugin.setup(coreMock.createSetup(), { cloud: { ...cloudMock.createSetup(), isCloudEnabled: true }, }); @@ -133,6 +136,7 @@ describe('Cloud Experiments public plugin', () => { trialEndDate: '2020-10-01T14:13:12.000Z', userId: 'mock-deployment-id', }); + expect(ldClientCancelSpy).not.toHaveBeenCalled(); }); }); }); diff --git a/x-pack/plugins/cloud_integrations/cloud_experiments/public/plugin.ts b/x-pack/plugins/cloud_integrations/cloud_experiments/public/plugin.ts index 3fcdbb84a707e..c4a76a0c388d3 100755 --- a/x-pack/plugins/cloud_integrations/cloud_experiments/public/plugin.ts +++ b/x-pack/plugins/cloud_integrations/cloud_experiments/public/plugin.ts @@ -11,6 +11,8 @@ import { duration } from 'moment'; import { concatMap } from 'rxjs'; import type { CloudSetup, CloudStart } from '@kbn/cloud-plugin/public'; import type { DataViewsPublicPluginStart } from '@kbn/data-views-plugin/public'; +import type { Logger } from '@kbn/logging'; + import { LaunchDarklyClient, type LaunchDarklyClientConfig } from './launch_darkly_client'; import type { CloudExperimentsFeatureFlagNames, @@ -35,6 +37,7 @@ interface CloudExperimentsPluginStartDeps { export class CloudExperimentsPlugin implements Plugin { + private readonly logger: Logger; private readonly metadataService: MetadataService; private readonly launchDarklyClient?: LaunchDarklyClient; private readonly kibanaVersion: string; @@ -43,6 +46,7 @@ export class CloudExperimentsPlugin /** Constructor of the plugin **/ constructor(initializerContext: PluginInitializerContext) { + this.logger = initializerContext.logger.get(); this.isDev = initializerContext.env.mode.dev; this.kibanaVersion = initializerContext.env.packageInfo.version; const config = initializerContext.config.get<{ @@ -67,7 +71,7 @@ export class CloudExperimentsPlugin ); } if (ldConfig?.client_id) { - this.launchDarklyClient = new LaunchDarklyClient(ldConfig, this.kibanaVersion); + this.launchDarklyClient = new LaunchDarklyClient(ldConfig, this.kibanaVersion, this.logger); } } @@ -84,6 +88,8 @@ export class CloudExperimentsPlugin trialEndDate: deps.cloud.trialEndDate?.toISOString(), isElasticStaff: deps.cloud.isElasticStaffOwned, }); + } else { + this.launchDarklyClient?.cancel(); } } @@ -106,7 +112,7 @@ export class CloudExperimentsPlugin .pipe( // Using concatMap to ensure we call the promised update in an orderly manner to avoid concurrency issues concatMap( - async (userMetadata) => await this.launchDarklyClient!.updateUserMetadata(userMetadata) + async (userMetadata) => await this.launchDarklyClient?.updateUserMetadata(userMetadata) ) ) .subscribe(); // This subscription will stop on when the metadataService stops because it completes the Observable diff --git a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/dashboard_sections/benchmarks_section.tsx b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/dashboard_sections/benchmarks_section.tsx index fa9b53ff06c11..8b61b3f093b70 100644 --- a/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/dashboard_sections/benchmarks_section.tsx +++ b/x-pack/plugins/cloud_security_posture/public/pages/compliance_dashboard/dashboard_sections/benchmarks_section.tsx @@ -133,7 +133,7 @@ export const BenchmarksSection = ({ id="xpack.csp.dashboard.benchmarkSection.columnsHeader.complianceScoreTitle" defaultMessage="Compliance Score" /> - +

diff --git a/x-pack/plugins/cross_cluster_replication/public/app/sections/home/auto_follow_pattern_list/components/auto_follow_pattern_table/auto_follow_pattern_table.js b/x-pack/plugins/cross_cluster_replication/public/app/sections/home/auto_follow_pattern_list/components/auto_follow_pattern_table/auto_follow_pattern_table.js index 5c966eac9219d..b5df0f1c5011e 100644 --- a/x-pack/plugins/cross_cluster_replication/public/app/sections/home/auto_follow_pattern_list/components/auto_follow_pattern_table/auto_follow_pattern_table.js +++ b/x-pack/plugins/cross_cluster_replication/public/app/sections/home/auto_follow_pattern_list/components/auto_follow_pattern_table/auto_follow_pattern_table.js @@ -341,7 +341,6 @@ export class AutoFollowPatternTable extends PureComponent { pagination={pagination} sorting={sorting} selection={selection} - isSelectable={true} rowProps={() => ({ 'data-test-subj': 'row', })} diff --git a/x-pack/plugins/cross_cluster_replication/public/app/sections/home/follower_indices_list/components/follower_indices_table/follower_indices_table.js b/x-pack/plugins/cross_cluster_replication/public/app/sections/home/follower_indices_list/components/follower_indices_table/follower_indices_table.js index 6b4170cf18c02..5d04fe8586a25 100644 --- a/x-pack/plugins/cross_cluster_replication/public/app/sections/home/follower_indices_list/components/follower_indices_table/follower_indices_table.js +++ b/x-pack/plugins/cross_cluster_replication/public/app/sections/home/follower_indices_list/components/follower_indices_table/follower_indices_table.js @@ -326,7 +326,6 @@ export class FollowerIndicesTable extends PureComponent { pagination={pagination} sorting={sorting} selection={selection} - isSelectable={true} rowProps={() => ({ 'data-test-subj': 'row', })} diff --git a/x-pack/plugins/data_visualizer/public/application/common/components/field_types_filter/field_types_help_popover.tsx b/x-pack/plugins/data_visualizer/public/application/common/components/field_types_filter/field_types_help_popover.tsx index be5ecf5acc15a..6c5fedce0fee3 100644 --- a/x-pack/plugins/data_visualizer/public/application/common/components/field_types_filter/field_types_help_popover.tsx +++ b/x-pack/plugins/data_visualizer/public/application/common/components/field_types_filter/field_types_help_popover.tsx @@ -130,7 +130,7 @@ export const FieldTypesHelpPopover: FC<{ compressed={true} rowHeader="firstName" columns={columnsSidebar} - responsive={false} + responsiveBreakpoint={false} /> diff --git a/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/data_visualizer_stats_table.tsx b/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/data_visualizer_stats_table.tsx index 2e2c1e2b9d9e8..9f52a00a3b2be 100644 --- a/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/data_visualizer_stats_table.tsx +++ b/x-pack/plugins/data_visualizer/public/application/common/components/stats_table/data_visualizer_stats_table.tsx @@ -395,7 +395,7 @@ export const DataVisualizerTable = ({ backgroundColor: euiTheme.colors.emptyShade, boxShadow: `inset 0 0px 0, inset 0 -1px 0 ${euiTheme.border.color}`, }, - '.euiTableRow > .euiTableRowCel': { + '.euiTableRow > .euiTableRowCell': { borderTop: 0, }, [useEuiMinBreakpoint('s')]: { @@ -481,9 +481,7 @@ export const DataVisualizerTable = ({ columns={columns} pagination={pagination} sorting={sorting} - isExpandable={true} itemIdToExpandedRowMap={itemIdToExpandedRowMap} - isSelectable={false} onTableChange={onTableChange} data-test-subj={`dataVisualizerTable-${loading ? 'loading' : 'loaded'}`} rowProps={(item) => ({ diff --git a/x-pack/plugins/data_visualizer/public/application/data_drift/data_drift_overview_table.tsx b/x-pack/plugins/data_visualizer/public/application/data_drift/data_drift_overview_table.tsx index 55bce9d953c5b..7de413c74b4de 100644 --- a/x-pack/plugins/data_visualizer/public/application/data_drift/data_drift_overview_table.tsx +++ b/x-pack/plugins/data_visualizer/public/application/data_drift/data_drift_overview_table.tsx @@ -305,7 +305,6 @@ export const DataDriftOverviewTable = ({ cellProps={getCellProps} itemId="featureName" itemIdToExpandedRowMap={itemIdToExpandedRowMap} - isExpandable={true} sorting={sorting} onChange={onTableChange} pagination={pagination} diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.test.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.test.ts index 28d765b03b4d5..eebadb6488a19 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.test.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.test.ts @@ -16,7 +16,7 @@ import { mockActionResponse } from '../../../__mocks__/action_result_data'; import { langChainMessages } from '../../../__mocks__/lang_chain_messages'; import { ESQL_RESOURCE } from '../../../routes/knowledge_base/constants'; import { callAgentExecutor } from '.'; -import { Stream } from 'stream'; +import { PassThrough, Stream } from 'stream'; import { ActionsClientChatOpenAI, ActionsClientLlm } from '@kbn/elastic-assistant-common/impl/llm'; jest.mock('@kbn/elastic-assistant-common/impl/llm', () => ({ @@ -48,6 +48,25 @@ jest.mock('../elasticsearch_store/elasticsearch_store', () => ({ isModelInstalled: jest.fn().mockResolvedValue(true), })), })); +const mockStream = new PassThrough(); +const mockPush = jest.fn(); +jest.mock('@kbn/ml-response-stream/server', () => ({ + streamFactory: jest.fn().mockImplementation(() => ({ + DELIMITER: '\n', + end: jest.fn(), + push: mockPush, + responseWithHeaders: { + body: mockStream, + headers: { + 'X-Accel-Buffering': 'no', + 'X-Content-Type-Options': 'nosniff', + 'Cache-Control': 'no-cache', + Connection: 'keep-alive', + 'Transfer-Encoding': 'chunked', + }, + }, + })), +})); const mockConnectorId = 'mock-connector-id'; @@ -209,5 +228,55 @@ describe('callAgentExecutor', () => { false ); }); + + it('does not streams token after handleStreamEnd has been called', async () => { + const mockInvokeWithChainCallback = jest.fn().mockImplementation((a, b, c, d, e, f, g) => { + b.callbacks[0].handleLLMNewToken('hi', {}, '123', '456'); + b.callbacks[0].handleChainEnd({ output: 'hello' }, '123'); + b.callbacks[0].handleLLMNewToken('hey', {}, '678', '456'); + return Promise.resolve(); + }); + (initializeAgentExecutorWithOptions as jest.Mock).mockImplementation( + (_a, _b, { agentType }) => ({ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + call: (props: any, more: any) => mockCall({ ...props, agentType }, more), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + invoke: (props: any, more: any) => + mockInvokeWithChainCallback({ ...props, agentType }, more), + }) + ); + const onLlmResponse = jest.fn(); + await callAgentExecutor({ ...defaultProps, onLlmResponse, isStream: true }); + + expect(mockPush).toHaveBeenCalledWith({ payload: 'hi', type: 'content' }); + expect(mockPush).not.toHaveBeenCalledWith({ payload: 'hey', type: 'content' }); + }); + + it('only streams tokens with length from the root parentRunId', async () => { + const mockInvokeWithChainCallback = jest.fn().mockImplementation((a, b, c, d, e, f, g) => { + b.callbacks[0].handleLLMNewToken('', {}, '123', '456'); + + b.callbacks[0].handleLLMNewToken('hi', {}, '123', '456'); + b.callbacks[0].handleLLMNewToken('hello', {}, '555', '666'); + b.callbacks[0].handleLLMNewToken('hey', {}, '678', '456'); + return Promise.resolve(); + }); + (initializeAgentExecutorWithOptions as jest.Mock).mockImplementation( + (_a, _b, { agentType }) => ({ + // eslint-disable-next-line @typescript-eslint/no-explicit-any + call: (props: any, more: any) => mockCall({ ...props, agentType }, more), + // eslint-disable-next-line @typescript-eslint/no-explicit-any + invoke: (props: any, more: any) => + mockInvokeWithChainCallback({ ...props, agentType }, more), + }) + ); + const onLlmResponse = jest.fn(); + await callAgentExecutor({ ...defaultProps, onLlmResponse, isStream: true }); + + expect(mockPush).toHaveBeenCalledWith({ payload: 'hi', type: 'content' }); + expect(mockPush).toHaveBeenCalledWith({ payload: 'hey', type: 'content' }); + expect(mockPush).not.toHaveBeenCalledWith({ payload: 'hello', type: 'content' }); + expect(mockPush).not.toHaveBeenCalledWith({ payload: '', type: 'content' }); + }); }); }); diff --git a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts index 04e65307637e2..e1ad0c241a15b 100644 --- a/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts +++ b/x-pack/plugins/elastic_assistant/server/lib/langchain/execute_custom_llm_chain/index.ts @@ -164,6 +164,7 @@ export const callAgentExecutor: AgentExecutor = async ({ }; let message = ''; + let tokenParentRunId = ''; executor .invoke( @@ -175,8 +176,14 @@ export const callAgentExecutor: AgentExecutor = async ({ { callbacks: [ { - handleLLMNewToken(payload) { - if (payload.length && !didEnd) { + handleLLMNewToken(payload, _idx, _runId, parentRunId) { + if (tokenParentRunId.length === 0 && !!parentRunId) { + // set the parent run id as the parentRunId of the first token + // this is used to ensure that all tokens in the stream are from the same run + // filtering out runs that are inside e.g. tool calls + tokenParentRunId = parentRunId; + } + if (payload.length && !didEnd && tokenParentRunId === parentRunId) { push({ payload, type: 'content' }); // store message in case of error message += payload; diff --git a/x-pack/plugins/elastic_assistant/server/routes/insights/alerts/post_alerts_insights.ts b/x-pack/plugins/elastic_assistant/server/routes/insights/alerts/post_alerts_insights.ts index 455f50703e836..e58e4cd0f8e20 100644 --- a/x-pack/plugins/elastic_assistant/server/routes/insights/alerts/post_alerts_insights.ts +++ b/x-pack/plugins/elastic_assistant/server/routes/insights/alerts/post_alerts_insights.ts @@ -19,6 +19,7 @@ import { transformError } from '@kbn/securitysolution-es-utils'; import { INSIGHTS_ALERTS } from '../../../../common/constants'; import { getAssistantToolParams, isInsightsFeatureEnabled } from './helpers'; import { DEFAULT_PLUGIN_NAME, getPluginNameFromRequest } from '../../helpers'; +import { getLangSmithTracer } from '../../evaluate/utils'; import { buildResponse } from '../../../lib/build_response'; import { ElasticAssistantRequestHandlerContext } from '../../../types'; import { getLlmType } from '../../utils'; @@ -73,7 +74,14 @@ export const postAlertsInsightsRoute = (router: IRouter = ({ items, hasClicks, isSmall }) = = ({ items }) => { = ({ items }) => { [TERM_COLUMN, TIME_COLUMN, TAGS_LIST_COLUMN, RESULTS_COLUMN, ACTIONS_COLUMN] as Columns } items={items} - responsive - hasActions noItemsMessage={ = ({ hasPagination }) => { } {...paginationProps} diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/domains_table.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/domains_table.test.tsx index defa71847a183..8286bcc263a45 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/domains_table.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/crawler/components/domains_table.test.tsx @@ -143,6 +143,8 @@ describe('DomainsTable', () => { }); describe('when the user can manage/delete engines', () => { + const simulatedClickEvent = { persist: () => {} }; // Required for EUI action clicks. Can be removed if switching away from Enzyme to RTL + const getManageAction = () => getActionItems().at(0).dive().find(EuiButtonIcon); const getDeleteAction = () => getActionItems().at(1).dive().find(EuiButtonIcon); @@ -159,7 +161,7 @@ describe('DomainsTable', () => { it('sends the user to the engine overview on click', () => { const { navigateToUrl } = mockKibanaValues; - getManageAction().simulate('click'); + getManageAction().simulate('click', simulatedClickEvent); expect(navigateToUrl).toHaveBeenCalledWith('/engines/some-engine/crawler/domains/1234'); }); @@ -169,7 +171,7 @@ describe('DomainsTable', () => { it('clicking the action and confirming deletes the domain', () => { jest.spyOn(global, 'confirm').mockReturnValueOnce(true); - getDeleteAction().simulate('click'); + getDeleteAction().simulate('click', simulatedClickEvent); expect(actions.deleteDomain).toHaveBeenCalledWith( expect.objectContaining({ id: '1234' }) @@ -179,7 +181,7 @@ describe('DomainsTable', () => { it('clicking the action and not confirming does not delete the engine', () => { jest.spyOn(global, 'confirm').mockReturnValueOnce(false); - getDeleteAction().simulate('click'); + getDeleteAction().simulate('click', simulatedClickEvent); expect(actions.deleteDomain).not.toHaveBeenCalled(); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/curations_table.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/curations_table.tsx index b8f019dc65fca..31897bf9ec8c8 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/curations_table.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/curations/components/curations_table.tsx @@ -138,8 +138,6 @@ export const CurationsTable: React.FC = () => { { { itemId="query" // @ts-expect-error - EuiBasicTable wants an array of objects, but will accept strings if coerced columns={columns} - hasActions pagination={{ ...convertMetaToPagination(meta), showPerPageOptions: false, diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engines/components/tables/test_helpers/shared_columns.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engines/components/tables/test_helpers/shared_columns.tsx index e00497a419a3c..fffd9156555c7 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/engines/components/tables/test_helpers/shared_columns.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/engines/components/tables/test_helpers/shared_columns.tsx @@ -22,6 +22,8 @@ export const runSharedColumnsTests = ( tableContent: string, values: object = {} ) => { + const simulatedClickEvent = { persist: () => {} }; // Required for EUI action clicks. Can be removed if switching away from Enzyme to RTL + const getTableBody = () => wrapper.find(EuiBasicTable).dive().find('RenderWithEuiTheme').renderProp('children')(); @@ -83,7 +85,7 @@ export const runSharedColumnsTests = ( it('sends the user to the engine overview on click', () => { jest.spyOn(engineLinkHelpers, 'navigateToEngine'); const { navigateToEngine } = engineLinkHelpers; - getManageAction().simulate('click'); + getManageAction().simulate('click', simulatedClickEvent); expect(navigateToEngine).toHaveBeenCalledWith('test-engine'); }); @@ -94,7 +96,7 @@ export const runSharedColumnsTests = ( it('clicking the action and confirming deletes the engine', () => { jest.spyOn(global, 'confirm').mockReturnValueOnce(true); - getDeleteAction().simulate('click'); + getDeleteAction().simulate('click', simulatedClickEvent); expect(deleteEngine).toHaveBeenCalledWith( expect.objectContaining({ name: 'test-engine' }) @@ -103,7 +105,7 @@ export const runSharedColumnsTests = ( it('clicking the action and not confirming does not delete the engine', () => { jest.spyOn(global, 'confirm').mockReturnValueOnce(false); - getDeleteAction().simulate('click'); + getDeleteAction().simulate('click', simulatedClickEvent); expect(deleteEngine).not.toHaveBeenCalled(); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/non_text_fields_body.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/non_text_fields_body.test.tsx index 8abb716183a9f..8b481d38d23bb 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/non_text_fields_body.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/non_text_fields_body.test.tsx @@ -50,15 +50,15 @@ describe('NonTextFieldsBody', () => { const tableRows = getTableRows(wrapper); expect(tableRows.length).toBe(3); - expect(tableRows.at(0).find('[data-test-subj="ResultSettingFieldName"]').dive().text()).toEqual( - 'bar' - ); - expect(tableRows.at(1).find('[data-test-subj="ResultSettingFieldName"]').dive().text()).toEqual( - 'foo' - ); - expect(tableRows.at(2).find('[data-test-subj="ResultSettingFieldName"]').dive().text()).toEqual( - 'zoo' - ); + expect( + tableRows.at(0).find('[data-test-subj="ResultSettingFieldName"]').render().text() + ).toEqual('bar'); + expect( + tableRows.at(1).find('[data-test-subj="ResultSettingFieldName"]').render().text() + ).toEqual('foo'); + expect( + tableRows.at(2).find('[data-test-subj="ResultSettingFieldName"]').render().text() + ).toEqual('zoo'); }); describe('the "raw" checkbox within each table row', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/result_settings_table.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/result_settings_table.tsx index 092a4beee0c8e..eb9ef02cea45e 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/result_settings_table.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/result_settings_table.tsx @@ -28,7 +28,7 @@ export const ResultSettingsTable: React.FC = () => { // TODO This table currently has mutiple theads, which is invalid html. We could change these subheaders to be EuiTableRow instead of EuiTableHeader // to alleviate the issue. return ( - + {!!Object.keys(textResultFields).length && ( diff --git a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/text_fields_body.test.tsx b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/text_fields_body.test.tsx index 3081ccc445655..3986809c549aa 100644 --- a/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/text_fields_body.test.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/app_search/components/result_settings/result_settings_table/text_fields_body.test.tsx @@ -65,15 +65,15 @@ describe('TextFieldsBody', () => { const tableRows = getTableRows(wrapper); expect(tableRows.length).toBe(3); - expect(tableRows.at(0).find('[data-test-subj="ResultSettingFieldName"]').dive().text()).toEqual( - 'bar' - ); - expect(tableRows.at(1).find('[data-test-subj="ResultSettingFieldName"]').dive().text()).toEqual( - 'foo' - ); - expect(tableRows.at(2).find('[data-test-subj="ResultSettingFieldName"]').dive().text()).toEqual( - 'zoo' - ); + expect( + tableRows.at(0).find('[data-test-subj="ResultSettingFieldName"]').render().text() + ).toEqual('bar'); + expect( + tableRows.at(1).find('[data-test-subj="ResultSettingFieldName"]').render().text() + ).toEqual('foo'); + expect( + tableRows.at(2).find('[data-test-subj="ResultSettingFieldName"]').render().text() + ).toEqual('zoo'); }); describe('the "raw" checkbox within each table row', () => { diff --git a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_schema.tsx b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_schema.tsx index 0ec4998d018c0..a9343feea72fc 100644 --- a/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_schema.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/applications/components/search_application/search_application_schema.tsx @@ -145,7 +145,7 @@ const SchemaFieldDetails: React.FC<{ schemaField: SchemaField }> = ({ schemaFiel css={{ '& .euiTable': { backgroundColor: 'transparent' } }} columns={columns} items={schemaField.indices} - responsive={false} + responsiveBreakpoint={false} /> @@ -451,8 +451,7 @@ export const SearchApplicationSchema: React.FC = () => { loading={isLoadingSearchApplicationSchema} itemId="name" itemIdToExpandedRowMap={itemIdToExpandedRowMap} - isExpandable - responsive={false} + responsiveBreakpoint={false} /> {totalConflictsHiddenByTypeFilters > 0 && ( { }>(); const { + guidedOnboarding, productFeatures: { hasDefaultIngestPipeline }, } = useValues(KibanaLogic); + useEffect(() => { + const subscription = guidedOnboarding?.guidedOnboardingApi + ?.isGuideStepActive$('databaseSearch', 'add_data') + .subscribe((isStepActive) => { + if (isStepActive && index?.count) { + guidedOnboarding.guidedOnboardingApi?.completeGuideStep('databaseSearch', 'add_data'); + } + }); + return () => subscription?.unsubscribe(); + }, [guidedOnboarding, index?.count]); + const ALL_INDICES_TABS = [ { content: , diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/connector_rules.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/connector_rules.tsx index 73894c1391941..1a8b01fef8cd9 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/connector_rules.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/connector_rules.tsx @@ -24,8 +24,6 @@ import { import { i18n } from '@kbn/i18n'; -import { BetaBadge } from '../../../../../shared/beta/beta_badge'; - import { docLinks } from '../../../../../shared/doc_links'; import { ConnectorViewLogic } from '../../../connector_detail/connector_view_logic'; @@ -80,9 +78,6 @@ export const ConnectorSyncRules: React.FC = () => { - - - @@ -97,7 +92,7 @@ export const ConnectorSyncRules: React.FC = () => { })}

- + {i18n.translate( 'xpack.enterpriseSearch.index.connector.syncRules.syncRulesLabel', { @@ -191,7 +186,7 @@ export const ConnectorSyncRules: React.FC = () => { )}

- + {i18n.translate( 'xpack.enterpriseSearch.content.index.connector.syncRules.advancedFiltersLinkTitle', { diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/edit_sync_rules_flyout.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/edit_sync_rules_flyout.tsx index 779c3ec9e8bee..d1e10d21a5421 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/edit_sync_rules_flyout.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/edit_sync_rules_flyout.tsx @@ -25,8 +25,6 @@ import { i18n } from '@kbn/i18n'; import { FilteringValidation } from '@kbn/search-connectors'; -import { BetaCallOut } from '../../../../../shared/beta/beta_callout'; - import { AdvancedSyncRules } from './advanced_sync_rules'; import { EditSyncRulesTab } from './edit_sync_rules_tab'; import { SyncRulesTable } from './editable_basic_rules_table'; @@ -106,16 +104,6 @@ export const EditSyncRulesFlyout: React.FC = ({ - - {i18n.translate( 'xpack.enterpriseSearch.content.index.connector.syncRules.flyout.description', diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/editable_basic_rules_table.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/editable_basic_rules_table.tsx index 7aebd9de94df4..5cd4dc00ee916 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/editable_basic_rules_table.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/connector/sync_rules/editable_basic_rules_table.tsx @@ -80,7 +80,7 @@ export const SyncRulesTable: React.FC = () => { values: { indexName }, })} - + {i18n.translate('xpack.enterpriseSearch.content.index.connector.syncRules.link', { defaultMessage: 'Learn more about customizing your sync rules.', })} diff --git a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/crawler/crawler_domain_detail/extraction_rules/extraction_rules_table.tsx b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/crawler/crawler_domain_detail/extraction_rules/extraction_rules_table.tsx index d2ae9936bf290..03119c6a2297c 100644 --- a/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/crawler/crawler_domain_detail/extraction_rules/extraction_rules_table.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/enterprise_search_content/components/search_index/crawler/crawler_domain_detail/extraction_rules/extraction_rules_table.tsx @@ -243,7 +243,6 @@ export const ExtractionRulesTable: React.FC = () => { )} { }); describe('actions column', () => { + const simulatedClickEvent = { persist: () => {} }; // Required for EUI action clicks. Can be removed if switching away from Enzyme to RTL + const getActions = () => getTableBody().find('ExpandedItemActions'); const getActionItems = () => getActions().first().dive().find('DefaultItemAction'); @@ -157,7 +159,7 @@ describe('DomainsTable', () => { it('sends the user to the engine overview on click', () => { const { navigateToUrl } = mockKibanaValues; - getManageAction().simulate('click'); + getManageAction().simulate('click', simulatedClickEvent); expect(navigateToUrl).toHaveBeenCalledWith( '/search_indices/index-name/domain_management/1234' @@ -167,7 +169,7 @@ describe('DomainsTable', () => { describe('delete action', () => { it('clicking the action and confirming deletes the domain', () => { - getDeleteAction().simulate('click'); + getDeleteAction().simulate('click', simulatedClickEvent); expect(actions.showModal).toHaveBeenCalled(); }); diff --git a/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/role_mappings_table.tsx b/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/role_mappings_table.tsx index 427368a2a6f98..45756b91b73d6 100644 --- a/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/role_mappings_table.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/shared/role_mapping/role_mappings_table.tsx @@ -170,7 +170,7 @@ export const RoleMappingsTable: React.FC = ({ search={search} pagination={pagination} message={ROLE_MAPPINGS_NO_RESULTS_MESSAGE} - responsive={false} + responsiveBreakpoint={false} /> ); }; diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/sources_table/sources_table.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/sources_table/sources_table.tsx index 8081dbff5b3fe..68f7bf732c427 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/sources_table/sources_table.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/components/shared/sources_table/sources_table.tsx @@ -26,7 +26,7 @@ export const SourcesTable: React.FC = ({ onSearchableToggle, }) => { return ( - + {SOURCE} {STATUS_HEADER} diff --git a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_source_prioritization.tsx b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_source_prioritization.tsx index f72d4825aa040..f4a9790770ee4 100644 --- a/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_source_prioritization.tsx +++ b/x-pack/plugins/enterprise_search/public/applications/workplace_search/views/groups/components/group_source_prioritization.tsx @@ -123,7 +123,7 @@ export const GroupSourcePrioritization: React.FC = () => { ); const sourceTable = ( - + {SOURCE_TABLE_HEADER} {PRIORITY_TABLE_HEADER} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/multi_text_input.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/multi_text_input.tsx index ba17c3081f935..452e8bd55dcf5 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/multi_text_input.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/multi_text_input.tsx @@ -38,7 +38,7 @@ interface RowProps { onBlur?: () => void; autoFocus?: boolean; isDisabled?: boolean; - showDeleteButton?: boolean; + isMultiRow?: boolean; } const Row: FunctionComponent = ({ @@ -50,7 +50,7 @@ const Row: FunctionComponent = ({ onBlur, autoFocus, isDisabled, - showDeleteButton, + isMultiRow, }) => { const onDeleteHandler = useCallback(() => { onDelete(index); @@ -73,10 +73,21 @@ const Row: FunctionComponent = ({ autoFocus={autoFocus} disabled={isDisabled} onBlur={onBlur} + aria-label={ + isMultiRow + ? i18n.translate('xpack.fleet.multiTextInput.ariaLabel', { + defaultMessage: '"{fieldLabel}" input {index}', + values: { + fieldLabel, + index: index + 1, + }, + }) + : fieldLabel + } data-test-subj={`multiTextInputRow-${index}`} /> - {showDeleteButton && ( + {isMultiRow && ( = ({ value={row} autoFocus={autoFocus} isDisabled={isDisabled} - showDeleteButton={rows.length > 1} + isMultiRow={rows.length > 1} /> ))} diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/package_policy_input_var_field.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/package_policy_input_var_field.tsx index 623523da56570..9464d60402a1d 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/package_policy_input_var_field.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/create_package_policy_page/components/steps/components/package_policy_input_var_field.tsx @@ -143,6 +143,7 @@ export const PackagePolicyInputVarField: React.FunctionComponent : fieldLabel} labelAppend={ isOptional ? ( diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx index 7f3880947782c..fd9a27ed66f01 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/details_page/components/package_policies/package_policies_table.tsx @@ -335,7 +335,6 @@ export const PackagePoliciesTable: React.FunctionComponent = ({ }, ], }} - isSelectable={false} /> ); }; diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.tsx index a24ba5e7135a8..cdd804f60d484 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agent_policy/list_page/index.tsx @@ -279,7 +279,6 @@ export const AgentPolicyListPage: React.FunctionComponent<{}> = () => { loading={isLoading} - hasActions={true} noItemsMessage={ isLoading ? ( = () => { items={agentPolicyData ? agentPolicyData.items : []} itemId="id" columns={columns} - isSelectable={false} pagination={{ pageIndex: pagination.currentPage - 1, pageSize: pagination.pageSize, diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_list_table.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_list_table.tsx index dc4eea8b69e2d..1a1320e8b942a 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_list_table.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/agent_list_page/components/agent_list_table.tsx @@ -321,7 +321,6 @@ export const AgentListTable: React.FC = (props: Props) => { className="fleet__agentList__table" data-test-subj="fleetAgentListTable" loading={isLoading} - hasActions={true} noItemsMessage={noItemsMessage} items={ totalAgents @@ -338,7 +337,6 @@ export const AgentListTable: React.FC = (props: Props) => { totalItemCount: totalAgents, pageSizeOptions, }} - isSelectable={true} selection={ !authz.fleet.allAgents ? undefined diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/enrollment_token_list_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/enrollment_token_list_page/index.tsx index 05b4ead4cc3ea..b72794868a1c2 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/agents/enrollment_token_list_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/agents/enrollment_token_list_page/index.tsx @@ -275,7 +275,6 @@ export const EnrollmentTokenListPage: React.FunctionComponent<{}> = () => { data-test-subj="enrollmentTokenListTable" loading={isLoading} - hasActions={true} noItemsMessage={ isLoading ? ( { }} onChange={handleTablePagination} noItemsMessage={} - hasActions={true} /> diff --git a/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/list_page/index.tsx b/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/list_page/index.tsx index daf4aff7079b8..29f672c012a2c 100644 --- a/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/list_page/index.tsx +++ b/x-pack/plugins/fleet/public/applications/fleet/sections/data_stream/list_page/index.tsx @@ -193,7 +193,6 @@ export const DataStreamListPage: React.FunctionComponent<{}> = () => { return ( > ): TransformOptions['components'] => { return { - table: ({ children }) => ( - {children} - ), + table: ({ children }) => {children}, tr: ({ children }) => {children}, th: ({ children }) => {children}, td: ({ children }) => {children}, diff --git a/x-pack/plugins/fleet/server/constants/fleet_es_assets.ts b/x-pack/plugins/fleet/server/constants/fleet_es_assets.ts index 61044ee7a758e..448df5e5e683b 100644 --- a/x-pack/plugins/fleet/server/constants/fleet_es_assets.ts +++ b/x-pack/plugins/fleet/server/constants/fleet_es_assets.ts @@ -82,11 +82,13 @@ export const FLEET_COMPONENT_TEMPLATES = [ ]; export const STACK_COMPONENT_TEMPLATE_LOGS_SETTINGS = `logs@settings`; +export const STACK_COMPONENT_TEMPLATE_LOGS_MAPPINGS = `logs@mappings`; export const STACK_COMPONENT_TEMPLATE_METRICS_SETTINGS = `metrics@settings`; export const STACK_COMPONENT_TEMPLATE_METRICS_TSDB_SETTINGS = `metrics@tsdb-settings`; export const STACK_COMPONENT_TEMPLATE_ECS_MAPPINGS = 'ecs@mappings'; export const STACK_COMPONENT_TEMPLATES = [ + STACK_COMPONENT_TEMPLATE_LOGS_MAPPINGS, STACK_COMPONENT_TEMPLATE_LOGS_SETTINGS, STACK_COMPONENT_TEMPLATE_METRICS_SETTINGS, STACK_COMPONENT_TEMPLATE_METRICS_TSDB_SETTINGS, diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts index 82ee4a52b65a3..0ea833172e028 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.test.ts @@ -14,6 +14,8 @@ import { elasticsearchServiceMock } from '@kbn/core/server/mocks'; import { errors } from '@elastic/elasticsearch'; +import { STACK_COMPONENT_TEMPLATE_LOGS_MAPPINGS } from '../../../../constants/fleet_es_assets'; + import { createAppContextStartContractMock } from '../../../../mocks'; import { appContextService } from '../../..'; import type { RegistryDataStream } from '../../../../types'; @@ -23,6 +25,7 @@ import { FLEET_COMPONENT_TEMPLATES, STACK_COMPONENT_TEMPLATE_ECS_MAPPINGS, FLEET_GLOBALS_COMPONENT_TEMPLATE_NAME, + STACK_COMPONENT_TEMPLATE_LOGS_SETTINGS, } from '../../../../constants'; import { @@ -81,7 +84,8 @@ describe('EPM template', () => { isIndexModeTimeSeries: false, }); expect(template.composed_of).toStrictEqual([ - 'logs@settings', + STACK_COMPONENT_TEMPLATE_LOGS_MAPPINGS, + STACK_COMPONENT_TEMPLATE_LOGS_SETTINGS, ...composedOfTemplates, STACK_COMPONENT_TEMPLATE_ECS_MAPPINGS, ...FLEET_COMPONENT_TEMPLATES_NAMES, @@ -126,7 +130,8 @@ describe('EPM template', () => { isIndexModeTimeSeries: false, }); expect(template.composed_of).toStrictEqual([ - 'logs@settings', + STACK_COMPONENT_TEMPLATE_LOGS_MAPPINGS, + STACK_COMPONENT_TEMPLATE_LOGS_SETTINGS, ...composedOfTemplates, STACK_COMPONENT_TEMPLATE_ECS_MAPPINGS, FLEET_GLOBALS_COMPONENT_TEMPLATE_NAME, @@ -146,7 +151,8 @@ describe('EPM template', () => { isIndexModeTimeSeries: false, }); expect(template.composed_of).toStrictEqual([ - 'logs@settings', + STACK_COMPONENT_TEMPLATE_LOGS_MAPPINGS, + STACK_COMPONENT_TEMPLATE_LOGS_SETTINGS, STACK_COMPONENT_TEMPLATE_ECS_MAPPINGS, ...FLEET_COMPONENT_TEMPLATES_NAMES, ]); diff --git a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts index 0cc3816e839a9..c4984b1195475 100644 --- a/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts +++ b/x-pack/plugins/fleet/server/services/epm/elasticsearch/template/template.ts @@ -14,6 +14,8 @@ import type { import pMap from 'p-map'; import { isResponseError } from '@kbn/es-errors'; +import { STACK_COMPONENT_TEMPLATE_LOGS_MAPPINGS } from '../../../../constants/fleet_es_assets'; + import type { Field, Fields } from '../../fields/field'; import type { RegistryDataStream, @@ -135,7 +137,7 @@ const getBaseEsComponents = (type: string, isIndexModeTimeSeries: boolean): stri return [STACK_COMPONENT_TEMPLATE_METRICS_SETTINGS]; } else if (type === 'logs') { - return [STACK_COMPONENT_TEMPLATE_LOGS_SETTINGS]; + return [STACK_COMPONENT_TEMPLATE_LOGS_MAPPINGS, STACK_COMPONENT_TEMPLATE_LOGS_SETTINGS]; } return []; diff --git a/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/fields.ts b/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/fields.ts deleted file mode 100644 index d02ee39e8383b..0000000000000 --- a/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/fields.ts +++ /dev/null @@ -1,22 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import * as yaml from 'js-yaml'; - -export const createBaseFields = () => { - const fields = [ - { name: 'data_stream.type', type: 'constant_keyword', description: 'Data stream type.' }, - { name: 'data_stream.dataset', type: 'constant_keyword', description: 'Data stream dataset.' }, - { - name: 'data_stream.namespace', - type: 'constant_keyword', - description: 'Data stream namespace.', - }, - { name: '@timestamp', type: 'date', description: 'Event timestamp.' }, - ]; - return yaml.dump(fields); -}; diff --git a/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/index.ts b/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/index.ts index 76a7a6f6a089f..60f29536a53a6 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/index.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/dataset/index.ts @@ -5,6 +5,5 @@ * 2.0. */ -export * from './fields'; export * from './manifest'; export * from './utils'; diff --git a/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/generate.ts b/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/generate.ts index f32e1983a274e..08b08e6bb3982 100644 --- a/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/generate.ts +++ b/x-pack/plugins/fleet/server/services/epm/packages/custom_integrations/assets/generate.ts @@ -11,7 +11,7 @@ import { pkgToPkgKey } from '../../../registry'; import type { CustomPackageDatasetConfiguration } from '../../install'; -import { createBaseFields, createDatasetManifest } from './dataset'; +import { createDatasetManifest } from './dataset'; import { createDefaultPipeline } from './dataset/ingest_pipeline'; import { createManifest } from './manifest'; @@ -38,13 +38,6 @@ export const createAssets = (assetOptions: AssetOptions) => { }, // NOTE: buildDefaultSettings() will add a reference to the global ILM policy when // building the index template based on the fields assets. - { - path: `${pkgToPkgKey({ - name, - version, - })}/data_stream/${datasetName}/fields/base-fields.yml`, - content: Buffer.from(createBaseFields()), - }, { path: `${pkgToPkgKey({ name, diff --git a/x-pack/plugins/index_lifecycle_management/__jest__/policy_table.test.tsx b/x-pack/plugins/index_lifecycle_management/__jest__/policy_table.test.tsx index b7278f79b0668..f6a579b58f09b 100644 --- a/x-pack/plugins/index_lifecycle_management/__jest__/policy_table.test.tsx +++ b/x-pack/plugins/index_lifecycle_management/__jest__/policy_table.test.tsx @@ -307,11 +307,11 @@ describe('policy table', () => { const policyName = findTestSubject(firstRow, 'policyTablePolicyNameLink').text(); expect(policyName).toBe(`${testPolicy.name}`); const policyIndexTemplates = findTestSubject(firstRow, 'policy-indexTemplates').text(); - expect(policyIndexTemplates).toBe(`Linked index templates${testPolicy.indexTemplates.length}`); + expect(policyIndexTemplates).toBe(`${testPolicy.indexTemplates.length}`); const policyIndices = findTestSubject(firstRow, 'policy-indices').text(); - expect(policyIndices).toBe(`Linked indices${testPolicy.indices.length}`); + expect(policyIndices).toBe(`${testPolicy.indices.length}`); const policyModifiedDate = findTestSubject(firstRow, 'policy-modifiedDate').text(); - expect(policyModifiedDate).toBe(`Modified date${testDateFormatted}`); + expect(policyModifiedDate).toBe(`${testDateFormatted}`); }); test('opens a flyout with index templates', () => { const rendered = mountWithIntl(component); diff --git a/x-pack/plugins/index_management/__jest__/components/index_table.test.js b/x-pack/plugins/index_management/__jest__/components/index_table.test.js index af3333d3201ef..721d6a65d92cf 100644 --- a/x-pack/plugins/index_management/__jest__/components/index_table.test.js +++ b/x-pack/plugins/index_management/__jest__/components/index_table.test.js @@ -75,7 +75,7 @@ const status = (rendered, row = 0) => { rendered.update(); return findTestSubject(rendered, 'indexTableCell-status') .at(row) - .find('.euiTableCellContent') + .find('div.euiTableCellContent') .text(); }; diff --git a/x-pack/plugins/index_management/public/application/app_context.tsx b/x-pack/plugins/index_management/public/application/app_context.tsx index cf826037ca99d..43a2f3731dcdb 100644 --- a/x-pack/plugins/index_management/public/application/app_context.tsx +++ b/x-pack/plugins/index_management/public/application/app_context.tsx @@ -25,6 +25,7 @@ import type { SettingsStart } from '@kbn/core-ui-settings-browser'; import type { CloudSetup } from '@kbn/cloud-plugin/public'; import type { ConsolePluginStart } from '@kbn/console-plugin/public'; import { EuiBreadcrumb } from '@elastic/eui'; +import type { MlPluginStart } from '@kbn/ml-plugin/public'; import { ExtensionsService } from '../services'; import { UiMetricService, NotificationService, HttpService } from './services'; import { IndexManagementBreadcrumb } from './services/breadcrumbs'; @@ -47,6 +48,7 @@ export interface AppDependencies { share: SharePluginStart; cloud?: CloudSetup; console?: ConsolePluginStart; + ml?: MlPluginStart; }; services: { uiMetricService: UiMetricService; diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/component_template_list/table.tsx b/x-pack/plugins/index_management/public/application/components/component_templates/component_template_list/table.tsx index 7f6eb87566410..68e6e9b74f4c2 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/component_template_list/table.tsx +++ b/x-pack/plugins/index_management/public/application/components/component_templates/component_template_list/table.tsx @@ -131,7 +131,6 @@ export const ComponentTable: FunctionComponent = ({ const tableProps: EuiInMemoryTableProps = { tableLayout: 'auto', itemId: 'name', - isSelectable: true, 'data-test-subj': 'componentTemplatesTable', sorting: { sort: { field: 'name', direction: 'asc' } }, selection: { diff --git a/x-pack/plugins/index_management/public/application/components/component_templates/lib/api.ts b/x-pack/plugins/index_management/public/application/components/component_templates/lib/api.ts index 68602acfb409e..ca6f8f242d288 100644 --- a/x-pack/plugins/index_management/public/application/components/component_templates/lib/api.ts +++ b/x-pack/plugins/index_management/public/application/components/component_templates/lib/api.ts @@ -95,13 +95,6 @@ export const getApi = ( }); } - async function getInferenceModels() { - return sendRequest({ - path: `${apiBasePath}/inference/all`, - method: 'get', - }); - } - async function postDataStreamRollover(name: string) { return sendRequest({ path: `${apiBasePath}/data_streams/${encodeURIComponent(name)}/rollover`, @@ -126,6 +119,5 @@ export const getApi = ( getComponentTemplateDatastreams, postDataStreamRollover, postDataStreamMappingsFromTemplate, - getInferenceModels, }; }; diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/inference_id_selects.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/inference_id_selects.tsx deleted file mode 100644 index bb823b2ba36b4..0000000000000 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/inference_id_selects.tsx +++ /dev/null @@ -1,98 +0,0 @@ -/* - * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one - * or more contributor license agreements. Licensed under the Elastic License - * 2.0; you may not use this file except in compliance with the Elastic License - * 2.0. - */ - -import { EuiCallOut, EuiFlexGroup, EuiFlexItem } from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; -import React, { useEffect, useState } from 'react'; - -import type { InferenceAPIConfigResponse } from '@kbn/ml-trained-models-utils'; -import { useComponentTemplatesContext } from '../../../../component_templates/component_templates_context'; -import { getFieldConfig } from '../../../lib'; -import { Form, SuperSelectField, UseField, useForm } from '../../../shared_imports'; -import { SuperSelectOption } from '../../../types'; -interface Props { - onChange(value: string): void; - 'data-test-subj'?: string; -} - -interface InferenceModel { - data: InferenceAPIConfigResponse[]; -} - -export const InferenceIdSelects = ({ onChange, 'data-test-subj': dataTestSubj }: Props) => { - const { form } = useForm({ defaultValue: { main: 'elser_model_2' } }); - const { subscribe } = form; - const { api } = useComponentTemplatesContext(); - const [inferenceModels, setInferenceModels] = useState({ data: [] }); - - const fieldConfigModelId = getFieldConfig('inference_id'); - const defaultInferenceIds: SuperSelectOption[] = [ - { value: 'elser_model_2', inputDisplay: 'elser_model_2' }, - { value: 'e5', inputDisplay: 'e5' }, - ]; - - const inferenceIdOptionsFromModels: SuperSelectOption[] = - inferenceModels?.data?.map((model: InferenceAPIConfigResponse) => ({ - value: model.model_id, - inputDisplay: model.model_id, - })) || []; - - const inferenceIdOptions: SuperSelectOption[] = [ - ...defaultInferenceIds, - ...inferenceIdOptionsFromModels, - ]; - - useEffect(() => { - const fetchInferenceModels = async () => { - const models = await api.getInferenceModels(); - setInferenceModels(models); - }; - - fetchInferenceModels(); - }, [api]); - - useEffect(() => { - const subscription = subscribe((updateData) => { - const formData = updateData.data.internal; - const value = formData.main; - onChange(value); - }); - - return subscription.unsubscribe; - }, [subscribe, onChange]); - - return ( -

- - - - {(field) => ( - - )} - - - - - - -
- ); -}; diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/relations_parameter.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/relations_parameter.tsx index c9a3b49d9e048..f01d2d8699e25 100644 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/relations_parameter.tsx +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/relations_parameter.tsx @@ -244,7 +244,6 @@ export const RelationsParameter = () => { defaultMessage: 'No relationship defined', } )} - hasActions /> {/* Add relation button */} diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/select_inference_id.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/select_inference_id.tsx new file mode 100644 index 0000000000000..da1a5c4c33fc8 --- /dev/null +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/field_parameters/select_inference_id.tsx @@ -0,0 +1,353 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { + EuiButton, + EuiCallOut, + EuiContextMenuItem, + EuiContextMenuPanel, + EuiFlexGroup, + EuiFlexItem, + EuiHorizontalRule, + EuiPanel, + EuiPopover, + EuiSelectable, + EuiSelectableOption, + EuiSpacer, + EuiText, + EuiTitle, +} from '@elastic/eui'; +import { i18n } from '@kbn/i18n'; +import React, { useEffect, useState, useCallback, useMemo } from 'react'; + +import { + InferenceAPIConfigResponse, + SUPPORTED_PYTORCH_TASKS, + TRAINED_MODEL_TYPE, +} from '@kbn/ml-trained-models-utils'; +import { InferenceTaskType } from '@elastic/elasticsearch/lib/api/types'; +import { ModelConfig } from '@kbn/inference_integration_flyout/types'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { InferenceFlyoutWrapper } from '@kbn/inference_integration_flyout/components/inference_flyout_wrapper'; +import { TrainedModelConfigResponse } from '@kbn/ml-plugin/common/types/trained_models'; +import { extractErrorProperties } from '@kbn/ml-error-utils'; +import { getFieldConfig } from '../../../lib'; +import { useAppContext } from '../../../../../app_context'; +import { Form, UseField, useForm } from '../../../shared_imports'; +import { useLoadInferenceModels } from '../../../../../services/api'; +interface Props { + onChange(value: string): void; + 'data-test-subj'?: string; +} +export const SelectInferenceId = ({ onChange, 'data-test-subj': dataTestSubj }: Props) => { + const { + core: { application }, + docLinks, + plugins: { ml }, + } = useAppContext(); + + const getMlTrainedModelPageUrl = useCallback(async () => { + return await ml?.locator?.getUrl({ + page: 'trained_models', + }); + }, [ml]); + + const { form } = useForm({ defaultValue: { main: 'elser_model_2' } }); + const { subscribe } = form; + + const [isInferenceFlyoutVisible, setIsInferenceFlyoutVisible] = useState(false); + const [inferenceAddError, setInferenceAddError] = useState(undefined); + const [availableTrainedModels, setAvailableTrainedModels] = useState< + TrainedModelConfigResponse[] + >([]); + const onFlyoutClose = useCallback(() => { + setInferenceAddError(undefined); + setIsInferenceFlyoutVisible(!isInferenceFlyoutVisible); + }, [isInferenceFlyoutVisible]); + useEffect(() => { + const fetchAvailableTrainedModels = async () => { + setAvailableTrainedModels((await ml?.mlApi?.trainedModels?.getTrainedModels()) ?? []); + }; + fetchAvailableTrainedModels(); + }, [ml]); + + const trainedModels = useMemo(() => { + const availableTrainedModelsList = availableTrainedModels + .filter( + (model: TrainedModelConfigResponse) => + model.model_type === TRAINED_MODEL_TYPE.PYTORCH && + (model?.inference_config + ? Object.keys(model.inference_config).includes(SUPPORTED_PYTORCH_TASKS.TEXT_EMBEDDING) + : {}) + ) + .map((model: TrainedModelConfigResponse) => model.model_id); + + return availableTrainedModelsList; + }, [availableTrainedModels]); + + const fieldConfigModelId = getFieldConfig('inference_id'); + const defaultInferenceIds: EuiSelectableOption[] = useMemo(() => { + return [{ checked: 'on', label: 'elser_model_2' }, { label: 'e5' }]; + }, []); + + const { isLoading, data: models, resendRequest } = useLoadInferenceModels(); + + const [options, setOptions] = useState([...defaultInferenceIds]); + const inferenceIdOptionsFromModels = useMemo(() => { + const inferenceIdOptions = + models?.map((model: InferenceAPIConfigResponse) => ({ + label: model.model_id, + })) || []; + + return inferenceIdOptions; + }, [models]); + + useEffect(() => { + setOptions([...defaultInferenceIds, ...inferenceIdOptionsFromModels]); + }, [inferenceIdOptionsFromModels, defaultInferenceIds]); + const [isCreateInferenceApiLoading, setIsCreateInferenceApiLoading] = useState(false); + + const onSaveInferenceCallback = useCallback( + async (inferenceId: string, taskType: InferenceTaskType, modelConfig: ModelConfig) => { + setIsCreateInferenceApiLoading(true); + try { + await ml?.mlApi?.inferenceModels?.createInferenceEndpoint( + inferenceId, + taskType, + modelConfig + ); + setIsInferenceFlyoutVisible(!isInferenceFlyoutVisible); + setIsCreateInferenceApiLoading(false); + setInferenceAddError(undefined); + resendRequest(); + } catch (error) { + const errorObj = extractErrorProperties(error); + setInferenceAddError(errorObj.message); + setIsCreateInferenceApiLoading(false); + } + }, + [isInferenceFlyoutVisible, resendRequest, ml] + ); + useEffect(() => { + const subscription = subscribe((updateData) => { + const formData = updateData.data.internal; + const value = formData.main; + onChange(value); + }); + + return subscription.unsubscribe; + }, [subscribe, onChange]); + const selectedOptions = options.filter((option) => option.checked).find((k) => k.label); + const [isInferencePopoverVisible, setIsInferencePopoverVisible] = useState(false); + const [inferenceEndpointError, setInferenceEndpointError] = useState( + undefined + ); + const onInferenceEndpointChange = useCallback( + async (inferenceId: string) => { + const modelsExist = options.some((i) => i.label === inferenceId); + if (modelsExist) { + setInferenceEndpointError('Inference Endpoint id already exists'); + } else { + setInferenceEndpointError(undefined); + } + }, + [options] + ); + + const inferencePopover = () => { + return ( + + + {(field) => ( + <> + +

+ {field.label} +

+
+ + { + setIsInferencePopoverVisible(!isInferencePopoverVisible); + }} + > + + + + )} +
+ + } + isOpen={isInferencePopoverVisible} + panelPaddingSize="m" + closePopover={() => setIsInferencePopoverVisible(!isInferencePopoverVisible)} + > + + { + setIsInferenceFlyoutVisible(!isInferenceFlyoutVisible); + setInferenceEndpointError(undefined); + setIsInferencePopoverVisible(!isInferencePopoverVisible); + }} + > + {i18n.translate( + 'xpack.idxMgmt.mappingsEditor.parameters.inferenceId.popover.addInferenceEndpointButton', + { + defaultMessage: 'Add inference Endpoint', + } + )} + + + { + const mlTrainedPageUrl = await getMlTrainedModelPageUrl(); + if (typeof mlTrainedPageUrl === 'string') { + application.navigateToUrl(mlTrainedPageUrl); + } + }} + > + {i18n.translate( + 'xpack.idxMgmt.mappingsEditor.parameters.inferenceId.popover.manageInferenceEndpointButton', + { + defaultMessage: 'Manage Inference Endpoint', + } + )} + + + + + +

+ {i18n.translate( + 'xpack.idxMgmt.mappingsEditor.parameters.inferenceId.popover.selectable.Label', + { + defaultMessage: 'Existing endpoints', + } + )} +

+
+ + + { + setOptions(newOptions); + setIsInferencePopoverVisible(!isInferencePopoverVisible); + }} + > + {(list, search) => ( + <> + {search} + {list} + + )} + +
+
+ ); + }; + return ( +
+ + + {inferencePopover()} + {isInferenceFlyoutVisible && ( + + + + + + + + + ) + } + onInferenceEndpointChange={onInferenceEndpointChange} + inferenceEndpointError={inferenceEndpointError} + trainedModels={trainedModels} + onSaveInferenceEndpoint={onSaveInferenceCallback} + onFlyoutClose={onFlyoutClose} + isInferenceFlyoutVisible={isInferenceFlyoutVisible} + supportedNlpModels={docLinks.links.enterpriseSearch.supportedNlpModels} + nlpImportModel={docLinks.links.ml.nlpImportModel} + isCreateInferenceApiLoading={isCreateInferenceApiLoading} + setInferenceEndpointError={setInferenceEndpointError} + /> + )} + + + + + +
+ ); +}; diff --git a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/fields/create_field/create_field.tsx b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/fields/create_field/create_field.tsx index d3cae30b457a1..a4fa5e734af3b 100644 --- a/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/fields/create_field/create_field.tsx +++ b/x-pack/plugins/index_management/public/application/components/mappings_editor/components/document_fields/fields/create_field/create_field.tsx @@ -32,7 +32,7 @@ import { } from '../../../../shared_imports'; import { MainType, NormalizedFields } from '../../../../types'; import { NameParameter, SubTypeParameter, TypeParameter } from '../../field_parameters'; -import { InferenceIdSelects } from '../../field_parameters/inference_id_selects'; +import { SelectInferenceId } from '../../field_parameters/select_inference_id'; import { ReferenceFieldSelects } from '../../field_parameters/reference_field_selects'; import { FieldBetaBadge } from '../field_beta_badge'; import { getRequiredParametersFormForType } from './required_parameters_forms'; @@ -332,7 +332,7 @@ function InferenceIdCombo() { <> - {(field) => } + {(field) => } ); diff --git a/x-pack/plugins/index_management/public/application/mount_management_section.ts b/x-pack/plugins/index_management/public/application/mount_management_section.ts index a045c60988465..636cff6375fe5 100644 --- a/x-pack/plugins/index_management/public/application/mount_management_section.ts +++ b/x-pack/plugins/index_management/public/application/mount_management_section.ts @@ -12,7 +12,6 @@ import { ManagementAppMountParams } from '@kbn/management-plugin/public'; import { UsageCollectionSetup } from '@kbn/usage-collection-plugin/public'; import { CloudSetup } from '@kbn/cloud-plugin/public'; -import { StartDependencies } from '@kbn/index-management'; import { UIM_APP_NAME } from '../../common/constants'; import { PLUGIN } from '../../common/constants/plugin'; import { AppDependencies } from './app_context'; @@ -25,6 +24,7 @@ import { setUiMetricService } from './services/api'; import { notificationService } from './services/notification'; import { httpService } from './services/http'; import { ExtensionsService } from '../services/extensions_service'; +import { StartDependencies } from '../types'; function initSetup({ usageCollection, @@ -83,6 +83,7 @@ export function getIndexManagementDependencies({ share: startDependencies.share, cloud, console: startDependencies.console, + ml: startDependencies.ml, }, services: { httpService, diff --git a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_table/data_stream_table.tsx b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_table/data_stream_table.tsx index 97293c9a5f13b..8fc1e46bf0688 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_table/data_stream_table.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/data_stream_list/data_stream_table/data_stream_table.tsx @@ -271,7 +271,6 @@ export const DataStreamTable: React.FunctionComponent = ({ columns={columns} search={searchConfig} sorting={sorting} - isSelectable={true} selection={selectionConfig} pagination={pagination} rowProps={() => ({ diff --git a/x-pack/plugins/index_management/public/application/sections/home/enrich_policies_list/policies_table/policies_table.tsx b/x-pack/plugins/index_management/public/application/sections/home/enrich_policies_list/policies_table/policies_table.tsx index 50140898ee090..ad0106869361f 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/enrich_policies_list/policies_table/policies_table.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/enrich_policies_list/policies_table/policies_table.tsx @@ -169,7 +169,6 @@ export const PoliciesTable: FunctionComponent = ({ search={search} pagination={pagination} sorting={true} - isSelectable={false} /> ); }; diff --git a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings_content.tsx b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings_content.tsx index 1449c472ff648..fecdc7890b033 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings_content.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/index_list/details_page/details_page_mappings_content.tsx @@ -83,7 +83,6 @@ export const DetailsPageMappingsContent: FunctionComponent<{ services: { extensionsService }, core: { getUrlForApp }, } = useAppContext(); - const state = useMappingsState(); const dispatch = useDispatch(); @@ -453,7 +452,7 @@ export const DetailsPageMappingsContent: FunctionComponent<{ {errorSavingMappings} {isAddingFields && ( - + } > - + {newFieldsLength <= 0 ? ( { const { name } = index; const { fieldName } = columnConfig; - if (fieldName === 'name') { - return ( - -
- {this.buildRowCell(index, columnConfig)} -
- - ); - } return ( diff --git a/x-pack/plugins/index_management/public/application/sections/home/template_list/legacy_templates/template_table/template_table.tsx b/x-pack/plugins/index_management/public/application/sections/home/template_list/legacy_templates/template_table/template_table.tsx index 136fa6a63fa41..a390c28e78480 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/template_list/legacy_templates/template_table/template_table.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/template_list/legacy_templates/template_table/template_table.tsx @@ -281,7 +281,6 @@ export const LegacyTemplateTable: React.FunctionComponent = ({ columns={columns} search={searchConfig} sorting={sorting} - isSelectable={true} selection={selectionConfig} pagination={pagination} rowProps={() => ({ diff --git a/x-pack/plugins/index_management/public/application/sections/home/template_list/template_table/template_table.tsx b/x-pack/plugins/index_management/public/application/sections/home/template_list/template_table/template_table.tsx index 4a08a93c9a0c4..775bc8aa34ff8 100644 --- a/x-pack/plugins/index_management/public/application/sections/home/template_list/template_table/template_table.tsx +++ b/x-pack/plugins/index_management/public/application/sections/home/template_list/template_table/template_table.tsx @@ -282,7 +282,6 @@ export const TemplateTable: React.FunctionComponent = ({ columns={columns} search={searchConfig} sorting={sorting} - isSelectable={true} selection={selectionConfig} pagination={pagination} rowProps={() => ({ diff --git a/x-pack/plugins/index_management/public/application/services/api.ts b/x-pack/plugins/index_management/public/application/services/api.ts index f9a454af4b1a8..87fe2bdc7b70a 100644 --- a/x-pack/plugins/index_management/public/application/services/api.ts +++ b/x-pack/plugins/index_management/public/application/services/api.ts @@ -6,8 +6,9 @@ */ import { METRIC_TYPE } from '@kbn/analytics'; -import { IndicesStatsResponse } from '@elastic/elasticsearch/lib/api/types'; import type { SerializedEnrichPolicy } from '@kbn/index-management'; +import { IndicesStatsResponse } from '@elastic/elasticsearch/lib/api/types'; +import { InferenceAPIConfigResponse } from '@kbn/ml-trained-models-utils'; import { API_BASE_PATH, INTERNAL_API_BASE_PATH, @@ -440,3 +441,10 @@ export function updateIndexMappings(indexName: string, newFields: Fields) { body: JSON.stringify({ ...newFields }), }); } + +export function useLoadInferenceModels() { + return useRequest({ + path: `${API_BASE_PATH}/inference/all`, + method: 'get', + }); +} diff --git a/x-pack/plugins/index_management/public/application/services/index.ts b/x-pack/plugins/index_management/public/application/services/index.ts index 2a88ce37d9a99..34e1d8cedf784 100644 --- a/x-pack/plugins/index_management/public/application/services/index.ts +++ b/x-pack/plugins/index_management/public/application/services/index.ts @@ -28,6 +28,7 @@ export { loadIndexStatistics, useLoadIndexSettings, createIndex, + useLoadInferenceModels, } from './api'; export { sortTable } from './sort_table'; diff --git a/x-pack/plugins/index_management/public/plugin.ts b/x-pack/plugins/index_management/public/plugin.ts index d733c4dfeeeb2..baf00ab75f7b9 100644 --- a/x-pack/plugins/index_management/public/plugin.ts +++ b/x-pack/plugins/index_management/public/plugin.ts @@ -15,16 +15,11 @@ import { PluginInitializerContext, ScopedHistory, } from '@kbn/core/public'; -import { - IndexManagementPluginSetup, - SetupDependencies, - StartDependencies, - IndexManagementPluginStart, -} from '@kbn/index-management'; +import { IndexManagementPluginSetup, IndexManagementPluginStart } from '@kbn/index-management'; import { setExtensionsService } from './application/store/selectors/extension_service'; import { ExtensionsService } from './services/extensions_service'; -import { ClientConfigType } from './types'; +import { ClientConfigType, SetupDependencies, StartDependencies } from './types'; // avoid import from index files in plugin.ts, use specific import paths import { PLUGIN } from '../common/constants/plugin'; @@ -108,8 +103,7 @@ export class IndexMgmtUIPlugin } public start(coreStart: CoreStart, plugins: StartDependencies): IndexManagementPluginStart { - const { fleet, usageCollection, cloud, share, console } = plugins; - + const { fleet, usageCollection, cloud, share, console, ml } = plugins; return { extensionsService: this.extensionsService.setup(), getIndexMappingComponent: (deps: { history: ScopedHistory }) => { @@ -130,6 +124,7 @@ export class IndexMgmtUIPlugin share, cloud, console, + ml, }, services: { extensionsService: this.extensionsService, diff --git a/x-pack/plugins/index_management/public/types.ts b/x-pack/plugins/index_management/public/types.ts index 9b85903f1884a..01740736e721d 100644 --- a/x-pack/plugins/index_management/public/types.ts +++ b/x-pack/plugins/index_management/public/types.ts @@ -5,6 +5,30 @@ * 2.0. */ +import { CloudSetup } from '@kbn/cloud-plugin/public'; +import { ConsolePluginStart } from '@kbn/console-plugin/public'; +import { ManagementSetup } from '@kbn/management-plugin/public'; +import { MlPluginStart } from '@kbn/ml-plugin/public'; +import { SharePluginSetup, SharePluginStart } from '@kbn/share-plugin/public'; +import { UsageCollectionSetup } from '@kbn/usage-collection-plugin/public'; +export interface SetupDependencies { + fleet?: unknown; + usageCollection: UsageCollectionSetup; + management: ManagementSetup; + share: SharePluginSetup; + cloud?: CloudSetup; +} + +export interface StartDependencies { + cloud?: CloudSetup; + console?: ConsolePluginStart; + share: SharePluginStart; + fleet?: unknown; + usageCollection: UsageCollectionSetup; + management: ManagementSetup; + ml?: MlPluginStart; +} + export interface ClientConfigType { ui: { enabled: boolean; diff --git a/x-pack/plugins/index_management/tsconfig.json b/x-pack/plugins/index_management/tsconfig.json index 7f73fdc262622..3a8a039dd5153 100644 --- a/x-pack/plugins/index_management/tsconfig.json +++ b/x-pack/plugins/index_management/tsconfig.json @@ -47,6 +47,9 @@ "@kbn/shared-ux-utility", "@kbn/index-management", "@kbn/utility-types", + "@kbn/inference_integration_flyout", + "@kbn/ml-plugin", + "@kbn/ml-error-utils", "@kbn/react-kibana-context-render", ], "exclude": [ diff --git a/x-pack/plugins/ingest_pipelines/public/application/sections/pipelines_list/table.tsx b/x-pack/plugins/ingest_pipelines/public/application/sections/pipelines_list/table.tsx index f689f55e99742..8c50cc885e073 100644 --- a/x-pack/plugins/ingest_pipelines/public/application/sections/pipelines_list/table.tsx +++ b/x-pack/plugins/ingest_pipelines/public/application/sections/pipelines_list/table.tsx @@ -114,7 +114,6 @@ export const PipelineTable: FunctionComponent = ({ const tableProps: EuiInMemoryTableProps = { itemId: 'name', - isSelectable: true, 'data-test-subj': 'pipelinesTable', sorting: { sort: { field: 'name', direction: 'asc' } }, selection: { diff --git a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx index ca23cc220e3dd..9a4666788656b 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/dimension_panel/dimension_editor.tsx @@ -800,7 +800,7 @@ export function DimensionEditor(props: DimensionEditorProps) { compressed={true} rowHeader="firstName" columns={columnsSidebar} - responsive={false} + responsiveBreakpoint={false} />
diff --git a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/formula/editor/formula_help.tsx b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/formula/editor/formula_help.tsx index 4bb885024bcbf..abc43a03dc651 100644 --- a/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/formula/editor/formula_help.tsx +++ b/x-pack/plugins/lens/public/datasources/form_based/operations/definitions/formula/editor/formula_help.tsx @@ -154,7 +154,7 @@ export function getDocumentationSections({ const sections = { groups: helpGroups, - initialSection: {formulasSections.howTo}, + initialSection: {formulasSections.howTo}, }; return sections; diff --git a/x-pack/plugins/licensing/kibana.jsonc b/x-pack/plugins/licensing/kibana.jsonc index f7a68eb6a4dea..91eaa2eb4f38a 100644 --- a/x-pack/plugins/licensing/kibana.jsonc +++ b/x-pack/plugins/licensing/kibana.jsonc @@ -10,8 +10,6 @@ "xpack", "licensing" ], - "requiredBundles": [ - "kibanaReact" - ] + "requiredBundles": [] } } diff --git a/x-pack/plugins/licensing/public/expired_banner.tsx b/x-pack/plugins/licensing/public/expired_banner.tsx index e9e6af537a4a2..9c25ecd484696 100644 --- a/x-pack/plugins/licensing/public/expired_banner.tsx +++ b/x-pack/plugins/licensing/public/expired_banner.tsx @@ -7,9 +7,10 @@ import React from 'react'; import { EuiCallOut } from '@elastic/eui'; +import { CoreStart } from '@kbn/core/public'; import { FormattedMessage } from '@kbn/i18n-react'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; interface Props { type: string; @@ -46,5 +47,7 @@ const ExpiredBanner: React.FunctionComponent = (props) => (
); -export const mountExpiredBanner = (props: Props) => - toMountPoint(); +type MountProps = Props & Pick; + +export const mountExpiredBanner = ({ type, uploadUrl, ...startServices }: MountProps) => + toMountPoint(, startServices); diff --git a/x-pack/plugins/licensing/public/plugin.test.ts b/x-pack/plugins/licensing/public/plugin.test.ts index ba7e2cd6936e6..439be2410e9dd 100644 --- a/x-pack/plugins/licensing/public/plugin.test.ts +++ b/x-pack/plugins/licensing/public/plugin.test.ts @@ -406,10 +406,15 @@ describe('licensing plugin', () => { expect(coreStart.overlays.banners.add).toHaveBeenCalledTimes(1); await refresh(); expect(coreStart.overlays.banners.add).toHaveBeenCalledTimes(1); - expect(mountExpiredBannerMock).toHaveBeenCalledWith({ - type: 'gold', - uploadUrl: '/app/management/stack/license_management/upload_license', - }); + expect(mountExpiredBannerMock).toHaveBeenCalledWith( + expect.objectContaining({ + type: 'gold', + uploadUrl: '/app/management/stack/license_management/upload_license', + analytics: expect.any(Object), + i18n: expect.any(Object), + theme: expect.any(Object), + }) + ); }); }); diff --git a/x-pack/plugins/licensing/public/plugin.ts b/x-pack/plugins/licensing/public/plugin.ts index 3953a29a08214..2a56bedf67b09 100644 --- a/x-pack/plugins/licensing/public/plugin.ts +++ b/x-pack/plugins/licensing/public/plugin.ts @@ -46,7 +46,7 @@ export class LicensingPlugin implements Plugin { @@ -34,9 +33,6 @@ export const LogCategorizationPage: FC = () => { defaultMessage="Log pattern analysis" /> - - - {dataView && ( diff --git a/x-pack/plugins/ml/public/application/components/custom_selection_table/custom_selection_table.js b/x-pack/plugins/ml/public/application/components/custom_selection_table/custom_selection_table.js index a592fb571a03e..d1597cce0fb08 100644 --- a/x-pack/plugins/ml/public/application/components/custom_selection_table/custom_selection_table.js +++ b/x-pack/plugins/ml/public/application/components/custom_selection_table/custom_selection_table.js @@ -325,7 +325,7 @@ export function CustomSelectionTable({ diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/analytics_list.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/analytics_list.tsx index cc5c6d5ad1e75..73f50f51befc2 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/analytics_list.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/analytics_management/components/analytics_list/analytics_list.tsx @@ -280,10 +280,7 @@ export const DataFrameAnalyticsList: FC = ({ allowNeutralSort={false} columns={columns} - hasActions={false} - isExpandable={true} itemIdToExpandedRowMap={itemIdToExpandedRowMap} - isSelectable={false} items={analytics} itemId={DataFrameAnalyticsListColumn.id} loading={isLoading} diff --git a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/components/analytics_selector/analytics_id_selector.tsx b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/components/analytics_selector/analytics_id_selector.tsx index cbfe96f14ff9d..7878e58193b89 100644 --- a/x-pack/plugins/ml/public/application/data_frame_analytics/pages/components/analytics_selector/analytics_id_selector.tsx +++ b/x-pack/plugins/ml/public/application/data_frame_analytics/pages/components/analytics_selector/analytics_id_selector.tsx @@ -238,7 +238,6 @@ export function AnalyticsIdSelector({ pagination={pagination} sorting={true} selection={selectionValue} - isSelectable={true} /> ), }, @@ -259,7 +258,6 @@ export function AnalyticsIdSelector({ pagination={pagination} sorting={true} selection={selectionValue} - isSelectable={true} /> ), }); diff --git a/x-pack/plugins/ml/public/application/jobs/jobs_list/components/jobs_list/jobs_list.js b/x-pack/plugins/ml/public/application/jobs/jobs_list/components/jobs_list/jobs_list.js index b7988b0f71a81..c746d8003ce6b 100644 --- a/x-pack/plugins/ml/public/application/jobs/jobs_list/components/jobs_list/jobs_list.js +++ b/x-pack/plugins/ml/public/application/jobs/jobs_list/components/jobs_list/jobs_list.js @@ -304,13 +304,10 @@ export class JobsList extends Component { field: 'latestTimestampSortValue', 'data-test-subj': 'mlJobListColumnLatestTimestamp', sortable: true, - render: (time, item) => ( - - {item.latestTimestampMs === undefined - ? '' - : moment(item.latestTimestampMs).format(TIME_FORMAT)} - - ), + render: (time, item) => + item.latestTimestampMs === undefined + ? '' + : moment(item.latestTimestampMs).format(TIME_FORMAT), textOnly: true, width: '15%', }, @@ -393,9 +390,7 @@ export class JobsList extends Component { onChange={this.onTableChange} selection={selectionControls} itemIdToExpandedRowMap={this.state.itemIdToExpandedRowMap} - isExpandable={true} sorting={sorting} - hasActions={true} rowProps={(item) => ({ 'data-test-subj': `mlJobListRow row-${item.id}`, })} diff --git a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/advanced_detector_modal/function_help.tsx b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/advanced_detector_modal/function_help.tsx index 6f280a8da6de6..41b9c24c635b3 100644 --- a/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/advanced_detector_modal/function_help.tsx +++ b/x-pack/plugins/ml/public/application/jobs/new_job/pages/components/pick_fields_step/components/advanced_detector_modal/function_help.tsx @@ -243,7 +243,7 @@ export const FunctionHelpPopover: FC = memo(() => { items={items} compressed={true} columns={columns} - responsive={false} + responsiveBreakpoint={false} /> diff --git a/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/allocated_models.tsx b/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/allocated_models.tsx index d33c1a0c8bc40..f0ff64eae6445 100644 --- a/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/allocated_models.tsx +++ b/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/allocated_models.tsx @@ -257,9 +257,6 @@ export const AllocatedModels: FC = ({ allowNeutralSort={false} columns={columns} - hasActions={false} - isExpandable={false} - isSelectable={false} items={models} itemId={'key'} rowProps={(item) => ({ diff --git a/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/nodes_list.tsx b/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/nodes_list.tsx index 2fbb8ffb8a144..c6632adcefccf 100644 --- a/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/nodes_list.tsx +++ b/x-pack/plugins/ml/public/application/memory_usage/nodes_overview/nodes_list.tsx @@ -220,10 +220,7 @@ export const NodesList: FC = ({ compactView = false }) => { allowNeutralSort={false} columns={columns} - hasActions={false} - isExpandable={true} itemIdToExpandedRowMap={itemIdToExpandedRowMap} - isSelectable={false} items={items} itemId={'id'} loading={isLoading} diff --git a/x-pack/plugins/ml/public/application/model_management/add_model_flyout.tsx b/x-pack/plugins/ml/public/application/model_management/add_model_flyout.tsx index 618c9ea56a847..563797b2ae932 100644 --- a/x-pack/plugins/ml/public/application/model_management/add_model_flyout.tsx +++ b/x-pack/plugins/ml/public/application/model_management/add_model_flyout.tsx @@ -10,7 +10,6 @@ import { EuiButton, EuiButtonEmpty, EuiCheckableCard, - EuiCodeBlock, EuiFlexGroup, EuiFlexItem, EuiFlyout, @@ -21,17 +20,16 @@ import { EuiIcon, EuiLink, EuiSpacer, - EuiSteps, EuiTab, EuiTabs, EuiText, EuiTitle, EuiToolTip, } from '@elastic/eui'; -import { i18n } from '@kbn/i18n'; import { FormattedMessage } from '@kbn/i18n-react'; import React, { type FC, useMemo, useState } from 'react'; import { groupBy } from 'lodash'; +import { ElandPythonClient } from '@kbn/inference_integration_flyout'; import { usePermissionCheck } from '../capabilities/check_capabilities'; import { useMlKibana } from '../contexts/kibana'; import type { ModelItem } from './models_list'; @@ -372,177 +370,9 @@ const ManualDownloadTabContent: FC = () => { } = useMlKibana(); return ( - <> - - -

- - - pip - - ), - pypiLink: ( - - PyPI - - ), - }} - /> - -

-

- - $ python -m pip install eland - -

-

- - - Conda - - ), - condaForgeLink: ( - - Conda Forge - - ), - }} - /> - -

-

- - $ conda install -c conda-forge eland - -

- - ), - }, - { - title: i18n.translate('xpack.ml.trainedModels.addModelFlyout.thirdParty.step2Title', { - defaultMessage: 'Importing your third-party model', - }), - children: ( - -

- - - -

- -

- - - - - - eland_import_hub_model
- --cloud-id <cloud-id> \
- -u <username> -p <password> \
- --hub-model-id <model-id> \
- --task-type ner \ -
-

- - - - - - - - - - - - - -
- ), - }, - { - title: i18n.translate('xpack.ml.trainedModels.addModelFlyout.thirdParty.step4Title', { - defaultMessage: 'Deploy your model', - }), - children: ( - <> - -

- -

-
- - -

- -

-
- - ), - }, - ]} - /> - + ); }; diff --git a/x-pack/plugins/ml/public/application/model_management/models_list.tsx b/x-pack/plugins/ml/public/application/model_management/models_list.tsx index b26014b57c065..8f4a9ae1e55f1 100644 --- a/x-pack/plugins/ml/public/application/model_management/models_list.tsx +++ b/x-pack/plugins/ml/public/application/model_management/models_list.tsx @@ -769,9 +769,6 @@ export const ModelsList: FC = ({
css={{ overflowX: 'auto' }} - isSelectable={true} - isExpandable={true} - hasActions={true} allowNeutralSort={false} columns={columns} itemIdToExpandedRowMap={itemIdToExpandedRowMap} diff --git a/x-pack/plugins/ml/public/application/model_management/pipelines/expanded_row.tsx b/x-pack/plugins/ml/public/application/model_management/pipelines/expanded_row.tsx index 25e76c989bb4f..904fe5bcbe09c 100644 --- a/x-pack/plugins/ml/public/application/model_management/pipelines/expanded_row.tsx +++ b/x-pack/plugins/ml/public/application/model_management/pipelines/expanded_row.tsx @@ -170,9 +170,6 @@ export const ProcessorsStats: FC = ({ stats }) => { allowNeutralSort={false} columns={columns} - hasActions={false} - isExpandable={false} - isSelectable={false} items={items} itemId={'id'} rowProps={(item) => ({ diff --git a/x-pack/plugins/ml/public/application/notifications/components/notifications_list.tsx b/x-pack/plugins/ml/public/application/notifications/components/notifications_list.tsx index 665e886516551..cb2f64c69050b 100644 --- a/x-pack/plugins/ml/public/application/notifications/components/notifications_list.tsx +++ b/x-pack/plugins/ml/public/application/notifications/components/notifications_list.tsx @@ -397,9 +397,6 @@ export const NotificationsList: FC = () => { columns={columns} - hasActions={false} - isExpandable={false} - isSelectable={false} items={itemsPerPage} itemId={'id'} loading={isLoading} diff --git a/x-pack/plugins/ml/public/application/overview/components/analytics_panel/table.tsx b/x-pack/plugins/ml/public/application/overview/components/analytics_panel/table.tsx index c6c715aa5cad5..5e24dd230ae82 100644 --- a/x-pack/plugins/ml/public/application/overview/components/analytics_panel/table.tsx +++ b/x-pack/plugins/ml/public/application/overview/components/analytics_panel/table.tsx @@ -112,9 +112,6 @@ export const AnalyticsTable: FC = ({ items }) => { allowNeutralSort={false} className="mlAnalyticsTable" columns={columns} - hasActions={true} - isExpandable={false} - isSelectable={false} items={items} itemId={DataFrameAnalyticsListColumn.id} onTableChange={onTableChange} diff --git a/x-pack/plugins/ml/public/application/overview/components/anomaly_detection_panel/table.tsx b/x-pack/plugins/ml/public/application/overview/components/anomaly_detection_panel/table.tsx index 2476a0d2a3bed..5531c1a4b578e 100644 --- a/x-pack/plugins/ml/public/application/overview/components/anomaly_detection_panel/table.tsx +++ b/x-pack/plugins/ml/public/application/overview/components/anomaly_detection_panel/table.tsx @@ -186,9 +186,6 @@ export const AnomalyDetectionTable: FC = ({ items, chartsService }) => { allowNeutralSort={false} className="mlAnomalyDetectionTable" columns={columns} - hasActions={true} - isExpandable={false} - isSelectable={false} items={groupsList} itemId={AnomalyDetectionListColumns.id} onTableChange={onTableChange} diff --git a/x-pack/plugins/ml/public/application/services/ml_api_service/index.ts b/x-pack/plugins/ml/public/application/services/ml_api_service/index.ts index 3db872fa607b4..3d25015f43e03 100644 --- a/x-pack/plugins/ml/public/application/services/ml_api_service/index.ts +++ b/x-pack/plugins/ml/public/application/services/ml_api_service/index.ts @@ -52,6 +52,7 @@ import { jobsApiProvider } from './jobs'; import { savedObjectsApiProvider } from './saved_objects'; import { trainedModelsApiProvider } from './trained_models'; import { notificationsProvider } from './notifications'; +import { inferenceModelsApiProvider } from './inference_models'; export interface MlHasPrivilegesResponse { hasPrivileges?: estypes.SecurityHasPrivilegesResponse; @@ -814,6 +815,7 @@ export function mlApiServicesProvider(httpService: HttpService) { jobs: jobsApiProvider(httpService), savedObjects: savedObjectsApiProvider(httpService), trainedModels: trainedModelsApiProvider(httpService), + inferenceModels: inferenceModelsApiProvider(httpService), notifications: notificationsProvider(httpService), jsonSchema: jsonSchemaProvider(httpService), }; diff --git a/x-pack/plugins/ml/public/application/services/ml_api_service/inference_models.ts b/x-pack/plugins/ml/public/application/services/ml_api_service/inference_models.ts new file mode 100644 index 0000000000000..7f4ba9dbf23f7 --- /dev/null +++ b/x-pack/plugins/ml/public/application/services/ml_api_service/inference_models.ts @@ -0,0 +1,34 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import type { estypes } from '@elastic/elasticsearch'; +import type { InferenceTaskType } from '@elastic/elasticsearch/lib/api/typesWithBodyKey'; +import type { ModelConfig } from '@kbn/inference_integration_flyout/types'; +import type { HttpService } from '../http_service'; +import { ML_INTERNAL_BASE_PATH } from '../../../../common/constants/app'; +export function inferenceModelsApiProvider(httpService: HttpService) { + return { + /** + * creates inference endpoint id + * @param inferenceId - Inference Endpoint Id + * @param taskType - Inference Task type. Either sparse_embedding or text_embedding + * @param modelConfig - Model configuration based on service type + */ + createInferenceEndpoint( + inferenceId: string, + taskType: InferenceTaskType, + modelConfig: ModelConfig + ) { + return httpService.http({ + path: `${ML_INTERNAL_BASE_PATH}/_inference/${taskType}/${inferenceId}`, + method: 'PUT', + body: JSON.stringify(modelConfig), + version: '1', + }); + }, + }; +} diff --git a/x-pack/plugins/ml/public/application/services/ml_api_service/trained_models.ts b/x-pack/plugins/ml/public/application/services/ml_api_service/trained_models.ts index dba0b28632611..b71eea19ac200 100644 --- a/x-pack/plugins/ml/public/application/services/ml_api_service/trained_models.ts +++ b/x-pack/plugins/ml/public/application/services/ml_api_service/trained_models.ts @@ -26,7 +26,6 @@ import type { NodesOverviewResponse, MemoryUsageInfo, } from '../../../../common/types/trained_models'; - export interface InferenceQueryParams { decompress_definition?: boolean; from?: number; diff --git a/x-pack/plugins/ml/public/application/settings/calendars/edit/events_table/__snapshots__/events_table.test.js.snap b/x-pack/plugins/ml/public/application/settings/calendars/edit/events_table/__snapshots__/events_table.test.js.snap index ba65f329cf735..2266fab97c439 100644 --- a/x-pack/plugins/ml/public/application/settings/calendars/edit/events_table/__snapshots__/events_table.test.js.snap +++ b/x-pack/plugins/ml/public/application/settings/calendars/edit/events_table/__snapshots__/events_table.test.js.snap @@ -56,7 +56,6 @@ exports[`EventsTable Renders events table with no search bar 1`] = ` ], } } - responsive={true} rowProps={[Function]} searchFormat="eql" sorting={ @@ -128,7 +127,6 @@ exports[`EventsTable Renders events table with search bar 1`] = ` ], } } - responsive={true} rowProps={[Function]} search={ Object { diff --git a/x-pack/plugins/ml/public/application/settings/calendars/list/table/__snapshots__/table.test.js.snap b/x-pack/plugins/ml/public/application/settings/calendars/list/table/__snapshots__/table.test.js.snap index d7da276215d10..6611dd20fc699 100644 --- a/x-pack/plugins/ml/public/application/settings/calendars/list/table/__snapshots__/table.test.js.snap +++ b/x-pack/plugins/ml/public/application/settings/calendars/list/table/__snapshots__/table.test.js.snap @@ -34,7 +34,6 @@ exports[`CalendarsListTable renders the table with all calendars 1`] = ` ] } data-test-subj="mlCalendarTable loaded" - isSelectable={true} itemId="calendar_id" items={ Array [ @@ -66,7 +65,6 @@ exports[`CalendarsListTable renders the table with all calendars 1`] = ` ], } } - responsive={true} rowProps={[Function]} search={ Object { diff --git a/x-pack/plugins/ml/public/application/settings/calendars/list/table/table.js b/x-pack/plugins/ml/public/application/settings/calendars/list/table/table.js index 374ab80da118f..e9240557d2a68 100644 --- a/x-pack/plugins/ml/public/application/settings/calendars/list/table/table.js +++ b/x-pack/plugins/ml/public/application/settings/calendars/list/table/table.js @@ -142,7 +142,6 @@ export const CalendarsListTable = ({ sorting={sorting} loading={loading} selection={tableSelection} - isSelectable={true} data-test-subj={loading ? 'mlCalendarTable loading' : 'mlCalendarTable loaded'} rowProps={(item) => ({ 'data-test-subj': `mlCalendarListRow row-${item.calendar_id}`, diff --git a/x-pack/plugins/ml/public/application/settings/filter_lists/list/__snapshots__/table.test.js.snap b/x-pack/plugins/ml/public/application/settings/filter_lists/list/__snapshots__/table.test.js.snap index b5f0f5614145b..9ac0bcd5ce5bd 100644 --- a/x-pack/plugins/ml/public/application/settings/filter_lists/list/__snapshots__/table.test.js.snap +++ b/x-pack/plugins/ml/public/application/settings/filter_lists/list/__snapshots__/table.test.js.snap @@ -39,7 +39,6 @@ exports[`Filter Lists Table renders with filter lists and selection supplied 1`] ] } data-test-subj="mlFilterListsTable" - isSelectable={true} itemId="filter_id" items={ Array [ @@ -64,7 +63,6 @@ exports[`Filter Lists Table renders with filter lists and selection supplied 1`] ] } pagination={true} - responsive={true} rowProps={[Function]} search={ Object { @@ -158,7 +156,6 @@ exports[`Filter Lists Table renders with filter lists supplied 1`] = ` ] } data-test-subj="mlFilterListsTable" - isSelectable={true} itemId="filter_id" items={ Array [ @@ -183,7 +180,6 @@ exports[`Filter Lists Table renders with filter lists supplied 1`] = ` ] } pagination={true} - responsive={true} rowProps={[Function]} search={ Object { diff --git a/x-pack/plugins/ml/public/application/settings/filter_lists/list/table.js b/x-pack/plugins/ml/public/application/settings/filter_lists/list/table.js index 6eadf71e4e725..a97c70d8c1a2c 100644 --- a/x-pack/plugins/ml/public/application/settings/filter_lists/list/table.js +++ b/x-pack/plugins/ml/public/application/settings/filter_lists/list/table.js @@ -213,7 +213,6 @@ export function FilterListsTable({ pagination={true} sorting={sorting} selection={tableSelection} - isSelectable={true} data-test-subj="mlFilterListsTable" rowProps={(item) => ({ 'data-test-subj': `mlFilterListRow row-${item.filter_id}`, diff --git a/x-pack/plugins/ml/server/lib/capabilities/check_capabilities.test.ts b/x-pack/plugins/ml/server/lib/capabilities/check_capabilities.test.ts index 585dcfc3bc8ea..d19ff7f723d0a 100644 --- a/x-pack/plugins/ml/server/lib/capabilities/check_capabilities.test.ts +++ b/x-pack/plugins/ml/server/lib/capabilities/check_capabilities.test.ts @@ -47,7 +47,7 @@ describe('check_capabilities', () => { ); const { capabilities } = await getCapabilities(); const count = Object.keys(capabilities).length; - expect(count).toBe(42); + expect(count).toBe(43); }); }); @@ -103,6 +103,7 @@ describe('check_capabilities', () => { expect(capabilities.canCreateMlAlerts).toBe(false); expect(capabilities.canViewMlNodes).toBe(false); expect(capabilities.canCreateTrainedModels).toBe(false); + expect(capabilities.canCreateInferenceEndpoint).toBe(false); expect(capabilities.canDeleteTrainedModels).toBe(false); expect(capabilities.canStartStopTrainedModels).toBe(false); @@ -162,6 +163,7 @@ describe('check_capabilities', () => { expect(capabilities.canCreateMlAlerts).toBe(true); expect(capabilities.canViewMlNodes).toBe(true); expect(capabilities.canCreateTrainedModels).toBe(true); + expect(capabilities.canCreateInferenceEndpoint).toBe(true); expect(capabilities.canDeleteTrainedModels).toBe(true); expect(capabilities.canStartStopTrainedModels).toBe(true); @@ -221,6 +223,7 @@ describe('check_capabilities', () => { expect(capabilities.canCreateMlAlerts).toBe(false); expect(capabilities.canViewMlNodes).toBe(false); expect(capabilities.canCreateTrainedModels).toBe(false); + expect(capabilities.canCreateInferenceEndpoint).toBe(false); expect(capabilities.canDeleteTrainedModels).toBe(false); expect(capabilities.canStartStopTrainedModels).toBe(false); @@ -280,6 +283,7 @@ describe('check_capabilities', () => { expect(capabilities.canCreateMlAlerts).toBe(false); expect(capabilities.canViewMlNodes).toBe(false); expect(capabilities.canCreateTrainedModels).toBe(false); + expect(capabilities.canCreateInferenceEndpoint).toBe(false); expect(capabilities.canDeleteTrainedModels).toBe(false); expect(capabilities.canStartStopTrainedModels).toBe(false); @@ -339,6 +343,7 @@ describe('check_capabilities', () => { expect(capabilities.canCreateMlAlerts).toBe(false); expect(capabilities.canViewMlNodes).toBe(false); expect(capabilities.canCreateTrainedModels).toBe(false); + expect(capabilities.canCreateInferenceEndpoint).toBe(false); expect(capabilities.canDeleteTrainedModels).toBe(false); expect(capabilities.canStartStopTrainedModels).toBe(false); @@ -399,6 +404,7 @@ describe('check_capabilities', () => { expect(capabilities.canCreateMlAlerts).toBe(false); expect(capabilities.canViewMlNodes).toBe(false); expect(capabilities.canCreateTrainedModels).toBe(false); + expect(capabilities.canCreateInferenceEndpoint).toBe(false); expect(capabilities.canDeleteTrainedModels).toBe(false); expect(capabilities.canStartStopTrainedModels).toBe(false); diff --git a/x-pack/plugins/ml/server/models/model_management/models_provider.ts b/x-pack/plugins/ml/server/models/model_management/models_provider.ts index 6d3ba51a9b76b..033c6fafff7af 100644 --- a/x-pack/plugins/ml/server/models/model_management/models_provider.ts +++ b/x-pack/plugins/ml/server/models/model_management/models_provider.ts @@ -9,7 +9,11 @@ import Boom from '@hapi/boom'; import type { IScopedClusterClient } from '@kbn/core/server'; import { JOB_MAP_NODE_TYPES, type MapElements } from '@kbn/ml-data-frame-analytics-utils'; import { flatten } from 'lodash'; -import type { TransformGetTransformTransformSummary } from '@elastic/elasticsearch/lib/api/types'; +import type { + InferenceModelConfig, + InferenceTaskType, + TransformGetTransformTransformSummary, +} from '@elastic/elasticsearch/lib/api/types'; import type { IndexName, IndicesIndexState } from '@elastic/elasticsearch/lib/api/types'; import type { IngestPipeline, @@ -581,4 +585,21 @@ export class ModelsProvider { await mlSavedObjectService.updateTrainedModelsSpaces([modelId], ['*'], []); return putResponse; } + /** + * Puts the requested Inference endpoint id into elasticsearch, triggering elasticsearch to create the inference endpoint id + * @param inferenceId - Inference Endpoint Id + * @param taskType - Inference Task type. Either sparse_embedding or text_embedding + * @param modelConfig - Model configuration based on service type + */ + async createInferenceEndpoint( + inferenceId: string, + taskType: InferenceTaskType, + modelConfig: InferenceModelConfig + ) { + return await this._client.asCurrentUser.inference.putModel({ + inference_id: inferenceId, + task_type: taskType, + model_config: modelConfig, + }); + } } diff --git a/x-pack/plugins/ml/server/plugin.ts b/x-pack/plugins/ml/server/plugin.ts index f60477cc9fb5d..b8cc406eaeadf 100644 --- a/x-pack/plugins/ml/server/plugin.ts +++ b/x-pack/plugins/ml/server/plugin.ts @@ -75,6 +75,7 @@ import { registerCollector } from './usage'; import { SavedObjectsSyncService } from './saved_objects/sync_task'; import { registerCasesPersistableState } from './lib/register_cases'; import { registerSampleDataSetLinks } from './lib/register_sample_data_set_links'; +import { inferenceModelRoutes } from './routes/inference_models'; export type MlPluginSetup = SharedServices; export type MlPluginStart = void; @@ -258,6 +259,7 @@ export class MlServerPlugin } // Register Miscellaneous routes + inferenceModelRoutes(routeInit, plugins.cloud); modelManagementRoutes(routeInit); dataVisualizerRoutes(routeInit); fieldsService(routeInit); diff --git a/x-pack/plugins/ml/server/routes/inference_models.ts b/x-pack/plugins/ml/server/routes/inference_models.ts new file mode 100644 index 0000000000000..1ab5d576181ef --- /dev/null +++ b/x-pack/plugins/ml/server/routes/inference_models.ts @@ -0,0 +1,61 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ +import type { CloudSetup } from '@kbn/cloud-plugin/server'; +import { schema } from '@kbn/config-schema'; +import type { InferenceModelConfig, InferenceTaskType } from '@elastic/elasticsearch/lib/api/types'; +import type { RouteInitialization } from '../types'; +import { createInferenceSchema } from './schemas/inference_schema'; +import { modelsProvider } from '../models/model_management'; +import { wrapError } from '../client/error_wrapper'; +import { ML_INTERNAL_BASE_PATH } from '../../common/constants/app'; + +export function inferenceModelRoutes( + { router, routeGuard }: RouteInitialization, + cloud: CloudSetup +) { + /** + * @apiGroup TrainedModels + * + * @api {put} /internal/ml/_inference/:taskType/:inferenceId Create Inference Endpoint + * @apiName CreateInferenceEndpoint + * @apiDescription Create Inference Endpoint + */ + router.versioned + .put({ + path: `${ML_INTERNAL_BASE_PATH}/_inference/{taskType}/{inferenceId}`, + access: 'internal', + options: { + tags: ['access:ml:canCreateInferenceEndpoint'], + }, + }) + .addVersion( + { + version: '1', + validate: { + request: { + params: createInferenceSchema, + body: schema.maybe(schema.object({}, { unknowns: 'allow' })), + }, + }, + }, + routeGuard.fullLicenseAPIGuard(async ({ client, mlClient, request, response }) => { + try { + const { inferenceId, taskType } = request.params; + const body = await modelsProvider(client, mlClient, cloud).createInferenceEndpoint( + inferenceId, + taskType as InferenceTaskType, + request.body as InferenceModelConfig + ); + return response.ok({ + body, + }); + } catch (e) { + return response.customError(wrapError(e)); + } + }) + ); +} diff --git a/x-pack/plugins/ml/server/routes/schemas/inference_schema.ts b/x-pack/plugins/ml/server/routes/schemas/inference_schema.ts index b24451bf755de..a69b1384e2c7e 100644 --- a/x-pack/plugins/ml/server/routes/schemas/inference_schema.ts +++ b/x-pack/plugins/ml/server/routes/schemas/inference_schema.ts @@ -24,6 +24,10 @@ export const modelAndDeploymentIdSchema = schema.object({ */ deploymentId: schema.string(), }); +export const createInferenceSchema = schema.object({ + taskType: schema.oneOf([schema.literal('sparse_embedding'), schema.literal('text_embedding')]), + inferenceId: schema.string(), +}); export const threadingParamsSchema = schema.maybe( schema.object({ diff --git a/x-pack/plugins/ml/tsconfig.json b/x-pack/plugins/ml/tsconfig.json index 9a016c972a766..16ab6806868a5 100644 --- a/x-pack/plugins/ml/tsconfig.json +++ b/x-pack/plugins/ml/tsconfig.json @@ -120,6 +120,7 @@ "@kbn/core-elasticsearch-client-server-mocks", "@kbn/ml-time-buckets", "@kbn/aiops-change-point-detection", + "@kbn/inference_integration_flyout", "@kbn/react-kibana-context-theme", "@kbn/presentation-containers", "@kbn/presentation-panel-plugin", diff --git a/x-pack/plugins/monitoring/public/alerts/lib/alerts_toast.tsx b/x-pack/plugins/monitoring/public/alerts/lib/alerts_toast.tsx index 4c2ed3f50c4e0..3cef2c1722438 100644 --- a/x-pack/plugins/monitoring/public/alerts/lib/alerts_toast.tsx +++ b/x-pack/plugins/monitoring/public/alerts/lib/alerts_toast.tsx @@ -8,17 +8,16 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { EuiSpacer, EuiLink } from '@elastic/eui'; -import type { Observable } from 'rxjs'; -import type { CoreTheme } from '@kbn/core/public'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { Legacy } from '../../legacy_shims'; +import { MonitoringStartServices } from '../../types'; export interface EnableAlertResponse { isSufficientlySecure?: boolean; hasPermanentEncryptionKey?: boolean; } -const showApiKeyAndEncryptionError = (theme$?: Observable) => { +const showApiKeyAndEncryptionError = (services: MonitoringStartServices) => { const settingsUrl = Legacy.shims.docLinks.links.alerting.generalSettings; Legacy.shims.toastNotifications.addWarning({ @@ -40,7 +39,7 @@ const showApiKeyAndEncryptionError = (theme$?: Observable) => { })}
, - { theme$ } + services ), }); }; @@ -58,11 +57,14 @@ const showAlertsCreatedConfirmation = () => { }); }; -export const showAlertsToast = (response: EnableAlertResponse, theme$?: Observable) => { +export const showAlertsToast = ( + response: EnableAlertResponse, + services: MonitoringStartServices +) => { const { isSufficientlySecure, hasPermanentEncryptionKey } = response; if (isSufficientlySecure === false || hasPermanentEncryptionKey === false) { - showApiKeyAndEncryptionError(theme$); + showApiKeyAndEncryptionError(services); } else { showAlertsCreatedConfirmation(); } diff --git a/x-pack/plugins/monitoring/public/application/hooks/use_alerts_modal.ts b/x-pack/plugins/monitoring/public/application/hooks/use_alerts_modal.ts index 5469d02895bfc..c7c3295d44be1 100644 --- a/x-pack/plugins/monitoring/public/application/hooks/use_alerts_modal.ts +++ b/x-pack/plugins/monitoring/public/application/hooks/use_alerts_modal.ts @@ -7,9 +7,10 @@ import { useKibana } from '@kbn/kibana-react-plugin/public'; import { useRequestErrorHandler } from './use_request_error_handler'; import { EnableAlertResponse, showAlertsToast } from '../../alerts/lib/alerts_toast'; +import { MonitoringStartServices } from '../../types'; export const useAlertsModal = () => { - const { services } = useKibana(); + const { services } = useKibana(); const handleRequestError = useRequestErrorHandler(); function shouldShowAlertsModal(alerts: {}) { @@ -38,9 +39,9 @@ export const useAlertsModal = () => { {} )!; window.localStorage.setItem('ALERTS_MODAL_DECISION_MADE', 'true'); - showAlertsToast(response, services.theme?.theme$); + showAlertsToast(response, services); } catch (err) { - await handleRequestError(err); + handleRequestError(err); } } diff --git a/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx b/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx index e5a3e4260ac2f..11f152536b54e 100644 --- a/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx +++ b/x-pack/plugins/monitoring/public/application/hooks/use_request_error_handler.tsx @@ -11,9 +11,10 @@ import { includes } from 'lodash'; import type { IHttpFetchError, ResponseErrorBody } from '@kbn/core-http-browser'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiButton, EuiSpacer, EuiText } from '@elastic/eui'; -import { toMountPoint, useKibana } from '@kbn/kibana-react-plugin/public'; +import { useKibana } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { formatMsg } from '../../lib/format_msg'; -import { MonitoringStartPluginDependencies } from '../../types'; +import { MonitoringStartServices } from '../../types'; export function formatMonitoringError(err: IHttpFetchError) { if (err.response?.status && err.response?.status !== -1) { @@ -35,7 +36,7 @@ export function formatMonitoringError(err: IHttpFetchError) { } export const useRequestErrorHandler = () => { - const { services } = useKibana(); + const { services } = useKibana(); const history = useHistory(); return useCallback( (err: IHttpFetchError) => { @@ -64,7 +65,7 @@ export const useRequestErrorHandler = () => { />
, - { theme$: services.theme?.theme$ } + services ), }); } else { @@ -72,10 +73,10 @@ export const useRequestErrorHandler = () => { title: i18n.translate('xpack.monitoring.ajaxErrorHandler.requestErrorNotificationTitle', { defaultMessage: 'Monitoring Request Error', }), - text: toMountPoint(formatMonitoringError(err), { theme$: services.theme?.theme$ }), + text: toMountPoint(formatMonitoringError(err), services), }); } }, - [history, services.notifications?.toasts, services.theme] + [history, services] ); }; diff --git a/x-pack/plugins/monitoring/public/application/index.tsx b/x-pack/plugins/monitoring/public/application/index.tsx index b9fd25f60c367..39969c550570e 100644 --- a/x-pack/plugins/monitoring/public/application/index.tsx +++ b/x-pack/plugins/monitoring/public/application/index.tsx @@ -6,8 +6,8 @@ */ import { AppMountParameters, CoreStart, CoreTheme, MountPoint } from '@kbn/core/public'; -import { EuiThemeProvider } from '@kbn/kibana-react-plugin/common'; -import { KibanaContextProvider, KibanaThemeProvider } from '@kbn/kibana-react-plugin/public'; +import { KibanaContextProvider } from '@kbn/kibana-react-plugin/public'; +import { KibanaRenderContextProvider } from '@kbn/react-kibana-context-render'; import React from 'react'; import ReactDOM from 'react-dom'; import { Redirect } from 'react-router-dom'; @@ -21,7 +21,7 @@ import { CODE_PATH_KIBANA, CODE_PATH_LOGSTASH, } from '../../common/constants'; -import { MonitoringStartPluginDependencies } from '../types'; +import { MonitoringStartPluginDependencies, MonitoringStartServices } from '../types'; import { ExternalConfig, ExternalConfigContext } from './contexts/external_config_context'; import { GlobalStateProvider } from './contexts/global_state_context'; import { HeaderActionMenuContext } from './contexts/header_action_menu_context'; @@ -99,255 +99,253 @@ const MonitoringApp: React.FC<{ theme$: Observable; }> = ({ core, plugins, externalConfig, setHeaderActionMenu, theme$ }) => { const history = createPreserveQueryHistory(); - const darkMode = core.theme.getTheme().darkMode; + const startServices: MonitoringStartServices = { ...core, ...plugins }; return ( - - - - - - - - - - - - - - - - - - {/* ElasticSearch Views */} - - - - - - - - - - - - - - - - - - - - - {/* Kibana Views */} - - - - - - - {/* Beats Views */} - - - - - - - {/* Logstash Routes */} - - - - - - - - - - - - - - - {/* APM Views */} - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + {/* ElasticSearch Views */} + + + + + + + + + + + + + + + + + + + + + {/* Kibana Views */} + + + + + + + {/* Beats Views */} + + + + + + + {/* Logstash Routes */} + + + + + + + + + + + + + + + {/* APM Views */} + + + + + + + + + + + + + + + + + + ); }; diff --git a/x-pack/plugins/monitoring/public/application/pages/access_denied/index.tsx b/x-pack/plugins/monitoring/public/application/pages/access_denied/index.tsx index 2ad779588b6af..839cf418123fb 100644 --- a/x-pack/plugins/monitoring/public/application/pages/access_denied/index.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/access_denied/index.tsx @@ -13,12 +13,12 @@ import useInterval from 'react-use/lib/useInterval'; import { Redirect } from 'react-router-dom'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { ComponentProps } from '../../route_init'; -import { MonitoringStartPluginDependencies } from '../../../types'; +import { MonitoringStartServices } from '../../../types'; import { ExternalConfigContext } from '../../contexts/external_config_context'; export const AccessDeniedPage: React.FC = () => { const { isCcsEnabled } = useContext(ExternalConfigContext); - const { services } = useKibana(); + const { services } = useKibana(); const [hasAccess, setHasAccess] = useState(false); useInterval(() => { diff --git a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/elasticsearch_template.tsx b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/elasticsearch_template.tsx index b034478f720c3..a1d2fc6ca2fe3 100644 --- a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/elasticsearch_template.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/elasticsearch_template.tsx @@ -8,9 +8,8 @@ import React from 'react'; import { i18n } from '@kbn/i18n'; import { useKibana } from '@kbn/kibana-react-plugin/public'; import { includes } from 'lodash'; -import { DashboardStart } from '@kbn/dashboard-plugin/public'; -import { FleetStart } from '@kbn/fleet-plugin/public'; import { EuiIcon, EuiToolTip } from '@elastic/eui'; +import { MonitoringStartServices } from '../../../types'; import { PageTemplate } from '../page_template'; import { TabMenuItem, PageTemplateProps } from '../page_template'; import { ML_SUPPORTED_LICENSES } from '../../../../common/constants'; @@ -24,7 +23,7 @@ export const ElasticsearchTemplate: React.FC = ({ cluster, ...props }) => { - const { services } = useKibana<{ dashboard?: DashboardStart; fleet?: FleetStart }>(); + const { services } = useKibana(); const tabs: TabMenuItem[] = [ { diff --git a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx index 29207177d93ec..a1b3e2805e8b5 100644 --- a/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx +++ b/x-pack/plugins/monitoring/public/application/pages/elasticsearch/ingest_pipeline_modal.tsx @@ -6,13 +6,12 @@ */ import React, { useState } from 'react'; -import { toMountPoint } from '@kbn/kibana-react-plugin/public'; -import type { CoreStart } from '@kbn/core/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; import { FormattedMessage } from '@kbn/i18n-react'; import { i18n } from '@kbn/i18n'; import { EuiCallOut, EuiConfirmModal, EuiSpacer } from '@elastic/eui'; -import { DashboardStart } from '@kbn/dashboard-plugin/public'; -import { FleetStart, KibanaSavedObjectType } from '@kbn/fleet-plugin/public'; +import { KibanaSavedObjectType } from '@kbn/fleet-plugin/public'; +import { MonitoringStartServices } from '../../../types'; const INGEST_PIPELINE_DASHBOARD_ID = 'elasticsearch-metrics-ingest-pipelines'; @@ -22,9 +21,7 @@ const INGEST_PIPELINE_DASHBOARD_ID = 'elasticsearch-metrics-ingest-pipelines'; * @param services * @returns */ -export const ingestPipelineTabOnClick = async ( - services: Partial -) => { +export const ingestPipelineTabOnClick = async (services: MonitoringStartServices) => { const response = await services.fleet?.hooks.epm.getBulkAssets({ assetIds: [ { @@ -56,9 +53,7 @@ export const ingestPipelineTabOnClick = async ( canInstallPackages={!!services.fleet?.authz.integrations.installPackages} closeModal={() => ref.close()} />, - { - theme$: services.theme?.theme$, - } + services ) ); diff --git a/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_active.test.js.snap b/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_active.test.js.snap index c4ce91823ce03..fd33ec5254d2f 100644 --- a/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_active.test.js.snap +++ b/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_active.test.js.snap @@ -45,7 +45,6 @@ exports[`Latest Active that latest active component renders normally 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> `; diff --git a/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_types.test.js.snap b/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_types.test.js.snap index 4b4f5ca654971..1a12f37e028b7 100644 --- a/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_types.test.js.snap +++ b/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_types.test.js.snap @@ -37,7 +37,6 @@ exports[`Latest Types that latest active component renders normally 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> `; diff --git a/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_versions.test.js.snap b/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_versions.test.js.snap index 88e673eb8dcea..8318c6301a3f3 100644 --- a/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_versions.test.js.snap +++ b/x-pack/plugins/monitoring/public/components/beats/overview/__snapshots__/latest_versions.test.js.snap @@ -33,7 +33,6 @@ exports[`Latest Versions that latest active component renders normally 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> `; diff --git a/x-pack/plugins/monitoring/public/components/cluster/listing/listing.js b/x-pack/plugins/monitoring/public/components/cluster/listing/listing.js index d4bc3e3529610..a10dbd1fd2198 100644 --- a/x-pack/plugins/monitoring/public/components/cluster/listing/listing.js +++ b/x-pack/plugins/monitoring/public/components/cluster/listing/listing.js @@ -28,7 +28,8 @@ import { AlertsStatus } from '../../../alerts/status'; import { STANDALONE_CLUSTER_CLUSTER_UUID } from '../../../../common/constants'; import { getSafeForExternalLink } from '../../../lib/get_safe_for_external_link'; import './listing.scss'; -import { toMountPoint, useKibana } from '@kbn/kibana-react-plugin/public'; +import { useKibana } from '@kbn/kibana-react-plugin/public'; +import { toMountPoint } from '@kbn/react-kibana-mount'; const IsClusterSupported = ({ isSupported, children }) => { return isSupported ? children : '-'; @@ -260,7 +261,7 @@ const licenseWarning = (scope, { title, text }) => { }); }; -const handleClickIncompatibleLicense = (scope, theme$, clusterName) => { +const handleClickIncompatibleLicense = (scope, services, clusterName) => { licenseWarning(scope, { title: i18n.translate( 'xpack.monitoring.cluster.listing.incompatibleLicense.warningMessageTitle', @@ -294,12 +295,12 @@ const handleClickIncompatibleLicense = (scope, theme$, clusterName) => { />

, - { theme$ } + services ), }); }; -const handleClickInvalidLicense = (scope, theme$, clusterName) => { +const handleClickInvalidLicense = (scope, services, clusterName) => { const licensingPath = `${Legacy.shims.getBasePath()}/app/management/stack/license_management/home`; licenseWarning(scope, { @@ -340,7 +341,7 @@ const handleClickInvalidLicense = (scope, theme$, clusterName) => { />

, - { theme$ } + services ), }); }; @@ -404,16 +405,8 @@ export const Listing = ({ angular, clusters, sorting, pagination, onTableChange const { services } = useKibana(); const _changeCluster = partial(changeCluster, scope, globalState); - const _handleClickIncompatibleLicense = partial( - handleClickIncompatibleLicense, - scope, - services.theme.theme$ - ); - const _handleClickInvalidLicense = partial( - handleClickInvalidLicense, - scope, - services.theme.theme$ - ); + const _handleClickIncompatibleLicense = partial(handleClickIncompatibleLicense, scope, services); + const _handleClickInvalidLicense = partial(handleClickInvalidLicense, scope, services); const hasStandaloneCluster = !!clusters.find( (cluster) => cluster.cluster_uuid === STANDALONE_CLUSTER_CLUSTER_UUID ); diff --git a/x-pack/plugins/monitoring/public/components/elasticsearch/ccr/__snapshots__/ccr.test.js.snap b/x-pack/plugins/monitoring/public/components/elasticsearch/ccr/__snapshots__/ccr.test.js.snap index 70d8be491f571..2cb56a0c9b424 100644 --- a/x-pack/plugins/monitoring/public/components/elasticsearch/ccr/__snapshots__/ccr.test.js.snap +++ b/x-pack/plugins/monitoring/public/components/elasticsearch/ccr/__snapshots__/ccr.test.js.snap @@ -127,7 +127,6 @@ exports[`Ccr that it renders normally 1`] = ` ] } pagination={false} - responsive={true} searchFormat="eql" sorting={ Object { diff --git a/x-pack/plugins/monitoring/public/components/logs/__snapshots__/logs.test.js.snap b/x-pack/plugins/monitoring/public/components/logs/__snapshots__/logs.test.js.snap index e85ba5522bdf1..c558d98ea792b 100644 --- a/x-pack/plugins/monitoring/public/components/logs/__snapshots__/logs.test.js.snap +++ b/x-pack/plugins/monitoring/public/components/logs/__snapshots__/logs.test.js.snap @@ -274,7 +274,6 @@ exports[`Logs should render normally 1`] = ` token="euiBasicTable.noItemsMessage" /> } - responsive={true} tableLayout="fixed" /> ; +export type AgentConfigurationIntake = t.TypeOf; export type AgentConfiguration = { '@timestamp': number; diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/agent_configuration_intake_rt.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/agent_configuration_intake_rt.ts index 30cbafbd2075c..7d5b6ad12a388 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/agent_configuration_intake_rt.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/agent_configuration_intake_rt.ts @@ -10,22 +10,20 @@ import { settingDefinitions } from '../setting_definitions'; import { SettingValidation } from '../setting_definitions/types'; // retrieve validation from config definitions settings and validate on the server -const knownSettings = settingDefinitions.reduce< - Record ->((acc, { key, validation }) => { - acc[key] = validation; - return acc; -}, {}); +const knownSettings = settingDefinitions.reduce>( + (acc, { key, validation }) => { + acc[key] = validation; + return acc; + }, + {} +); export const serviceRt = t.partial({ name: t.string, environment: t.string, }); -export const settingsRt = t.intersection([ - t.record(t.string, t.string), - t.partial(knownSettings), -]); +export const settingsRt = t.intersection([t.record(t.string, t.string), t.partial(knownSettings)]); export const agentConfigurationIntakeRt = t.intersection([ t.partial({ agent_name: t.string }), diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/bytes_rt.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/bytes_rt.ts index 62d8a153179db..96ae8ba18b901 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/bytes_rt.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/bytes_rt.ts @@ -39,21 +39,14 @@ export function getBytesRt({ min, max }: { min?: string; max?: string }) { 'bytesRt', t.string.is, (input, context) => { - return either.chain( - t.string.validate(input, context), - (inputAsString) => { - const inputAsBytes = amountAndUnitToBytes(inputAsString); + return either.chain(t.string.validate(input, context), (inputAsString) => { + const inputAsBytes = amountAndUnitToBytes(inputAsString); - const isValidAmount = - inputAsBytes !== undefined && - inputAsBytes >= minAsBytes && - inputAsBytes <= maxAsBytes; + const isValidAmount = + inputAsBytes !== undefined && inputAsBytes >= minAsBytes && inputAsBytes <= maxAsBytes; - return isValidAmount - ? t.success(inputAsString) - : t.failure(input, context, message); - } - ); + return isValidAmount ? t.success(inputAsString) : t.failure(input, context, message); + }); }, t.identity ); diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/duration_rt.test.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/duration_rt.test.ts index 9ad5b62149e4b..8e711d4c85ffe 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/duration_rt.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/duration_rt.test.ts @@ -13,19 +13,7 @@ describe('getDurationRt', () => { describe('must be at least 1m', () => { const customDurationRt = getDurationRt({ min: '1m' }); describe('it should not accept', () => { - [ - undefined, - null, - '', - 0, - 'foo', - true, - false, - '0m', - '-1m', - '1ms', - '1s', - ].map((input) => { + [undefined, null, '', 0, 'foo', true, false, '0m', '-1m', '1ms', '1s'].map((input) => { it(`${JSON.stringify(input)}`, () => { expect(isRight(customDurationRt.decode(input))).toBeFalsy(); }); @@ -98,13 +86,11 @@ describe('getDurationRt', () => { const customDurationRt = getDurationRt({ max: '1m' }); describe('it should not accept', () => { - [undefined, null, '', 0, 'foo', true, false, '2m', '61s', '60001ms'].map( - (input) => { - it(`${JSON.stringify(input)}`, () => { - expect(isRight(customDurationRt.decode(input))).toBeFalsy(); - }); - } - ); + [undefined, null, '', 0, 'foo', true, false, '2m', '61s', '60001ms'].map((input) => { + it(`${JSON.stringify(input)}`, () => { + expect(isRight(customDurationRt.decode(input))).toBeFalsy(); + }); + }); }); describe('it should return correct error message', () => { ['2m', '61s', '60001ms'].map((input) => { diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/duration_rt.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/duration_rt.ts index bfc1d9b26f8fa..c968a7cacebc4 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/duration_rt.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/duration_rt.ts @@ -33,22 +33,16 @@ export function getDurationRt({ min, max }: { min?: string; max?: string }) { 'durationRt', t.string.is, (input, context) => { - return either.chain( - t.string.validate(input, context), - (inputAsString) => { - const inputAsMilliseconds = - amountAndUnitToMilliseconds(inputAsString); + return either.chain(t.string.validate(input, context), (inputAsString) => { + const inputAsMilliseconds = amountAndUnitToMilliseconds(inputAsString); - const isValidAmount = - inputAsMilliseconds !== undefined && - inputAsMilliseconds >= minAsMilliseconds && - inputAsMilliseconds <= maxAsMilliseconds; + const isValidAmount = + inputAsMilliseconds !== undefined && + inputAsMilliseconds >= minAsMilliseconds && + inputAsMilliseconds <= maxAsMilliseconds; - return isValidAmount - ? t.success(inputAsString) - : t.failure(input, context, message); - } - ); + return isValidAmount ? t.success(inputAsString) : t.failure(input, context, message); + }); }, t.identity ); diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/float_rt.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/float_rt.ts index ba026b0579d14..a0e2d3f5b60ba 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/float_rt.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/float_rt.ts @@ -14,11 +14,9 @@ export const floatRt = new t.Type( (input, context) => { return either.chain(t.string.validate(input, context), (inputAsString) => { const inputAsFloat = parseFloat(inputAsString); - const maxThreeDecimals = - parseFloat(inputAsFloat.toFixed(3)) === inputAsFloat; + const maxThreeDecimals = parseFloat(inputAsFloat.toFixed(3)) === inputAsFloat; - const isValid = - inputAsFloat >= 0 && inputAsFloat <= 1 && maxThreeDecimals; + const isValid = inputAsFloat >= 0 && inputAsFloat <= 1 && maxThreeDecimals; return isValid ? t.success(inputAsString) diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/get_range_type_message.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/get_range_type_message.ts index 855f2276b6eb5..d4efd93126947 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/get_range_type_message.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/get_range_type_message.ts @@ -19,10 +19,7 @@ function getRangeType(min?: number, max?: number) { } } -export function getRangeTypeMessage( - min?: number | string, - max?: number | string -) { +export function getRangeTypeMessage(min?: number | string, max?: number | string) { return i18n.translate('xpack.apm.agentConfig.range.errorText', { defaultMessage: `{rangeType, select, between {Must be between {min} and {max}} diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/integer_rt.test.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/integer_rt.test.ts index 34809c4c0f9dd..6d9dffca8ab61 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/integer_rt.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/integer_rt.test.ts @@ -17,13 +17,11 @@ describe('getIntegerRt', () => { }); describe('it should not accept', () => { - [NaN, undefined, null, '', 'foo', 0, 55, '-1', '-55', '33000'].map( - (input) => { - it(`${JSON.stringify(input)}`, () => { - expect(isRight(integerRt.decode(input))).toBe(false); - }); - } - ); + [NaN, undefined, null, '', 'foo', 0, 55, '-1', '-55', '33000'].map((input) => { + it(`${JSON.stringify(input)}`, () => { + expect(isRight(integerRt.decode(input))).toBe(false); + }); + }); }); describe('it should return correct error message', () => { diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/integer_rt.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/integer_rt.ts index e451cfc7102e3..e5fd4435ee2b3 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/integer_rt.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/integer_rt.ts @@ -22,16 +22,11 @@ export function getIntegerRt({ 'integerRt', t.string.is, (input, context) => { - return either.chain( - t.string.validate(input, context), - (inputAsString) => { - const inputAsInt = parseInt(inputAsString, 10); - const isValid = inputAsInt >= min && inputAsInt <= max; - return isValid - ? t.success(inputAsString) - : t.failure(input, context, message); - } - ); + return either.chain(t.string.validate(input, context), (inputAsString) => { + const inputAsInt = parseInt(inputAsString, 10); + const isValid = inputAsInt >= min && inputAsInt <= max; + return isValid ? t.success(inputAsString) : t.failure(input, context, message); + }); }, t.identity ); diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/storage_size_rt.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/storage_size_rt.ts index 491a274316c3b..57649f9746417 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/storage_size_rt.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/runtime_types/storage_size_rt.ts @@ -38,34 +38,25 @@ function amountAndUnitToBytes({ } export function getStorageSizeRt({ min, max }: { min?: string; max?: string }) { - const minAsBytes = - amountAndUnitToBytes({ value: min, decimalUnitBase: true }) ?? -Infinity; - const maxAsBytes = - amountAndUnitToBytes({ value: max, decimalUnitBase: true }) ?? Infinity; + const minAsBytes = amountAndUnitToBytes({ value: min, decimalUnitBase: true }) ?? -Infinity; + const maxAsBytes = amountAndUnitToBytes({ value: max, decimalUnitBase: true }) ?? Infinity; const message = getRangeTypeMessage(min, max); return new t.Type( 'storageSizeRt', t.string.is, (input, context) => { - return either.chain( - t.string.validate(input, context), - (inputAsString) => { - const inputAsBytes = amountAndUnitToBytes({ - value: inputAsString, - decimalUnitBase: true, - }); + return either.chain(t.string.validate(input, context), (inputAsString) => { + const inputAsBytes = amountAndUnitToBytes({ + value: inputAsString, + decimalUnitBase: true, + }); - const isValidAmount = - inputAsBytes !== undefined && - inputAsBytes >= minAsBytes && - inputAsBytes <= maxAsBytes; + const isValidAmount = + inputAsBytes !== undefined && inputAsBytes >= minAsBytes && inputAsBytes <= maxAsBytes; - return isValidAmount - ? t.success(inputAsString) - : t.failure(input, context, message); - } - ); + return isValidAmount ? t.success(inputAsString) : t.failure(input, context, message); + }); }, t.identity ); diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/general_settings.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/general_settings.ts index 08fd02770ba5b..e7d04ffa3d97c 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/general_settings.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/general_settings.ts @@ -21,13 +21,10 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.apiRequestSize.label', { defaultMessage: 'API Request Size', }), - description: i18n.translate( - 'xpack.apm.agentConfig.apiRequestSize.description', - { - defaultMessage: - 'The maximum total compressed size of the request body which is sent to the APM Server intake api via a chunked encoding (HTTP streaming).\nNote that a small overshoot is possible.\n\nAllowed byte units are `b`, `kb` and `mb`. `1kb` is equal to `1024b`.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.apiRequestSize.description', { + defaultMessage: + 'The maximum total compressed size of the request body which is sent to the APM Server intake api via a chunked encoding (HTTP streaming).\nNote that a small overshoot is possible.\n\nAllowed byte units are `b`, `kb` and `mb`. `1kb` is equal to `1024b`.', + }), excludeAgents: [ 'js-base', 'rum-js', @@ -48,13 +45,10 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.apiRequestTime.label', { defaultMessage: 'API Request Time', }), - description: i18n.translate( - 'xpack.apm.agentConfig.apiRequestTime.description', - { - defaultMessage: - "Maximum time to keep an HTTP request to the APM Server open for.\n\nNOTE: This value has to be lower than the APM Server's `read_timeout` setting.", - } - ), + description: i18n.translate('xpack.apm.agentConfig.apiRequestTime.description', { + defaultMessage: + "Maximum time to keep an HTTP request to the APM Server open for.\n\nNOTE: This value has to be lower than the APM Server's `read_timeout` setting.", + }), excludeAgents: [ 'js-base', 'rum-js', @@ -76,13 +70,10 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.captureBody.label', { defaultMessage: 'Capture body', }), - description: i18n.translate( - 'xpack.apm.agentConfig.captureBody.description', - { - defaultMessage: - 'For transactions that are HTTP requests, the agent can optionally capture the request body (e.g. POST variables).\nFor transactions that are initiated by receiving a message from a message broker, the agent can capture the textual message body.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.captureBody.description', { + defaultMessage: + 'For transactions that are HTTP requests, the agent can optionally capture the request body (e.g. POST variables).\nFor transactions that are initiated by receiving a message from a message broker, the agent can capture the textual message body.', + }), options: [ { text: 'off', value: 'off' }, { text: 'errors', value: 'errors' }, @@ -95,23 +86,16 @@ export const generalSettings: RawSettingDefinition[] = [ { key: 'capture_body_content_types', type: 'text', - defaultValue: - 'application/x-www-form-urlencoded*, text/*, application/json*, application/xml*', - label: i18n.translate( - 'xpack.apm.agentConfig.captureBodyContentTypes.label', - { - defaultMessage: 'Capture Body Content Types', - } - ), - description: i18n.translate( - 'xpack.apm.agentConfig.captureBodyContentTypes.description', - { - defaultMessage: - 'Configures which content types should be recorded.\n' + - '\n' + - 'The defaults end with a wildcard so that content types like `text/plain; charset=utf-8` are captured as well.', - } - ), + defaultValue: 'application/x-www-form-urlencoded*, text/*, application/json*, application/xml*', + label: i18n.translate('xpack.apm.agentConfig.captureBodyContentTypes.label', { + defaultMessage: 'Capture Body Content Types', + }), + description: i18n.translate('xpack.apm.agentConfig.captureBodyContentTypes.description', { + defaultMessage: + 'Configures which content types should be recorded.\n' + + '\n' + + 'The defaults end with a wildcard so that content types like `text/plain; charset=utf-8` are captured as well.', + }), includeAgents: ['java', 'dotnet'], }, @@ -123,21 +107,11 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.captureHeaders.label', { defaultMessage: 'Capture Headers', }), - description: i18n.translate( - 'xpack.apm.agentConfig.captureHeaders.description', - { - defaultMessage: - 'If set to `true`, the agent will capture HTTP request and response headers (including cookies), as well as message headers/properties when using messaging frameworks (like Kafka).\n\nNOTE: Setting this to `false` reduces network bandwidth, disk space and object allocations.', - } - ), - excludeAgents: [ - 'js-base', - 'rum-js', - 'nodejs', - 'php', - 'android/java', - 'iOS/swift', - ], + description: i18n.translate('xpack.apm.agentConfig.captureHeaders.description', { + defaultMessage: + 'If set to `true`, the agent will capture HTTP request and response headers (including cookies), as well as message headers/properties when using messaging frameworks (like Kafka).\n\nNOTE: Setting this to `false` reduces network bandwidth, disk space and object allocations.', + }), + excludeAgents: ['js-base', 'rum-js', 'nodejs', 'php', 'android/java', 'iOS/swift'], }, { @@ -147,17 +121,14 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.dedotCustomMetrics.label', { defaultMessage: 'Dedot custom metrics', }), - description: i18n.translate( - 'xpack.apm.agentConfig.dedotCustomMetrics.description', - { - defaultMessage: - 'Replaces dots with underscores in the metric names for custom metrics.\n' + - '\n' + - 'WARNING: Setting this to `false` can lead to mapping conflicts as dots indicate nesting in Elasticsearch.\n' + - 'An example of when a conflict happens is two metrics with the name `foo` and `foo.bar`.\n' + - 'The first metric maps `foo` to a number and the second metric maps `foo` as an object.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.dedotCustomMetrics.description', { + defaultMessage: + 'Replaces dots with underscores in the metric names for custom metrics.\n' + + '\n' + + 'WARNING: Setting this to `false` can lead to mapping conflicts as dots indicate nesting in Elasticsearch.\n' + + 'An example of when a conflict happens is two metrics with the name `foo` and `foo.bar`.\n' + + 'The first metric maps `foo` to a number and the second metric maps `foo` as an object.', + }), includeAgents: ['java'], }, @@ -165,24 +136,18 @@ export const generalSettings: RawSettingDefinition[] = [ key: 'disable_instrumentations', type: 'text', defaultValue: '', - label: i18n.translate( - 'xpack.apm.agentConfig.disableInstrumentations.label', - { - defaultMessage: 'Disable instrumentations', - } - ), - description: i18n.translate( - 'xpack.apm.agentConfig.disableInstrumentations.description', - { - defaultMessage: - 'Comma-separated list of modules to disable instrumentation for.\n' + - 'When instrumentation is disabled for a module, no spans will be collected for that module.\n' + - '\n' + - 'The up-to-date list of modules for which instrumentation can be disabled is language specific ' + - 'and can be found under the following links: ' + - '[Java](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-disable-instrumentations)', - } - ), + label: i18n.translate('xpack.apm.agentConfig.disableInstrumentations.label', { + defaultMessage: 'Disable instrumentations', + }), + description: i18n.translate('xpack.apm.agentConfig.disableInstrumentations.description', { + defaultMessage: + 'Comma-separated list of modules to disable instrumentation for.\n' + + 'When instrumentation is disabled for a module, no spans will be collected for that module.\n' + + '\n' + + 'The up-to-date list of modules for which instrumentation can be disabled is language specific ' + + 'and can be found under the following links: ' + + '[Java](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-disable-instrumentations)', + }), includeAgents: ['java'], }, @@ -190,12 +155,9 @@ export const generalSettings: RawSettingDefinition[] = [ key: 'disable_outgoing_tracecontext_headers', type: 'boolean', defaultValue: 'true', - label: i18n.translate( - 'xpack.apm.agentConfig.disableOutgoingTracecontextHeaders.label', - { - defaultMessage: 'Disable outgoing tracecontext headers', - } - ), + label: i18n.translate('xpack.apm.agentConfig.disableOutgoingTracecontextHeaders.label', { + defaultMessage: 'Disable outgoing tracecontext headers', + }), description: i18n.translate( 'xpack.apm.agentConfig.disableOutgoingTracecontextHeaders.description', { @@ -216,15 +178,12 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.exitSpanMinDuration.label', { defaultMessage: 'Exit span min duration', }), - description: i18n.translate( - 'xpack.apm.agentConfig.exitSpanMinDuration.description', - { - defaultMessage: - 'Exit spans are spans that represent a call to an external service, like a database. If such calls are very short, they are usually not relevant and can be ignored.\n' + - '\n' + - 'NOTE: If a span propagates distributed tracing ids, it will not be ignored, even if it is shorter than the configured threshold. This is to ensure that no broken traces are recorded.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.exitSpanMinDuration.description', { + defaultMessage: + 'Exit spans are spans that represent a call to an external service, like a database. If such calls are very short, they are usually not relevant and can be ignored.\n' + + '\n' + + 'NOTE: If a span propagates distributed tracing ids, it will not be ignored, even if it is shorter than the configured threshold. This is to ensure that no broken traces are recorded.', + }), includeAgents: ['java', 'dotnet', 'nodejs', 'python'], }, @@ -235,16 +194,13 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.ignoreMessageQueues.label', { defaultMessage: 'Ignore message queues', }), - description: i18n.translate( - 'xpack.apm.agentConfig.ignoreMessageQueues.description', - { - defaultMessage: - 'Used to filter out specific messaging queues/topics from being traced. \n' + - '\n' + - 'This property should be set to an array containing one or more strings.\n' + - 'When set, sends-to and receives-from the specified queues/topic will be ignored.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.ignoreMessageQueues.description', { + defaultMessage: + 'Used to filter out specific messaging queues/topics from being traced. \n' + + '\n' + + 'This property should be set to an array containing one or more strings.\n' + + 'When set, sends-to and receives-from the specified queues/topic will be ignored.', + }), includeAgents: ['java', 'dotnet', 'nodejs'], }, @@ -256,15 +212,12 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.logEcsReformatting.label', { defaultMessage: 'Log ECS reformatting', }), - description: i18n.translate( - 'xpack.apm.agentConfig.logEcsReformatting.description', - { - defaultMessage: - 'Specifying whether and how the agent should automatically reformat application logs into ' + - '[ECS-compatible JSON](https://www.elastic.co/guide/en/ecs-logging/overview/master/intro.html), ' + - 'suitable for ingestion into Elasticsearch for further Log analysis.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.logEcsReformatting.description', { + defaultMessage: + 'Specifying whether and how the agent should automatically reformat application logs into ' + + '[ECS-compatible JSON](https://www.elastic.co/guide/en/ecs-logging/overview/master/intro.html), ' + + 'suitable for ingestion into Elasticsearch for further Log analysis.', + }), options: [ { text: 'off', value: 'off' }, { text: 'shade', value: 'shade' }, @@ -302,12 +255,9 @@ export const generalSettings: RawSettingDefinition[] = [ key: 'mongodb_capture_statement_commands', type: 'boolean', defaultValue: 'false', - label: i18n.translate( - 'xpack.apm.agentConfig.mongodbCaptureStatementCommands.label', - { - defaultMessage: 'MongoDB capture statement commands', - } - ), + label: i18n.translate('xpack.apm.agentConfig.mongodbCaptureStatementCommands.label', { + defaultMessage: 'MongoDB capture statement commands', + }), description: i18n.translate( 'xpack.apm.agentConfig.mongodbCaptureStatementCommands.description', { @@ -341,19 +291,13 @@ export const generalSettings: RawSettingDefinition[] = [ key: 'context_propagation_only', type: 'boolean', defaultValue: 'false', - label: i18n.translate( - 'xpack.apm.agentConfig.context_propagation_only.label', - { - defaultMessage: 'Context Propagation Only', - } - ), - description: i18n.translate( - 'xpack.apm.agentConfig.context_propagation_only.description', - { - defaultMessage: - 'When set to true, disables log sending, metrics and trace collection. Trace context propagation and log correlation will stay active.', - } - ), + label: i18n.translate('xpack.apm.agentConfig.context_propagation_only.label', { + defaultMessage: 'Context Propagation Only', + }), + description: i18n.translate('xpack.apm.agentConfig.context_propagation_only.description', { + defaultMessage: + 'When set to true, disables log sending, metrics and trace collection. Trace context propagation and log correlation will stay active.', + }), includeAgents: ['java'], }, @@ -365,13 +309,10 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.serverTimeout.label', { defaultMessage: 'Server Timeout', }), - description: i18n.translate( - 'xpack.apm.agentConfig.serverTimeout.description', - { - defaultMessage: - 'If a request to the APM Server takes longer than the configured timeout,\nthe request is cancelled and the event (exception or transaction) is discarded.\nSet to 0 to disable timeouts.\n\nWARNING: If timeouts are disabled or set to a high value, your app could experience memory issues if the APM Server times out.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.serverTimeout.description', { + defaultMessage: + 'If a request to the APM Server takes longer than the configured timeout,\nthe request is cancelled and the event (exception or transaction) is discarded.\nSet to 0 to disable timeouts.\n\nWARNING: If timeouts are disabled or set to a high value, your app could experience memory issues if the APM Server times out.', + }), includeAgents: ['java'], }, @@ -379,20 +320,14 @@ export const generalSettings: RawSettingDefinition[] = [ key: 'span_compression_enabled', type: 'boolean', defaultValue: 'true', - label: i18n.translate( - 'xpack.apm.agentConfig.spanCompressionEnabled.label', - { - defaultMessage: 'Span compression enabled', - } - ), - description: i18n.translate( - 'xpack.apm.agentConfig.spanCompressionEnabled.description', - { - defaultMessage: - 'Setting this option to true will enable span compression feature.\n' + - 'Span compression reduces the collection, processing, and storage overhead, and removes clutter from the UI. The tradeoff is that some information such as DB statements of all the compressed spans will not be collected.', - } - ), + label: i18n.translate('xpack.apm.agentConfig.spanCompressionEnabled.label', { + defaultMessage: 'Span compression enabled', + }), + description: i18n.translate('xpack.apm.agentConfig.spanCompressionEnabled.description', { + defaultMessage: + 'Setting this option to true will enable span compression feature.\n' + + 'Span compression reduces the collection, processing, and storage overhead, and removes clutter from the UI. The tradeoff is that some information such as DB statements of all the compressed spans will not be collected.', + }), includeAgents: ['java', 'dotnet', 'python'], }, @@ -401,12 +336,9 @@ export const generalSettings: RawSettingDefinition[] = [ type: 'duration', defaultValue: '50ms', min: '0ms', - label: i18n.translate( - 'xpack.apm.agentConfig.spanCompressionExactMatchMaxDuration.label', - { - defaultMessage: 'Span compression exact match max duration', - } - ), + label: i18n.translate('xpack.apm.agentConfig.spanCompressionExactMatchMaxDuration.label', { + defaultMessage: 'Span compression exact match max duration', + }), description: i18n.translate( 'xpack.apm.agentConfig.spanCompressionExactMatchMaxDuration.description', { @@ -421,12 +353,9 @@ export const generalSettings: RawSettingDefinition[] = [ type: 'duration', defaultValue: '0ms', min: '0ms', - label: i18n.translate( - 'xpack.apm.agentConfig.spanCompressionSameKindMaxDuration.label', - { - defaultMessage: 'Span compression same kind max duration', - } - ), + label: i18n.translate('xpack.apm.agentConfig.spanCompressionSameKindMaxDuration.label', { + defaultMessage: 'Span compression same kind max duration', + }), description: i18n.translate( 'xpack.apm.agentConfig.spanCompressionSameKindMaxDuration.description', { @@ -446,21 +375,11 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.spanFramesMinDuration.label', { defaultMessage: 'Span frames minimum duration', }), - description: i18n.translate( - 'xpack.apm.agentConfig.spanFramesMinDuration.description', - { - defaultMessage: - '(Deprecated, use `span_stack_trace_min_duration` instead!) In its default settings, the APM agent will collect a stack trace with every recorded span.\nWhile this is very helpful to find the exact place in your code that causes the span, collecting this stack trace does have some overhead. \nWhen setting this option to a negative value, like `-1ms`, stack traces will be collected for all spans. Setting it to a positive value, e.g. `5ms`, will limit stack trace collection to spans with durations equal to or longer than the given value, e.g. 5 milliseconds.\n\nTo disable stack trace collection for spans completely, set the value to `0ms`.', - } - ), - excludeAgents: [ - 'js-base', - 'rum-js', - 'nodejs', - 'php', - 'android/java', - 'iOS/swift', - ], + description: i18n.translate('xpack.apm.agentConfig.spanFramesMinDuration.description', { + defaultMessage: + '(Deprecated, use `span_stack_trace_min_duration` instead!) In its default settings, the APM agent will collect a stack trace with every recorded span.\nWhile this is very helpful to find the exact place in your code that causes the span, collecting this stack trace does have some overhead. \nWhen setting this option to a negative value, like `-1ms`, stack traces will be collected for all spans. Setting it to a positive value, e.g. `5ms`, will limit stack trace collection to spans with durations equal to or longer than the given value, e.g. 5 milliseconds.\n\nTo disable stack trace collection for spans completely, set the value to `0ms`.', + }), + excludeAgents: ['js-base', 'rum-js', 'nodejs', 'php', 'android/java', 'iOS/swift'], }, { @@ -468,24 +387,18 @@ export const generalSettings: RawSettingDefinition[] = [ type: 'duration', min: '-1ms', defaultValue: '5ms', - label: i18n.translate( - 'xpack.apm.agentConfig.spanStackTraceMinDuration.label', - { - defaultMessage: 'Span stack trace minimum duration', - } - ), - description: i18n.translate( - 'xpack.apm.agentConfig.spanStackTraceMinDuration.description', - { - defaultMessage: - 'While this is very helpful to find the exact place in your code that causes the span, ' + - 'collecting this stack trace does have some overhead. When setting this option to the value `0ms`, ' + - 'stack traces will be collected for all spans. Setting it to a positive value, e.g. `5ms`, will limit ' + - 'stack trace collection to spans with durations equal to or longer than the given value, e.g. 5 milliseconds.\n' + - '\n' + - 'To disable stack trace collection for spans completely, set the value to `-1ms`.', - } - ), + label: i18n.translate('xpack.apm.agentConfig.spanStackTraceMinDuration.label', { + defaultMessage: 'Span stack trace minimum duration', + }), + description: i18n.translate('xpack.apm.agentConfig.spanStackTraceMinDuration.description', { + defaultMessage: + 'While this is very helpful to find the exact place in your code that causes the span, ' + + 'collecting this stack trace does have some overhead. When setting this option to the value `0ms`, ' + + 'stack traces will be collected for all spans. Setting it to a positive value, e.g. `5ms`, will limit ' + + 'stack trace collection to spans with durations equal to or longer than the given value, e.g. 5 milliseconds.\n' + + '\n' + + 'To disable stack trace collection for spans completely, set the value to `-1ms`.', + }), includeAgents: ['java', 'dotnet', 'nodejs', 'python'], }, @@ -497,13 +410,10 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.stackTraceLimit.label', { defaultMessage: 'Stack trace limit', }), - description: i18n.translate( - 'xpack.apm.agentConfig.stackTraceLimit.description', - { - defaultMessage: - 'Setting it to 0 will disable stack trace collection. Any positive integer value will be used as the maximum number of frames to collect. Setting it -1 means that all frames will be collected.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.stackTraceLimit.description', { + defaultMessage: + 'Setting it to 0 will disable stack trace collection. Any positive integer value will be used as the maximum number of frames to collect. Setting it -1 means that all frames will be collected.', + }), includeAgents: ['java', 'dotnet', 'go', 'python'], }, @@ -512,31 +422,25 @@ export const generalSettings: RawSettingDefinition[] = [ validation: traceContinuationStrategyRt, type: 'select', defaultValue: 'continue', - label: i18n.translate( - 'xpack.apm.agentConfig.traceContinuationStrategy.label', - { - defaultMessage: 'Trace continuation strategy', - } - ), - description: i18n.translate( - 'xpack.apm.agentConfig.traceContinuationStrategy.description', - { - defaultMessage: - 'This option allows some control over how the APM agent handles W3C trace-context headers on incoming requests. By default, the `traceparent` and `tracestate` headers are used per W3C spec for distributed tracing. However, in certain cases it can be helpful to not use the incoming `traceparent` header. Some example use cases:\n' + - '\n' + - '* An Elastic-monitored service is receiving requests with `traceparent` headers from unmonitored services.\n' + - '* An Elastic-monitored service is publicly exposed, and does not want tracing data (trace-ids, sampling decisions) to possibly be spoofed by user requests.\n' + - '\n' + - 'Valid values are:\n' + - "* 'continue': The default behavior. An incoming `traceparent` value is used to continue the trace and determine the sampling decision.\n" + - "* 'restart': Always ignores the `traceparent` header of incoming requests. A new trace-id will be generated and the sampling decision will be made based on transaction_sample_rate. A span link will be made to the incoming `traceparent`.\n" + - "* 'restart_external': If an incoming request includes the `es` vendor flag in `tracestate`, then any `traceparent` will be considered internal and will be handled as described for 'continue' above. Otherwise, any `traceparent` is considered external and will be handled as described for 'restart' above.\n" + - '\n' + - 'Starting with Elastic Observability 8.2, span links are visible in trace views.\n' + - '\n' + - 'This option is case-insensitive.', - } - ), + label: i18n.translate('xpack.apm.agentConfig.traceContinuationStrategy.label', { + defaultMessage: 'Trace continuation strategy', + }), + description: i18n.translate('xpack.apm.agentConfig.traceContinuationStrategy.description', { + defaultMessage: + 'This option allows some control over how the APM agent handles W3C trace-context headers on incoming requests. By default, the `traceparent` and `tracestate` headers are used per W3C spec for distributed tracing. However, in certain cases it can be helpful to not use the incoming `traceparent` header. Some example use cases:\n' + + '\n' + + '* An Elastic-monitored service is receiving requests with `traceparent` headers from unmonitored services.\n' + + '* An Elastic-monitored service is publicly exposed, and does not want tracing data (trace-ids, sampling decisions) to possibly be spoofed by user requests.\n' + + '\n' + + 'Valid values are:\n' + + "* 'continue': The default behavior. An incoming `traceparent` value is used to continue the trace and determine the sampling decision.\n" + + "* 'restart': Always ignores the `traceparent` header of incoming requests. A new trace-id will be generated and the sampling decision will be made based on transaction_sample_rate. A span link will be made to the incoming `traceparent`.\n" + + "* 'restart_external': If an incoming request includes the `es` vendor flag in `tracestate`, then any `traceparent` will be considered internal and will be handled as described for 'continue' above. Otherwise, any `traceparent` is considered external and will be handled as described for 'restart' above.\n" + + '\n' + + 'Starting with Elastic Observability 8.2, span links are visible in trace views.\n' + + '\n' + + 'This option is case-insensitive.', + }), options: [ { text: 'continue', value: 'continue' }, { text: 'restart', value: 'restart' }, @@ -554,13 +458,9 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.transactionMaxSpans.label', { defaultMessage: 'Transaction max spans', }), - description: i18n.translate( - 'xpack.apm.agentConfig.transactionMaxSpans.description', - { - defaultMessage: - 'Limits the amount of spans that are recorded per transaction.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.transactionMaxSpans.description', { + defaultMessage: 'Limits the amount of spans that are recorded per transaction.', + }), excludeAgents: ['js-base', 'rum-js', 'android/java', 'iOS/swift'], }, @@ -572,13 +472,10 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.transactionSampleRate.label', { defaultMessage: 'Transaction sample rate', }), - description: i18n.translate( - 'xpack.apm.agentConfig.transactionSampleRate.description', - { - defaultMessage: - 'By default, the agent will sample every transaction (e.g. request to your service). To reduce overhead and storage requirements, you can set the sample rate to a value between 0.0 and 1.0. We still record overall time and the result for unsampled transactions, but not context information, labels, or spans.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.transactionSampleRate.description', { + defaultMessage: + 'By default, the agent will sample every transaction (e.g. request to your service). To reduce overhead and storage requirements, you can set the sample rate to a value between 0.0 and 1.0. We still record overall time and the result for unsampled transactions, but not context information, labels, or spans.', + }), excludeAgents: ['android/java', 'iOS/swift'], }, @@ -591,13 +488,10 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.sanitizeFiledNames.label', { defaultMessage: 'Sanitize field names', }), - description: i18n.translate( - 'xpack.apm.agentConfig.sanitizeFiledNames.description', - { - defaultMessage: - 'Sometimes it is necessary to sanitize, i.e., remove, sensitive data sent to Elastic APM. This config accepts a list of wildcard patterns of field names which should be sanitized. These apply to HTTP headers (including cookies) and `application/x-www-form-urlencoded` data (POST form fields). The query string and the captured request body (such as `application/json` data) will not get sanitized.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.sanitizeFiledNames.description', { + defaultMessage: + 'Sometimes it is necessary to sanitize, i.e., remove, sensitive data sent to Elastic APM. This config accepts a list of wildcard patterns of field names which should be sanitized. These apply to HTTP headers (including cookies) and `application/x-www-form-urlencoded` data (POST form fields). The query string and the captured request body (such as `application/json` data) will not get sanitized.', + }), includeAgents: ['java', 'python', 'go', 'dotnet', 'nodejs', 'ruby'], }, @@ -610,13 +504,10 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.transactionIgnoreUrl.label', { defaultMessage: 'Ignore transactions based on URLs', }), - description: i18n.translate( - 'xpack.apm.agentConfig.transactionIgnoreUrl.description', - { - defaultMessage: - 'Used to restrict requests to certain URLs from being instrumented. This config accepts a comma-separated list of wildcard patterns of URL paths that should be ignored. When an incoming HTTP request is detected, its request path will be tested against each element in this list. For example, adding `/home/index` to this list would match and remove instrumentation from `http://localhost/home/index` as well as `http://whatever.com/home/index?value1=123`', - } - ), + description: i18n.translate('xpack.apm.agentConfig.transactionIgnoreUrl.description', { + defaultMessage: + 'Used to restrict requests to certain URLs from being instrumented. This config accepts a comma-separated list of wildcard patterns of URL paths that should be ignored. When an incoming HTTP request is detected, its request path will be tested against each element in this list. For example, adding `/home/index` to this list would match and remove instrumentation from `http://localhost/home/index` as well as `http://whatever.com/home/index?value1=123`', + }), includeAgents: ['java', 'nodejs', 'python', 'dotnet', 'ruby', 'go'], }, @@ -624,23 +515,17 @@ export const generalSettings: RawSettingDefinition[] = [ key: 'transaction_ignore_user_agents', type: 'text', defaultValue: '', - label: i18n.translate( - 'xpack.apm.agentConfig.transactionIgnoreUserAgents.label', - { - defaultMessage: 'Transaction ignore user agents', - } - ), - description: i18n.translate( - 'xpack.apm.agentConfig.transactionIgnoreUserAgents.description', - { - defaultMessage: - 'Used to restrict requests from certain User-Agents from being instrumented.\n' + - '\n' + - 'When an incoming HTTP request is detected,\n' + - 'the User-Agent from the request headers will be tested against each element in this list.\n' + - 'Example: `curl/*`, `*pingdom*`', - } - ), + label: i18n.translate('xpack.apm.agentConfig.transactionIgnoreUserAgents.label', { + defaultMessage: 'Transaction ignore user agents', + }), + description: i18n.translate('xpack.apm.agentConfig.transactionIgnoreUserAgents.description', { + defaultMessage: + 'Used to restrict requests from certain User-Agents from being instrumented.\n' + + '\n' + + 'When an incoming HTTP request is detected,\n' + + 'the User-Agent from the request headers will be tested against each element in this list.\n' + + 'Example: `curl/*`, `*pingdom*`', + }), includeAgents: ['java'], }, @@ -648,25 +533,19 @@ export const generalSettings: RawSettingDefinition[] = [ key: 'use_path_as_transaction_name', type: 'boolean', defaultValue: 'false', - label: i18n.translate( - 'xpack.apm.agentConfig.usePathAsTransactionName.label', - { - defaultMessage: 'Use path as transaction name', - } - ), - description: i18n.translate( - 'xpack.apm.agentConfig.usePathAsTransactionName.description', - { - defaultMessage: - 'If set to `true`,\n' + - 'transaction names of unsupported or partially-supported frameworks will be in the form of `$method $path` instead of just `$method unknown route`.\n' + - '\n' + - 'WARNING: If your URLs contain path parameters like `/user/$userId`,\n' + - 'you should be very careful when enabling this flag,\n' + - 'as it can lead to an explosion of transaction groups.\n' + - 'Take a look at the `transaction_name_groups` option on how to mitigate this problem by grouping URLs together.', - } - ), + label: i18n.translate('xpack.apm.agentConfig.usePathAsTransactionName.label', { + defaultMessage: 'Use path as transaction name', + }), + description: i18n.translate('xpack.apm.agentConfig.usePathAsTransactionName.description', { + defaultMessage: + 'If set to `true`,\n' + + 'transaction names of unsupported or partially-supported frameworks will be in the form of `$method $path` instead of just `$method unknown route`.\n' + + '\n' + + 'WARNING: If your URLs contain path parameters like `/user/$userId`,\n' + + 'you should be very careful when enabling this flag,\n' + + 'as it can lead to an explosion of transaction groups.\n' + + 'Take a look at the `transaction_name_groups` option on how to mitigate this problem by grouping URLs together.', + }), includeAgents: ['java'], }, @@ -677,18 +556,15 @@ export const generalSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.transactionNameGroups.label', { defaultMessage: 'Transaction name groups', }), - description: i18n.translate( - 'xpack.apm.agentConfig.transactionNameGroups.description', - { - defaultMessage: - 'With this option,\n' + - 'you can group transaction names that contain dynamic parts with a wildcard expression.\n' + - 'For example,\n' + - 'the pattern `GET /user/*/cart` would consolidate transactions,\n' + - 'such as `GET /users/42/cart` and `GET /users/73/cart` into a single transaction name `GET /users/*/cart`,\n' + - 'hence reducing the transaction name cardinality.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.transactionNameGroups.description', { + defaultMessage: + 'With this option,\n' + + 'you can group transaction names that contain dynamic parts with a wildcard expression.\n' + + 'For example,\n' + + 'the pattern `GET /user/*/cart` would consolidate transactions,\n' + + 'such as `GET /users/42/cart` and `GET /users/73/cart` into a single transaction name `GET /users/*/cart`,\n' + + 'hence reducing the transaction name cardinality.', + }), includeAgents: ['java'], }, ]; diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/index.test.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/index.test.ts index 7964332df8bf8..8f64a88a5dc0e 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/index.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/index.test.ts @@ -182,25 +182,16 @@ describe('filterByAgent', () => { }); it('android/java', () => { - expect(getSettingKeysForAgent('android/java')).toEqual([ - 'recording', - 'session_sample_rate', - ]); + expect(getSettingKeysForAgent('android/java')).toEqual(['recording', 'session_sample_rate']); }); it('iOS/swift', () => { - expect(getSettingKeysForAgent('iOS/swift')).toEqual([ - 'recording', - 'session_sample_rate', - ]); + expect(getSettingKeysForAgent('iOS/swift')).toEqual(['recording', 'session_sample_rate']); }); it('"All" services (no agent name)', () => { expect(getSettingKeysForAgent(undefined)).toEqual( - expect.arrayContaining([ - 'transaction_max_spans', - 'transaction_sample_rate', - ]) + expect.arrayContaining(['transaction_max_spans', 'transaction_sample_rate']) ); }); }); diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/index.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/index.ts index dbe1da9988851..200ce169a05f1 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/index.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/index.ts @@ -132,8 +132,6 @@ export function validateSetting(setting: SettingDefinition, value: unknown) { } export const settingDefinitions: SettingDefinition[] = sortBy( - [...generalSettings, ...javaSettings, ...mobileSettings].map( - getSettingDefaults - ), + [...generalSettings, ...javaSettings, ...mobileSettings].map(getSettingDefaults), 'key' ); diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/java_settings.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/java_settings.ts index 45abfb43edb00..5d30e208d9202 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/java_settings.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/java_settings.ts @@ -16,18 +16,15 @@ export const javaSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.applicationPackages.label', { defaultMessage: 'Application packages', }), - description: i18n.translate( - 'xpack.apm.agentConfig.applicationPackages.description', - { - defaultMessage: - 'Used to determine whether a stack trace frame is an in-app frame or a library frame. ' + - 'This allows the APM app to collapse the stack frames of library code, and highlight the stack frames that originate from your application. ' + - 'Multiple root packages can be set as a comma-separated list; there’s no need to configure sub-packages. ' + - 'Because this setting helps determine which classes to scan on startup, setting this option can also improve startup time.\n' + - '\n' + - 'You must set this option in order to use the API annotations `@CaptureTransaction` and `@CaptureSpan`.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.applicationPackages.description', { + defaultMessage: + 'Used to determine whether a stack trace frame is an in-app frame or a library frame. ' + + 'This allows the APM app to collapse the stack frames of library code, and highlight the stack frames that originate from your application. ' + + 'Multiple root packages can be set as a comma-separated list; there’s no need to configure sub-packages. ' + + 'Because this setting helps determine which classes to scan on startup, setting this option can also improve startup time.\n' + + '\n' + + 'You must set this option in order to use the API annotations `@CaptureTransaction` and `@CaptureSpan`.', + }), includeAgents: ['java'], }, @@ -39,13 +36,10 @@ export const javaSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.enableLogCorrelation.label', { defaultMessage: 'Enable log correlation', }), - description: i18n.translate( - 'xpack.apm.agentConfig.enableLogCorrelation.description', - { - defaultMessage: - "A boolean specifying if the agent should integrate into SLF4J's MDC to enable trace-log correlation. If set to `true`, the agent will set the `trace.id` and `transaction.id` for the currently active spans and transactions to the MDC. Since Java agent version 1.16.0, the agent also adds `error.id` of captured error to the MDC just before the error message is logged. NOTE: While it's allowed to enable this setting at runtime, you can't disable it without a restart.", - } - ), + description: i18n.translate('xpack.apm.agentConfig.enableLogCorrelation.description', { + defaultMessage: + "A boolean specifying if the agent should integrate into SLF4J's MDC to enable trace-log correlation. If set to `true`, the agent will set the `trace.id` and `transaction.id` for the currently active spans and transactions to the MDC. Since Java agent version 1.16.0, the agent also adds `error.id` of captured error to the MDC just before the error message is logged. NOTE: While it's allowed to enable this setting at runtime, you can't disable it without a restart.", + }), includeAgents: ['java'], }, @@ -60,13 +54,10 @@ export const javaSettings: RawSettingDefinition[] = [ type: 'boolean', category: 'Circuit-Breaker', defaultValue: 'false', - description: i18n.translate( - 'xpack.apm.agentConfig.circuitBreakerEnabled.description', - { - defaultMessage: - 'A boolean specifying whether the circuit breaker should be enabled or not. When enabled, the agent periodically polls stress monitors to detect system/process/JVM stress state. If ANY of the monitors detects a stress indication, the agent will pause, as if the `recording` configuration option has been set to `false`, thus reducing resource consumption to a minimum. When paused, the agent continues polling the same monitors in order to detect whether the stress state has been relieved. If ALL monitors approve that the system/process/JVM is not under stress anymore, the agent will resume and become fully functional.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.circuitBreakerEnabled.description', { + defaultMessage: + 'A boolean specifying whether the circuit breaker should be enabled or not. When enabled, the agent periodically polls stress monitors to detect system/process/JVM stress state. If ANY of the monitors detects a stress indication, the agent will pause, as if the `recording` configuration option has been set to `false`, thus reducing resource consumption to a minimum. When paused, the agent continues polling the same monitors in order to detect whether the stress state has been relieved. If ALL monitors approve that the system/process/JVM is not under stress anymore, the agent will resume and become fully functional.', + }), includeAgents: ['java'], }, @@ -74,12 +65,9 @@ export const javaSettings: RawSettingDefinition[] = [ key: 'enable_experimental_instrumentations', type: 'boolean', defaultValue: 'false', - label: i18n.translate( - 'xpack.apm.agentConfig.enableExperimentalInstrumentations.label', - { - defaultMessage: 'Enable experimental instrumentations', - } - ), + label: i18n.translate('xpack.apm.agentConfig.enableExperimentalInstrumentations.label', { + defaultMessage: 'Enable experimental instrumentations', + }), description: i18n.translate( 'xpack.apm.agentConfig.enableExperimentalInstrumentations.description', { @@ -97,26 +85,20 @@ export const javaSettings: RawSettingDefinition[] = [ key: 'enable_instrumentations', type: 'text', defaultValue: '', - label: i18n.translate( - 'xpack.apm.agentConfig.enableInstrumentations.label', - { - defaultMessage: 'Disable instrumentations', - } - ), - description: i18n.translate( - 'xpack.apm.agentConfig.enableInstrumentations.description', - { - defaultMessage: - 'A list of instrumentations which should be selectively enabled. ' + - 'Valid options are listed in the ' + - '[Java APM Agent documentation](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-disable-instrumentations).\n' + - '\n' + - 'When set to non-empty value, only listed instrumentations will be enabled ' + - 'if they are not disabled through `disable_instrumentations`or `enable_experimental_instrumentations`.\n' + - 'When not set or empty (default), all instrumentations enabled by default will be enabled ' + - 'unless they are disabled through `disable_instrumentations` or `enable_experimental_instrumentations`.', - } - ), + label: i18n.translate('xpack.apm.agentConfig.enableInstrumentations.label', { + defaultMessage: 'Disable instrumentations', + }), + description: i18n.translate('xpack.apm.agentConfig.enableInstrumentations.description', { + defaultMessage: + 'A list of instrumentations which should be selectively enabled. ' + + 'Valid options are listed in the ' + + '[Java APM Agent documentation](https://www.elastic.co/guide/en/apm/agent/java/current/config-core.html#config-disable-instrumentations).\n' + + '\n' + + 'When set to non-empty value, only listed instrumentations will be enabled ' + + 'if they are not disabled through `disable_instrumentations`or `enable_experimental_instrumentations`.\n' + + 'When not set or empty (default), all instrumentations enabled by default will be enabled ' + + 'unless they are disabled through `disable_instrumentations` or `enable_experimental_instrumentations`.', + }), includeAgents: ['java'], }, @@ -127,16 +109,13 @@ export const javaSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.logSending.label', { defaultMessage: 'Log sending (experimental)', }), - description: i18n.translate( - 'xpack.apm.agentConfig.logSending.description', - { - defaultMessage: - 'Experimental, requires latest version of the Java agent.\n' + - '\n' + - 'If set to `true`,\n' + - 'agent will send logs directly to APM server.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.logSending.description', { + defaultMessage: + 'Experimental, requires latest version of the Java agent.\n' + + '\n' + + 'If set to `true`,\n' + + 'agent will send logs directly to APM server.', + }), includeAgents: ['java'], }, @@ -148,28 +127,24 @@ export const javaSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.spanMinDuration.label', { defaultMessage: 'Span minimum duration', }), - description: i18n.translate( - 'xpack.apm.agentConfig.spanMinDuration.description', - { - defaultMessage: - 'Sets the minimum duration of spans. Spans that execute faster than this threshold are attempted to be discarded.\n' + - '\n' + - 'The attempt fails if they lead up to a span that can’t be discarded. Spans that propagate the trace context to ' + - 'downstream services, such as outgoing HTTP requests, can’t be discarded. Additionally, spans that lead to an error ' + - 'or that may be a parent of an async operation can’t be discarded.\n' + - '\n' + - 'However, external calls that don’t propagate context, such as calls to a database, can be discarded using this threshold.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.spanMinDuration.description', { + defaultMessage: + 'Sets the minimum duration of spans. Spans that execute faster than this threshold are attempted to be discarded.\n' + + '\n' + + 'The attempt fails if they lead up to a span that can’t be discarded. Spans that propagate the trace context to ' + + 'downstream services, such as outgoing HTTP requests, can’t be discarded. Additionally, spans that lead to an error ' + + 'or that may be a parent of an async operation can’t be discarded.\n' + + '\n' + + 'However, external calls that don’t propagate context, such as calls to a database, can be discarded using this threshold.', + }), includeAgents: ['java'], }, { key: 'stress_monitor_gc_stress_threshold', - label: i18n.translate( - 'xpack.apm.agentConfig.stressMonitorGcStressThreshold.label', - { defaultMessage: 'Stress monitor gc stress threshold' } - ), + label: i18n.translate('xpack.apm.agentConfig.stressMonitorGcStressThreshold.label', { + defaultMessage: 'Stress monitor gc stress threshold', + }), type: 'float', category: 'Circuit-Breaker', defaultValue: '0.95', @@ -184,10 +159,9 @@ export const javaSettings: RawSettingDefinition[] = [ }, { key: 'stress_monitor_gc_relief_threshold', - label: i18n.translate( - 'xpack.apm.agentConfig.stressMonitorGcReliefThreshold.label', - { defaultMessage: 'Stress monitor gc relief threshold' } - ), + label: i18n.translate('xpack.apm.agentConfig.stressMonitorGcReliefThreshold.label', { + defaultMessage: 'Stress monitor gc relief threshold', + }), type: 'float', category: 'Circuit-Breaker', @@ -203,10 +177,9 @@ export const javaSettings: RawSettingDefinition[] = [ }, { key: 'stress_monitor_cpu_duration_threshold', - label: i18n.translate( - 'xpack.apm.agentConfig.stressMonitorCpuDurationThreshold.label', - { defaultMessage: 'Stress monitor cpu duration threshold' } - ), + label: i18n.translate('xpack.apm.agentConfig.stressMonitorCpuDurationThreshold.label', { + defaultMessage: 'Stress monitor cpu duration threshold', + }), type: 'duration', category: 'Circuit-Breaker', defaultValue: '1m', @@ -222,10 +195,9 @@ export const javaSettings: RawSettingDefinition[] = [ }, { key: 'stress_monitor_system_cpu_stress_threshold', - label: i18n.translate( - 'xpack.apm.agentConfig.stressMonitorSystemCpuStressThreshold.label', - { defaultMessage: 'Stress monitor system cpu stress threshold' } - ), + label: i18n.translate('xpack.apm.agentConfig.stressMonitorSystemCpuStressThreshold.label', { + defaultMessage: 'Stress monitor system cpu stress threshold', + }), type: 'float', category: 'Circuit-Breaker', defaultValue: '0.95', @@ -240,10 +212,9 @@ export const javaSettings: RawSettingDefinition[] = [ }, { key: 'stress_monitor_system_cpu_relief_threshold', - label: i18n.translate( - 'xpack.apm.agentConfig.stressMonitorSystemCpuReliefThreshold.label', - { defaultMessage: 'Stress monitor system cpu relief threshold' } - ), + label: i18n.translate('xpack.apm.agentConfig.stressMonitorSystemCpuReliefThreshold.label', { + defaultMessage: 'Stress monitor system cpu relief threshold', + }), type: 'float', category: 'Circuit-Breaker', defaultValue: '0.8', @@ -263,28 +234,23 @@ export const javaSettings: RawSettingDefinition[] = [ { key: 'profiling_inferred_spans_enabled', - label: i18n.translate( - 'xpack.apm.agentConfig.profilingInferredSpansEnabled.label', - { defaultMessage: 'Profiling inferred spans enabled' } - ), + label: i18n.translate('xpack.apm.agentConfig.profilingInferredSpansEnabled.label', { + defaultMessage: 'Profiling inferred spans enabled', + }), type: 'boolean', category: 'Profiling', defaultValue: 'false', - description: i18n.translate( - 'xpack.apm.agentConfig.profilingInferredSpansEnabled.description', - { - defaultMessage: - 'Set to `true` to make the agent create spans for method executions based on async-profiler, a sampling aka statistical profiler. Due to the nature of how sampling profilers work, the duration of the inferred spans are not exact, but only estimations. The `profiling_inferred_spans_sampling_interval` lets you fine tune the trade-off between accuracy and overhead. The inferred spans are created after a profiling session has ended. This means there is a delay between the regular and the inferred spans being visible in the UI. NOTE: This feature is not available on Windows.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.profilingInferredSpansEnabled.description', { + defaultMessage: + 'Set to `true` to make the agent create spans for method executions based on async-profiler, a sampling aka statistical profiler. Due to the nature of how sampling profilers work, the duration of the inferred spans are not exact, but only estimations. The `profiling_inferred_spans_sampling_interval` lets you fine tune the trade-off between accuracy and overhead. The inferred spans are created after a profiling session has ended. This means there is a delay between the regular and the inferred spans being visible in the UI. NOTE: This feature is not available on Windows.', + }), includeAgents: ['java'], }, { key: 'profiling_inferred_spans_sampling_interval', - label: i18n.translate( - 'xpack.apm.agentConfig.profilingInferredSpansSamplingInterval.label', - { defaultMessage: 'Profiling inferred spans sampling interval' } - ), + label: i18n.translate('xpack.apm.agentConfig.profilingInferredSpansSamplingInterval.label', { + defaultMessage: 'Profiling inferred spans sampling interval', + }), type: 'duration', category: 'Profiling', defaultValue: '50ms', @@ -301,10 +267,9 @@ export const javaSettings: RawSettingDefinition[] = [ }, { key: 'profiling_inferred_spans_min_duration', - label: i18n.translate( - 'xpack.apm.agentConfig.profilingInferredSpansMinDuration.label', - { defaultMessage: 'Profiling inferred spans min duration' } - ), + label: i18n.translate('xpack.apm.agentConfig.profilingInferredSpansMinDuration.label', { + defaultMessage: 'Profiling inferred spans min duration', + }), type: 'duration', category: 'Profiling', defaultValue: '0ms', @@ -320,10 +285,9 @@ export const javaSettings: RawSettingDefinition[] = [ }, { key: 'profiling_inferred_spans_included_classes', - label: i18n.translate( - 'xpack.apm.agentConfig.profilingInferredSpansIncludedClasses.label', - { defaultMessage: 'Profiling inferred spans included classes' } - ), + label: i18n.translate('xpack.apm.agentConfig.profilingInferredSpansIncludedClasses.label', { + defaultMessage: 'Profiling inferred spans included classes', + }), type: 'text', category: 'Profiling', defaultValue: '*', @@ -338,10 +302,9 @@ export const javaSettings: RawSettingDefinition[] = [ }, { key: 'profiling_inferred_spans_excluded_classes', - label: i18n.translate( - 'xpack.apm.agentConfig.profilingInferredSpansExcludedClasses.label', - { defaultMessage: 'Profiling inferred spans excluded classes' } - ), + label: i18n.translate('xpack.apm.agentConfig.profilingInferredSpansExcludedClasses.label', { + defaultMessage: 'Profiling inferred spans excluded classes', + }), type: 'text', category: 'Profiling', defaultValue: @@ -363,19 +326,16 @@ export const javaSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.captureJmxMetrics.label', { defaultMessage: 'Capture JMX metrics', }), - description: i18n.translate( - 'xpack.apm.agentConfig.captureJmxMetrics.description', - { - defaultMessage: - 'Report metrics from JMX to the APM Server\n' + - '\n' + - 'Can contain multiple comma separated JMX metric definitions:\n' + - '\n' + - '`object_name[] attribute[:metric_name=]`\n' + - '\n' + - 'See the Java agent documentation for more details.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.captureJmxMetrics.description', { + defaultMessage: + 'Report metrics from JMX to the APM Server\n' + + '\n' + + 'Can contain multiple comma separated JMX metric definitions:\n' + + '\n' + + '`object_name[] attribute[:metric_name=]`\n' + + '\n' + + 'See the Java agent documentation for more details.', + }), includeAgents: ['java'], }, @@ -386,14 +346,11 @@ export const javaSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.ignoreExceptions.label', { defaultMessage: 'Ignore exceptions', }), - description: i18n.translate( - 'xpack.apm.agentConfig.ignoreExceptions.description', - { - defaultMessage: - 'A list of exceptions that should be ignored and not reported as errors.\n' + - 'This allows to ignore exceptions thrown in regular control flow that are not actual errors.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.ignoreExceptions.description', { + defaultMessage: + 'A list of exceptions that should be ignored and not reported as errors.\n' + + 'This allows to ignore exceptions thrown in regular control flow that are not actual errors.', + }), includeAgents: ['java'], }, @@ -404,26 +361,23 @@ export const javaSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.traceMethods.label', { defaultMessage: 'Trace methods', }), - description: i18n.translate( - 'xpack.apm.agentConfig.traceMethods.description', - { - defaultMessage: - 'A list of methods for which to create a transaction or span.\n' + - '\n' + - 'If you want to monitor a large number of methods,\n' + - 'use `profiling_inferred_spans_enabled`.\n' + - '\n' + - 'This works by instrumenting each matching method to include code that creates a span for the method.\n' + - 'While creating a span is quite cheap in terms of performance,\n' + - 'instrumenting a whole code base or a method which is executed in a tight loop leads to significant overhead.\n' + - '\n' + - 'NOTE: Only use wildcards if necessary.\n' + - 'The more methods you match the more overhead will be caused by the agent.\n' + - 'Also note that there is a maximum amount of spans per transaction `transaction_max_spans`.\n' + - '\n' + - 'See the Java agent documentation for more details.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.traceMethods.description', { + defaultMessage: + 'A list of methods for which to create a transaction or span.\n' + + '\n' + + 'If you want to monitor a large number of methods,\n' + + 'use `profiling_inferred_spans_enabled`.\n' + + '\n' + + 'This works by instrumenting each matching method to include code that creates a span for the method.\n' + + 'While creating a span is quite cheap in terms of performance,\n' + + 'instrumenting a whole code base or a method which is executed in a tight loop leads to significant overhead.\n' + + '\n' + + 'NOTE: Only use wildcards if necessary.\n' + + 'The more methods you match the more overhead will be caused by the agent.\n' + + 'Also note that there is a maximum amount of spans per transaction `transaction_max_spans`.\n' + + '\n' + + 'See the Java agent documentation for more details.', + }), includeAgents: ['java'], }, @@ -434,16 +388,13 @@ export const javaSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.unnestExceptions.label', { defaultMessage: 'Unnest exceptions', }), - description: i18n.translate( - 'xpack.apm.agentConfig.unnestExceptions.description', - { - defaultMessage: - 'When reporting exceptions,\n' + - 'un-nests the exceptions matching the wildcard pattern.\n' + - "This can come in handy for Spring's `org.springframework.web.util.NestedServletException`,\n" + - 'for example.', - } - ), + description: i18n.translate('xpack.apm.agentConfig.unnestExceptions.description', { + defaultMessage: + 'When reporting exceptions,\n' + + 'un-nests the exceptions matching the wildcard pattern.\n' + + "This can come in handy for Spring's `org.springframework.web.util.NestedServletException`,\n" + + 'for example.', + }), includeAgents: ['java'], }, ]; diff --git a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/mobile_settings.ts b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/mobile_settings.ts index c334c3a72aaa3..b171614f7fb2a 100644 --- a/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/mobile_settings.ts +++ b/x-pack/plugins/observability_solution/apm/common/agent_configuration/setting_definitions/mobile_settings.ts @@ -17,13 +17,10 @@ export const mobileSettings: RawSettingDefinition[] = [ label: i18n.translate('xpack.apm.agentConfig.sessionSampleRate.label', { defaultMessage: 'Session sample rate', }), - description: i18n.translate( - 'xpack.apm.agentConfig.sessionSampleRate.description', - { - defaultMessage: - "By default, the agent will sample all signals generated by your application (e.g. spans, metrics, & logs). To reduce overhead and storage requirements, you can set the sample rate to a value between 0.0 and 1.0. When reduced below 1.0, data will be sampled per session. This is so context in a given session isn't lost.", - } - ), + description: i18n.translate('xpack.apm.agentConfig.sessionSampleRate.description', { + defaultMessage: + "By default, the agent will sample all signals generated by your application (e.g. spans, metrics, & logs). To reduce overhead and storage requirements, you can set the sample rate to a value between 0.0 and 1.0. When reduced below 1.0, data will be sampled per session. This is so context in a given session isn't lost.", + }), includeAgents: ['iOS/swift', 'android/java'], }, ]; diff --git a/x-pack/plugins/observability_solution/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.ts b/x-pack/plugins/observability_solution/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.ts index 04f1c72a3c334..0f1ff8c4f30a6 100644 --- a/x-pack/plugins/observability_solution/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.ts +++ b/x-pack/plugins/observability_solution/apm/common/anomaly_detection/get_preferred_service_anomaly_timeseries.ts @@ -20,9 +20,7 @@ export function getPreferredServiceAnomalyTimeseries({ allAnomalyTimeseries: ServiceAnomalyTimeseries[]; fallbackToTransactions: boolean; }) { - const seriesForType = allAnomalyTimeseries.filter( - (serie) => serie.type === detectorType - ); + const seriesForType = allAnomalyTimeseries.filter((serie) => serie.type === detectorType); return seriesForType.find( (serie) => diff --git a/x-pack/plugins/observability_solution/apm/common/anomaly_detection/index.ts b/x-pack/plugins/observability_solution/apm/common/anomaly_detection/index.ts index 23912461412e2..68b6aa72fca58 100644 --- a/x-pack/plugins/observability_solution/apm/common/anomaly_detection/index.ts +++ b/x-pack/plugins/observability_solution/apm/common/anomaly_detection/index.ts @@ -32,12 +32,9 @@ export function getSeverityColor(score: number) { } export const ML_ERRORS = { - INVALID_LICENSE: i18n.translate( - 'xpack.apm.anomaly_detection.error.invalid_license', - { - defaultMessage: `To use anomaly detection, you must be subscribed to an Elastic Platinum license. With it, you'll be able to monitor your services with the aid of machine learning.`, - } - ), + INVALID_LICENSE: i18n.translate('xpack.apm.anomaly_detection.error.invalid_license', { + defaultMessage: `To use anomaly detection, you must be subscribed to an Elastic Platinum license. With it, you'll be able to monitor your services with the aid of machine learning.`, + }), MISSING_READ_PRIVILEGES: i18n.translate( 'xpack.apm.anomaly_detection.error.missing_read_privileges', { @@ -52,12 +49,9 @@ export const ML_ERRORS = { 'You must have "write" privileges to Machine Learning and APM in order to create Anomaly Detection jobs', } ), - ML_NOT_AVAILABLE: i18n.translate( - 'xpack.apm.anomaly_detection.error.not_available', - { - defaultMessage: 'Machine learning is not available', - } - ), + ML_NOT_AVAILABLE: i18n.translate('xpack.apm.anomaly_detection.error.not_available', { + defaultMessage: 'Machine learning is not available', + }), ML_NOT_AVAILABLE_IN_SPACE: i18n.translate( 'xpack.apm.anomaly_detection.error.not_available_in_space', { diff --git a/x-pack/plugins/observability_solution/apm/common/apm_api/parse_endpoint.ts b/x-pack/plugins/observability_solution/apm/common/apm_api/parse_endpoint.ts index fb7ef6d36ce25..bd8eac7387dd3 100644 --- a/x-pack/plugins/observability_solution/apm/common/apm_api/parse_endpoint.ts +++ b/x-pack/plugins/observability_solution/apm/common/apm_api/parse_endpoint.ts @@ -7,10 +7,7 @@ type Method = 'get' | 'post' | 'put' | 'delete'; -export function parseEndpoint( - endpoint: string, - pathParams: Record = {} -) { +export function parseEndpoint(endpoint: string, pathParams: Record = {}) { const [method, rawPathname] = endpoint.split(' '); // replace template variables with path params diff --git a/x-pack/plugins/observability_solution/apm/common/apm_feature_flags.ts b/x-pack/plugins/observability_solution/apm/common/apm_feature_flags.ts index 3b9da8cdebd92..8f860a9c6ce86 100644 --- a/x-pack/plugins/observability_solution/apm/common/apm_feature_flags.ts +++ b/x-pack/plugins/observability_solution/apm/common/apm_feature_flags.ts @@ -65,9 +65,9 @@ export type ApmFeatureFlags = { [TApmFeatureFlagName in keyof ApmFeatureFlagMap]: ValueOfApmFeatureFlag; }; -export type ValueOfApmFeatureFlag< - TApmFeatureFlagName extends ApmFeatureFlagName -> = t.OutputOf; +export type ValueOfApmFeatureFlag = t.OutputOf< + ApmFeatureFlagMap[TApmFeatureFlagName]['type'] +>; export function getApmFeatureFlags(): ApmFeatureFlags { return mapValues(apmFeatureFlagMap, (value, key) => value.default); diff --git a/x-pack/plugins/observability_solution/apm/common/apm_telemetry.test.ts b/x-pack/plugins/observability_solution/apm/common/apm_telemetry.test.ts index 6fd7606a3031e..2181e0df3375e 100644 --- a/x-pack/plugins/observability_solution/apm/common/apm_telemetry.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/apm_telemetry.test.ts @@ -5,10 +5,7 @@ * 2.0. */ -import { - getApmTelemetryMapping, - mergeApmTelemetryMapping, -} from './apm_telemetry'; +import { getApmTelemetryMapping, mergeApmTelemetryMapping } from './apm_telemetry'; // Add this snapshot serializer for this test. The default snapshot serializer // prints "Object" next to objects in the JSON output, but we want to be able to @@ -80,8 +77,8 @@ describe('APM telemetry helpers', () => { }; expect( - mergeApmTelemetryMapping(validTelemetryMapping)?.mappings.properties - .stack_stats.properties.kibana.properties.plugins.properties.apm + mergeApmTelemetryMapping(validTelemetryMapping)?.mappings.properties.stack_stats + .properties.kibana.properties.plugins.properties.apm ).toEqual(getApmTelemetryMapping()); }); }); diff --git a/x-pack/plugins/observability_solution/apm/common/apm_telemetry.ts b/x-pack/plugins/observability_solution/apm/common/apm_telemetry.ts index d3b318e62eab3..634ced4702740 100644 --- a/x-pack/plugins/observability_solution/apm/common/apm_telemetry.ts +++ b/x-pack/plugins/observability_solution/apm/common/apm_telemetry.ts @@ -21,10 +21,7 @@ function schemaToMapping(schemaLeaf: any): any { return Object.entries(schemaLeaf).reduce((acc, [key, value]) => { const propMapping = schemaToMapping(value); - acc[key] = - typeof propMapping.type === 'string' - ? propMapping - : { properties: propMapping }; + acc[key] = typeof propMapping.type === 'string' ? propMapping : { properties: propMapping }; return acc; }, {} as Record); @@ -43,9 +40,7 @@ export function getApmTelemetryMapping() { * Merge a telemetry mapping object (from https://github.com/elastic/telemetry/blob/master/config/templates/xpack-phone-home.json) * with the output from `getApmTelemetryMapping`. */ -export function mergeApmTelemetryMapping( - xpackPhoneHomeMapping: Record -) { +export function mergeApmTelemetryMapping(xpackPhoneHomeMapping: Record) { return produce(xpackPhoneHomeMapping, (draft: Record) => { draft.mappings.properties.stack_stats.properties.kibana.properties.plugins.properties.apm = getApmTelemetryMapping(); diff --git a/x-pack/plugins/observability_solution/apm/common/connections.ts b/x-pack/plugins/observability_solution/apm/common/connections.ts index 6d87e3517e8c3..10a10e96e5190 100644 --- a/x-pack/plugins/observability_solution/apm/common/connections.ts +++ b/x-pack/plugins/observability_solution/apm/common/connections.ts @@ -70,7 +70,5 @@ export interface ConnectionStatsItemWithComparisonData { } export function getNodeName(node: Node) { - return node.type === NodeType.service - ? node.serviceName - : node.dependencyName; + return node.type === NodeType.service ? node.serviceName : node.dependencyName; } diff --git a/x-pack/plugins/observability_solution/apm/common/correlations/constants.ts b/x-pack/plugins/observability_solution/apm/common/correlations/constants.ts index 115e50582823a..f42c5b1c4a81b 100644 --- a/x-pack/plugins/observability_solution/apm/common/correlations/constants.ts +++ b/x-pack/plugins/observability_solution/apm/common/correlations/constants.ts @@ -62,11 +62,7 @@ export const FIELDS_TO_ADD_AS_CANDIDATE = new Set([ 'process.args', 'http.response.status_code', ]); -export const FIELD_PREFIX_TO_ADD_AS_CANDIDATE = [ - 'cloud.', - 'labels.', - 'user_agent.', -]; +export const FIELD_PREFIX_TO_ADD_AS_CANDIDATE = ['cloud.', 'labels.', 'user_agent.']; /** * Other constants diff --git a/x-pack/plugins/observability_solution/apm/common/correlations/utils/get_prioritized_field_value_pairs.test.ts b/x-pack/plugins/observability_solution/apm/common/correlations/utils/get_prioritized_field_value_pairs.test.ts index 227173c317780..1dc3aece117f5 100644 --- a/x-pack/plugins/observability_solution/apm/common/correlations/utils/get_prioritized_field_value_pairs.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/correlations/utils/get_prioritized_field_value_pairs.test.ts @@ -14,8 +14,7 @@ describe('correlations', () => { { fieldName: 'the-field-1', fieldValue: 'the-value-1' }, { fieldName: 'the-field-2', fieldValue: 'the-value-2' }, ]; - const prioritziedFieldValuePairs = - getPrioritizedFieldValuePairs(fieldValuePairs); + const prioritziedFieldValuePairs = getPrioritizedFieldValuePairs(fieldValuePairs); expect(prioritziedFieldValuePairs.map((d) => d.fieldName)).toEqual([ 'the-field-1', 'the-field-2', @@ -27,8 +26,7 @@ describe('correlations', () => { { fieldName: 'service.version', fieldValue: 'the-value-1' }, { fieldName: 'the-field-2', fieldValue: 'the-value-2' }, ]; - const prioritziedFieldValuePairs = - getPrioritizedFieldValuePairs(fieldValuePairs); + const prioritziedFieldValuePairs = getPrioritizedFieldValuePairs(fieldValuePairs); expect(prioritziedFieldValuePairs.map((d) => d.fieldName)).toEqual([ 'service.version', 'the-field-2', @@ -40,8 +38,7 @@ describe('correlations', () => { { fieldName: 'the-field-1', fieldValue: 'the-value-1' }, { fieldName: 'service.version', fieldValue: 'the-value-2' }, ]; - const prioritziedFieldValuePairs = - getPrioritizedFieldValuePairs(fieldValuePairs); + const prioritziedFieldValuePairs = getPrioritizedFieldValuePairs(fieldValuePairs); expect(prioritziedFieldValuePairs.map((d) => d.fieldName)).toEqual([ 'service.version', 'the-field-1', @@ -54,8 +51,7 @@ describe('correlations', () => { { fieldName: 'service.version', fieldValue: 'the-value-2' }, { fieldName: 'cloud.the-field-3', fieldValue: 'the-value-3' }, ]; - const prioritziedFieldValuePairs = - getPrioritizedFieldValuePairs(fieldValuePairs); + const prioritziedFieldValuePairs = getPrioritizedFieldValuePairs(fieldValuePairs); expect(prioritziedFieldValuePairs.map((d) => d.fieldName)).toEqual([ 'service.version', 'cloud.the-field-3', diff --git a/x-pack/plugins/observability_solution/apm/common/correlations/utils/get_prioritized_field_value_pairs.ts b/x-pack/plugins/observability_solution/apm/common/correlations/utils/get_prioritized_field_value_pairs.ts index 4a0086ba02a6d..36cf68e7f0f2e 100644 --- a/x-pack/plugins/observability_solution/apm/common/correlations/utils/get_prioritized_field_value_pairs.ts +++ b/x-pack/plugins/observability_solution/apm/common/correlations/utils/get_prioritized_field_value_pairs.ts @@ -10,9 +10,7 @@ import { hasPrefixToInclude } from './has_prefix_to_include'; import type { FieldValuePair } from '../types'; -export const getPrioritizedFieldValuePairs = ( - fieldValuePairs: FieldValuePair[] -) => { +export const getPrioritizedFieldValuePairs = (fieldValuePairs: FieldValuePair[]) => { const prioritizedFields = [...FIELDS_TO_ADD_AS_CANDIDATE]; return fieldValuePairs.sort((a, b) => { diff --git a/x-pack/plugins/observability_solution/apm/common/correlations/utils/has_prefix_to_include.test.ts b/x-pack/plugins/observability_solution/apm/common/correlations/utils/has_prefix_to_include.test.ts index a951dc63caad9..e8b1a82450d5d 100644 --- a/x-pack/plugins/observability_solution/apm/common/correlations/utils/has_prefix_to_include.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/correlations/utils/has_prefix_to_include.test.ts @@ -18,9 +18,7 @@ describe('aggregation utils', () => { }); it('returns false if the prefix is included', async () => { FIELD_PREFIX_TO_ADD_AS_CANDIDATE.forEach((prefix) => { - expect( - hasPrefixToInclude(`unknown-prefix-.${prefix}the-field-name`) - ).toBe(false); + expect(hasPrefixToInclude(`unknown-prefix-.${prefix}the-field-name`)).toBe(false); expect(hasPrefixToInclude('the-field-name')).toBe(false); }); }); diff --git a/x-pack/plugins/observability_solution/apm/common/correlations/utils/has_prefix_to_include.ts b/x-pack/plugins/observability_solution/apm/common/correlations/utils/has_prefix_to_include.ts index baf4d62af00fa..524aa8a73790a 100644 --- a/x-pack/plugins/observability_solution/apm/common/correlations/utils/has_prefix_to_include.ts +++ b/x-pack/plugins/observability_solution/apm/common/correlations/utils/has_prefix_to_include.ts @@ -8,7 +8,5 @@ import { FIELD_PREFIX_TO_ADD_AS_CANDIDATE } from '../constants'; export const hasPrefixToInclude = (fieldName: string) => { - return FIELD_PREFIX_TO_ADD_AS_CANDIDATE.some((prefix) => - fieldName.startsWith(prefix) - ); + return FIELD_PREFIX_TO_ADD_AS_CANDIDATE.some((prefix) => fieldName.startsWith(prefix)); }; diff --git a/x-pack/plugins/observability_solution/apm/common/critical_path/get_aggregated_critical_path_root_nodes.ts b/x-pack/plugins/observability_solution/apm/common/critical_path/get_aggregated_critical_path_root_nodes.ts index 5d00db3977b07..f6b6763fe5c1b 100644 --- a/x-pack/plugins/observability_solution/apm/common/critical_path/get_aggregated_critical_path_root_nodes.ts +++ b/x-pack/plugins/observability_solution/apm/common/critical_path/get_aggregated_critical_path_root_nodes.ts @@ -28,29 +28,24 @@ export function getAggregatedCriticalPathRootNodes(params: { let numNodes = 0; - function mergeNodesWithSameOperationId( - nodes: CriticalPathTreeNode[] - ): CriticalPathTreeNode[] { + function mergeNodesWithSameOperationId(nodes: CriticalPathTreeNode[]): CriticalPathTreeNode[] { const nodesByOperationId: Record = {}; - const mergedNodes = nodes.reduce( - (prev, node, index, array) => { - const nodeId = node.nodeId; - const operationId = criticalPath.operationIdByNodeId[nodeId]; - if (nodesByOperationId[operationId]) { - const prevNode = nodesByOperationId[operationId]; - prevNode.children.push(...node.children); - prevNode.countExclusive += node.countExclusive; - prevNode.countInclusive += node.countInclusive; - return prev; - } - - nodesByOperationId[operationId] = node; - - prev.push(node); + const mergedNodes = nodes.reduce((prev, node, index, array) => { + const nodeId = node.nodeId; + const operationId = criticalPath.operationIdByNodeId[nodeId]; + if (nodesByOperationId[operationId]) { + const prevNode = nodesByOperationId[operationId]; + prevNode.children.push(...node.children); + prevNode.countExclusive += node.countExclusive; + prevNode.countInclusive += node.countInclusive; return prev; - }, - [] - ); + } + + nodesByOperationId[operationId] = node; + + prev.push(node); + return prev; + }, []); numNodes += mergedNodes.length; diff --git a/x-pack/plugins/observability_solution/apm/common/critical_path/get_critical_path.test.ts b/x-pack/plugins/observability_solution/apm/common/critical_path/get_critical_path.test.ts index 8b78798d2bc55..61720dba3d472 100644 --- a/x-pack/plugins/observability_solution/apm/common/critical_path/get_critical_path.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/critical_path/get_critical_path.test.ts @@ -17,9 +17,7 @@ describe('getCriticalPath', () => { const entryTransaction = dedot(events[0]!, {}) as Transaction; const waterfall = getWaterfall({ traceItems: { - traceDocs: events.map( - (event) => dedot(event, {}) as Transaction | Span - ), + traceDocs: events.map((event) => dedot(event, {}) as Transaction | Span), errorDocs: [], exceedsMax: false, spanLinksCountById: {}, @@ -45,9 +43,7 @@ describe('getCriticalPath', () => { .transaction('/service-a') .timestamp(1) .duration(100) - .children( - service.span('foo', 'external', 'db').duration(100).timestamp(1) - ) + .children(service.span('foo', 'external', 'db').duration(100).timestamp(1)) .serialize() ); @@ -76,9 +72,7 @@ describe('getCriticalPath', () => { .serialize() ); - const longerSpan = waterfall.items.find( - (item) => (item.doc as Span).span?.name === 'bar' - ); + const longerSpan = waterfall.items.find((item) => (item.doc as Span).span?.name === 'bar'); expect(segments).toEqual([ { self: false, duration: 100000, item: waterfall.items[0], offset: 0 }, @@ -103,9 +97,7 @@ describe('getCriticalPath', () => { .transaction('/service-a') .timestamp(1) .duration(100) - .children( - service.span('foo', 'external', 'db').duration(50).timestamp(11) - ) + .children(service.span('foo', 'external', 'db').duration(50).timestamp(11)) .serialize() ); diff --git a/x-pack/plugins/observability_solution/apm/common/critical_path/get_critical_path.ts b/x-pack/plugins/observability_solution/apm/common/critical_path/get_critical_path.ts index ad4e166962ccb..f881362b39078 100644 --- a/x-pack/plugins/observability_solution/apm/common/critical_path/get_critical_path.ts +++ b/x-pack/plugins/observability_solution/apm/common/critical_path/get_critical_path.ts @@ -67,11 +67,7 @@ export function getCriticalPath(waterfall: IWaterfall): CriticalPath { // - The span/tx ends before the start of the initial scan period. // - The span ends _after_ the current scan time. - ( - normalizedChildStart >= scanTime || - normalizedChildEnd < start || - childEnd > scanTime - ) + (normalizedChildStart >= scanTime || normalizedChildEnd < start || childEnd > scanTime) ); if (!isOnCriticalPath) { @@ -124,8 +120,7 @@ export function getCriticalPath(waterfall: IWaterfall): CriticalPath { if (waterfall.entryWaterfallTransaction) { const start = - waterfall.entryWaterfallTransaction.skew + - waterfall.entryWaterfallTransaction.offset; + waterfall.entryWaterfallTransaction.skew + waterfall.entryWaterfallTransaction.offset; scan({ item: waterfall.entryWaterfallTransaction, start, diff --git a/x-pack/plugins/observability_solution/apm/common/custom_link/custom_link.test.ts b/x-pack/plugins/observability_solution/apm/common/custom_link/custom_link.test.ts index 1e2b3b608f74d..c9bebede12afc 100644 --- a/x-pack/plugins/observability_solution/apm/common/custom_link/custom_link.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/custom_link/custom_link.test.ts @@ -28,8 +28,7 @@ describe('Custom link', () => { }); it('handles complex template with multiple variables', () => { - const url = - 'https://example.com/{{name}}/details/{{age}}?param={{gender}}'; + const url = 'https://example.com/{{name}}/details/{{age}}?param={{gender}}'; const result = extractTemplateVariableNames(url); expect(result).toEqual(['name', 'age', 'gender']); }); @@ -99,9 +98,7 @@ describe('Custom link', () => { service: { name: 'foo & bar' }, } as Transaction; const result = getEncodedCustomLinkUrl(url, transaction); - expect(result).toBe( - 'https://kibana.com/app/apm/foo%20%26%20bar/overview' - ); + expect(result).toBe('https://kibana.com/app/apm/foo%20%26%20bar/overview'); }); }); }); diff --git a/x-pack/plugins/observability_solution/apm/common/custom_link/index.ts b/x-pack/plugins/observability_solution/apm/common/custom_link/index.ts index e377d7392b010..cc8d206f9b2b7 100644 --- a/x-pack/plugins/observability_solution/apm/common/custom_link/index.ts +++ b/x-pack/plugins/observability_solution/apm/common/custom_link/index.ts @@ -11,19 +11,15 @@ import { set } from '@kbn/safer-lodash-set'; import Mustache from 'mustache'; import { Transaction } from '../../typings/es_schemas/ui/transaction'; -export const INVALID_LICENSE = i18n.translate( - 'xpack.apm.settings.customLink.license.text', - { - defaultMessage: - "To create custom links, you must be subscribed to an Elastic Gold license or above. With it, you'll have the ability to create custom links to improve your workflow when analyzing your services.", - } -); +export const INVALID_LICENSE = i18n.translate('xpack.apm.settings.customLink.license.text', { + defaultMessage: + "To create custom links, you must be subscribed to an Elastic Gold license or above. With it, you'll have the ability to create custom links to improve your workflow when analyzing your services.", +}); export const NO_PERMISSION_LABEL = i18n.translate( 'xpack.apm.settings.customLink.noPermissionTooltipLabel', { - defaultMessage: - "Your user role doesn't have permissions to create custom links", + defaultMessage: "Your user role doesn't have permissions to create custom links", } ); @@ -35,10 +31,7 @@ export const extractTemplateVariableNames = (url: string): string[] => { return Array.from(uniqueVariableNames); }; -export function getEncodedCustomLinkUrl( - url: string, - transaction?: Transaction -) { +export function getEncodedCustomLinkUrl(url: string, transaction?: Transaction) { try { const templateVariables = extractTemplateVariableNames(url); const encodedTemplateVariables = {}; diff --git a/x-pack/plugins/observability_solution/apm/common/data_source.ts b/x-pack/plugins/observability_solution/apm/common/data_source.ts index 93d8261473692..217862e03e415 100644 --- a/x-pack/plugins/observability_solution/apm/common/data_source.ts +++ b/x-pack/plugins/observability_solution/apm/common/data_source.ts @@ -17,16 +17,13 @@ type AnyApmDocumentType = | ApmDocumentType.ErrorEvent | ApmDocumentType.SpanEvent; -export interface ApmDataSource< - TDocumentType extends AnyApmDocumentType = AnyApmDocumentType -> { +export interface ApmDataSource { rollupInterval: RollupInterval; documentType: TDocumentType; } -export type ApmDataSourceWithSummary< - T extends AnyApmDocumentType = AnyApmDocumentType -> = ApmDataSource & { - hasDurationSummaryField: boolean; - hasDocs: boolean; -}; +export type ApmDataSourceWithSummary = + ApmDataSource & { + hasDurationSummaryField: boolean; + hasDocs: boolean; + }; diff --git a/x-pack/plugins/observability_solution/apm/common/dependencies.ts b/x-pack/plugins/observability_solution/apm/common/dependencies.ts index 812bb33342ba5..174f24a404a2c 100644 --- a/x-pack/plugins/observability_solution/apm/common/dependencies.ts +++ b/x-pack/plugins/observability_solution/apm/common/dependencies.ts @@ -7,10 +7,7 @@ import { i18n } from '@kbn/i18n'; import { ProcessorEvent } from '@kbn/observability-plugin/common'; -import { - PROCESSOR_EVENT, - SPAN_DESTINATION_SERVICE_RESOURCE, -} from './es_fields/apm'; +import { PROCESSOR_EVENT, SPAN_DESTINATION_SERVICE_RESOURCE } from './es_fields/apm'; import { environmentQuery } from './utils/environment_query'; export const unifiedSearchBarPlaceholder = i18n.translate( @@ -30,9 +27,7 @@ export const getSearchBarBoolFilter = ({ return [ { term: { [PROCESSOR_EVENT]: ProcessorEvent.metric } }, { exists: { field: SPAN_DESTINATION_SERVICE_RESOURCE } }, - ...(dependencyName - ? [{ term: { [SPAN_DESTINATION_SERVICE_RESOURCE]: dependencyName } }] - : []), + ...(dependencyName ? [{ term: { [SPAN_DESTINATION_SERVICE_RESOURCE]: dependencyName } }] : []), ...environmentQuery(environment), ]; }; diff --git a/x-pack/plugins/observability_solution/apm/common/environment_filter_values.ts b/x-pack/plugins/observability_solution/apm/common/environment_filter_values.ts index 24bc00658a7d4..9faf645c54151 100644 --- a/x-pack/plugins/observability_solution/apm/common/environment_filter_values.ts +++ b/x-pack/plugins/observability_solution/apm/common/environment_filter_values.ts @@ -13,12 +13,9 @@ import { Environment } from './environment_rt'; const ENVIRONMENT_ALL_VALUE = 'ENVIRONMENT_ALL' as const; const ENVIRONMENT_NOT_DEFINED_VALUE = 'ENVIRONMENT_NOT_DEFINED' as const; -export const allOptionText = i18n.translate( - 'xpack.apm.filter.environment.allLabel', - { - defaultMessage: 'All', - } -); +export const allOptionText = i18n.translate('xpack.apm.filter.environment.allLabel', { + defaultMessage: 'All', +}); export function getEnvironmentLabel(environment: string): string { if (!environment || environment === ENVIRONMENT_NOT_DEFINED_VALUE) { @@ -80,10 +77,8 @@ export function getNextEnvironmentUrlParam({ requestedEnvironment?: string; currentEnvironmentUrlParam: Environment; }) { - const normalizedRequestedEnvironment = - requestedEnvironment || ENVIRONMENT_NOT_DEFINED.value; - const normalizedQueryEnvironment = - currentEnvironmentUrlParam || ENVIRONMENT_ALL.value; + const normalizedRequestedEnvironment = requestedEnvironment || ENVIRONMENT_NOT_DEFINED.value; + const normalizedQueryEnvironment = currentEnvironmentUrlParam || ENVIRONMENT_ALL.value; if (normalizedRequestedEnvironment === normalizedQueryEnvironment) { return currentEnvironmentUrlParam || ENVIRONMENT_ALL.value; diff --git a/x-pack/plugins/observability_solution/apm/common/environment_rt.ts b/x-pack/plugins/observability_solution/apm/common/environment_rt.ts index dd07bb9f47318..530b6e7930134 100644 --- a/x-pack/plugins/observability_solution/apm/common/environment_rt.ts +++ b/x-pack/plugins/observability_solution/apm/common/environment_rt.ts @@ -6,10 +6,7 @@ */ import * as t from 'io-ts'; import { nonEmptyStringRt } from '@kbn/io-ts-utils'; -import { - ENVIRONMENT_ALL, - ENVIRONMENT_NOT_DEFINED, -} from './environment_filter_values'; +import { ENVIRONMENT_ALL, ENVIRONMENT_NOT_DEFINED } from './environment_filter_values'; export const environmentStringRt = t.union([ t.literal(ENVIRONMENT_NOT_DEFINED.value), diff --git a/x-pack/plugins/observability_solution/apm/common/es_fields/apm.ts b/x-pack/plugins/observability_solution/apm/common/es_fields/apm.ts index 05efeceb11f28..27a786df210e4 100644 --- a/x-pack/plugins/observability_solution/apm/common/es_fields/apm.ts +++ b/x-pack/plugins/observability_solution/apm/common/es_fields/apm.ts @@ -36,8 +36,7 @@ export const SERVICE_RUNTIME_VERSION = 'service.runtime.version'; export const SERVICE_NODE_NAME = 'service.node.name'; export const SERVICE_VERSION = 'service.version'; export const SERVICE_TARGET_TYPE = 'service.target.type'; -export const SERVICE_OVERFLOW_COUNT = - 'service_transaction.aggregation.overflow_count'; +export const SERVICE_OVERFLOW_COUNT = 'service_transaction.aggregation.overflow_count'; export const URL_FULL = 'url.full'; export const HTTP_REQUEST_METHOD = 'http.request.method'; @@ -61,12 +60,10 @@ export const TRANSACTION_SAMPLED = 'transaction.sampled'; export const TRANSACTION_PAGE_URL = 'transaction.page.url'; export const TRANSACTION_FAILURE_COUNT = 'transaction.failure_count'; export const TRANSACTION_SUCCESS_COUNT = 'transaction.success_count'; -export const TRANSACTION_OVERFLOW_COUNT = - 'transaction.aggregation.overflow_count'; +export const TRANSACTION_OVERFLOW_COUNT = 'transaction.aggregation.overflow_count'; // for transaction metrics export const TRANSACTION_ROOT = 'transaction.root'; -export const TRANSACTION_PROFILER_STACK_TRACE_IDS = - 'transaction.profiler_stack_trace_ids'; +export const TRANSACTION_PROFILER_STACK_TRACE_IDS = 'transaction.profiler_stack_trace_ids'; export const EVENT_OUTCOME = 'event.outcome'; @@ -79,8 +76,7 @@ export const SPAN_SELF_TIME_SUM = 'span.self_time.sum.us'; export const SPAN_ACTION = 'span.action'; export const SPAN_NAME = 'span.name'; export const SPAN_ID = 'span.id'; -export const SPAN_DESTINATION_SERVICE_RESOURCE = - 'span.destination.service.resource'; +export const SPAN_DESTINATION_SERVICE_RESOURCE = 'span.destination.service.resource'; export const SPAN_DESTINATION_SERVICE_RESPONSE_TIME_COUNT = 'span.destination.service.response_time.count'; @@ -93,8 +89,7 @@ export const SPAN_LINKS_SPAN_ID = 'span.links.span.id'; export const SPAN_COMPOSITE_COUNT = 'span.composite.count'; export const SPAN_COMPOSITE_SUM = 'span.composite.sum.us'; -export const SPAN_COMPOSITE_COMPRESSION_STRATEGY = - 'span.composite.compression_strategy'; +export const SPAN_COMPOSITE_COMPRESSION_STRATEGY = 'span.composite.compression_strategy'; export const SPAN_SYNC = 'span.sync'; @@ -119,17 +114,14 @@ export const METRIC_SYSTEM_FREE_MEMORY = 'system.memory.actual.free'; export const METRIC_SYSTEM_TOTAL_MEMORY = 'system.memory.total'; export const METRIC_SYSTEM_CPU_PERCENT = 'system.cpu.total.norm.pct'; export const METRIC_PROCESS_CPU_PERCENT = 'system.process.cpu.total.norm.pct'; -export const METRIC_CGROUP_MEMORY_LIMIT_BYTES = - 'system.process.cgroup.memory.mem.limit.bytes'; -export const METRIC_CGROUP_MEMORY_USAGE_BYTES = - 'system.process.cgroup.memory.mem.usage.bytes'; +export const METRIC_CGROUP_MEMORY_LIMIT_BYTES = 'system.process.cgroup.memory.mem.limit.bytes'; +export const METRIC_CGROUP_MEMORY_USAGE_BYTES = 'system.process.cgroup.memory.mem.usage.bytes'; export const METRIC_JAVA_HEAP_MEMORY_MAX = 'jvm.memory.heap.max'; export const METRIC_JAVA_HEAP_MEMORY_COMMITTED = 'jvm.memory.heap.committed'; export const METRIC_JAVA_HEAP_MEMORY_USED = 'jvm.memory.heap.used'; export const METRIC_JAVA_NON_HEAP_MEMORY_MAX = 'jvm.memory.non_heap.max'; -export const METRIC_JAVA_NON_HEAP_MEMORY_COMMITTED = - 'jvm.memory.non_heap.committed'; +export const METRIC_JAVA_NON_HEAP_MEMORY_COMMITTED = 'jvm.memory.non_heap.committed'; export const METRIC_JAVA_NON_HEAP_MEMORY_USED = 'jvm.memory.non_heap.used'; export const METRIC_JAVA_THREAD_COUNT = 'jvm.thread.count'; export const METRIC_JAVA_GC_COUNT = 'jvm.gc.count'; @@ -169,21 +161,14 @@ export const FAAS_BILLED_DURATION = 'faas.billed_duration'; // OpenTelemetry Metrics export const METRIC_OTEL_SYSTEM_CPU_UTILIZATION = 'system.cpu.utilization'; -export const METRIC_OTEL_SYSTEM_MEMORY_UTILIZATION = - 'system.memory.utilization'; - -export const METRIC_OTEL_JVM_PROCESS_CPU_PERCENT = - 'process.runtime.jvm.cpu.utilization'; -export const METRIC_OTEL_JVM_PROCESS_MEMORY_USAGE = - 'process.runtime.jvm.memory.usage'; -export const METRIC_OTEL_JVM_PROCESS_MEMORY_COMMITTED = - 'process.runtime.jvm.memory.committed'; -export const METRIC_OTEL_JVM_PROCESS_MEMORY_LIMIT = - 'process.runtime.jvm.memory.limit'; -export const METRIC_OTEL_JVM_PROCESS_THREADS_COUNT = - 'process.runtime.jvm.threads.count'; -export const METRIC_OTEL_JVM_SYSTEM_CPU_PERCENT = - 'process.runtime.jvm.system.cpu.utilization'; +export const METRIC_OTEL_SYSTEM_MEMORY_UTILIZATION = 'system.memory.utilization'; + +export const METRIC_OTEL_JVM_PROCESS_CPU_PERCENT = 'process.runtime.jvm.cpu.utilization'; +export const METRIC_OTEL_JVM_PROCESS_MEMORY_USAGE = 'process.runtime.jvm.memory.usage'; +export const METRIC_OTEL_JVM_PROCESS_MEMORY_COMMITTED = 'process.runtime.jvm.memory.committed'; +export const METRIC_OTEL_JVM_PROCESS_MEMORY_LIMIT = 'process.runtime.jvm.memory.limit'; +export const METRIC_OTEL_JVM_PROCESS_THREADS_COUNT = 'process.runtime.jvm.threads.count'; +export const METRIC_OTEL_JVM_SYSTEM_CPU_PERCENT = 'process.runtime.jvm.system.cpu.utilization'; export const METRIC_OTEL_JVM_GC_DURATION = 'process.runtime.jvm.gc.duration'; export const VALUE_OTEL_JVM_PROCESS_MEMORY_HEAP = 'heap'; export const VALUE_OTEL_JVM_PROCESS_MEMORY_NON_HEAP = 'non_heap'; diff --git a/x-pack/plugins/observability_solution/apm/common/es_fields/es_fields.test.ts b/x-pack/plugins/observability_solution/apm/common/es_fields/es_fields.test.ts index 416a7f6fc39e8..f33fddd430e8d 100644 --- a/x-pack/plugins/observability_solution/apm/common/es_fields/es_fields.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/es_fields/es_fields.test.ts @@ -194,9 +194,7 @@ describe('Error', () => { matchSnapshot(errorDoc); }); -function matchSnapshot( - obj: AllowUnknownProperties -) { +function matchSnapshot(obj: AllowUnknownProperties) { Object.entries(fieldnames).forEach(([key, longKey]) => { const value = get(obj, longKey); it(key, () => { diff --git a/x-pack/plugins/observability_solution/apm/common/fleet.ts b/x-pack/plugins/observability_solution/apm/common/fleet.ts index 5812f438de174..5f64255c7ad54 100644 --- a/x-pack/plugins/observability_solution/apm/common/fleet.ts +++ b/x-pack/plugins/observability_solution/apm/common/fleet.ts @@ -42,22 +42,17 @@ export const INPUT_VAR_NAME_TO_SCHEMA_PATH: Record = { anonymous_enabled: 'apm-server.auth.anonymous.enabled', anonymous_allow_agent: 'apm-server.auth.anonymous.allow_agent', anonymous_allow_service: 'apm-server.auth.anonymous.allow_service', - anonymous_rate_limit_ip_limit: - 'apm-server.auth.anonymous.rate_limit.ip_limit', - anonymous_rate_limit_event_limit: - 'apm-server.auth.anonymous.rate_limit.event_limit', + anonymous_rate_limit_ip_limit: 'apm-server.auth.anonymous.rate_limit.ip_limit', + anonymous_rate_limit_event_limit: 'apm-server.auth.anonymous.rate_limit.event_limit', tail_sampling_enabled: 'apm-server.sampling.tail.enabled', tail_sampling_interval: 'apm-server.sampling.tail.interval', tail_sampling_policies: 'apm-server.sampling.tail.policies', }; export const LEGACY_TO_CURRENT_SCHEMA_PATHS: Record = { - 'apm-server.rum.event_rate.limit': - 'apm-server.auth.anonymous.rate_limit.event_limit', - 'apm-server.rum.event_rate.lru_size': - 'apm-server.auth.anonymous.rate_limit.ip_limit', - 'apm-server.rum.allow_service_names': - 'apm-server.auth.anonymous.allow_service', + 'apm-server.rum.event_rate.limit': 'apm-server.auth.anonymous.rate_limit.event_limit', + 'apm-server.rum.event_rate.lru_size': 'apm-server.auth.anonymous.rate_limit.ip_limit', + 'apm-server.rum.allow_service_names': 'apm-server.auth.anonymous.allow_service', 'apm-server.secret_token': 'apm-server.auth.secret_token', 'apm-server.api_key.enabled': 'apm-server.auth.api_key.enabled', }; diff --git a/x-pack/plugins/observability_solution/apm/common/i18n.ts b/x-pack/plugins/observability_solution/apm/common/i18n.ts index 8bce2acdf4dca..b52bdd582bd10 100644 --- a/x-pack/plugins/observability_solution/apm/common/i18n.ts +++ b/x-pack/plugins/observability_solution/apm/common/i18n.ts @@ -7,9 +7,6 @@ import { i18n } from '@kbn/i18n'; -export const NOT_AVAILABLE_LABEL = i18n.translate( - 'xpack.apm.notAvailableLabel', - { - defaultMessage: 'N/A', - } -); +export const NOT_AVAILABLE_LABEL = i18n.translate('xpack.apm.notAvailableLabel', { + defaultMessage: 'N/A', +}); diff --git a/x-pack/plugins/observability_solution/apm/common/latency_aggregation_types.ts b/x-pack/plugins/observability_solution/apm/common/latency_aggregation_types.ts index 21177d9d1f722..d9466832e4ff2 100644 --- a/x-pack/plugins/observability_solution/apm/common/latency_aggregation_types.ts +++ b/x-pack/plugins/observability_solution/apm/common/latency_aggregation_types.ts @@ -22,6 +22,5 @@ export const latencyAggregationTypeRt = t.union([ export const getLatencyAggregationType = ( latencyAggregationType: string | null | undefined ): LatencyAggregationType => { - return (latencyAggregationType ?? - LatencyAggregationType.avg) as LatencyAggregationType; + return (latencyAggregationType ?? LatencyAggregationType.avg) as LatencyAggregationType; }; diff --git a/x-pack/plugins/observability_solution/apm/common/privilege_type.ts b/x-pack/plugins/observability_solution/apm/common/privilege_type.ts index 4cb7831b42c02..cde4de5565d9f 100644 --- a/x-pack/plugins/observability_solution/apm/common/privilege_type.ts +++ b/x-pack/plugins/observability_solution/apm/common/privilege_type.ts @@ -17,8 +17,5 @@ export enum ClusterPrivilegeType { } export const privilegesTypeRt = t.array( - t.union([ - t.literal(PrivilegeType.EVENT), - t.literal(PrivilegeType.AGENT_CONFIG), - ]) + t.union([t.literal(PrivilegeType.EVENT), t.literal(PrivilegeType.AGENT_CONFIG)]) ); diff --git a/x-pack/plugins/observability_solution/apm/common/rules/apm_rule_types.ts b/x-pack/plugins/observability_solution/apm/common/rules/apm_rule_types.ts index c2712fb972234..fe93b024bb2b8 100644 --- a/x-pack/plugins/observability_solution/apm/common/rules/apm_rule_types.ts +++ b/x-pack/plugins/observability_solution/apm/common/rules/apm_rule_types.ts @@ -7,11 +7,7 @@ import { i18n } from '@kbn/i18n'; import type { ValuesType } from 'utility-types'; -import type { - AsDuration, - AsPercent, - TimeUnitChar, -} from '@kbn/observability-plugin/common'; +import type { AsDuration, AsPercent, TimeUnitChar } from '@kbn/observability-plugin/common'; import type { ActionGroup } from '@kbn/alerting-plugin/common'; import { formatDurationFromTimeUnitChar } from '@kbn/observability-plugin/common'; import { ML_ANOMALY_SEVERITY } from '@kbn/ml-anomaly-utils/anomaly_severity'; @@ -64,22 +60,13 @@ const getFieldNameLabel = (field: string): string => { } }; -export const getFieldValueLabel = ( - field: string, - fieldValue: string -): string => { - return field === SERVICE_ENVIRONMENT - ? getEnvironmentLabel(fieldValue) - : fieldValue; +export const getFieldValueLabel = (field: string, fieldValue: string): string => { + return field === SERVICE_ENVIRONMENT ? getEnvironmentLabel(fieldValue) : fieldValue; }; const formatGroupByFields = (groupByFields: Record): string => { const groupByFieldLabels = Object.keys(groupByFields).map( - (field) => - `${getFieldNameLabel(field)}: ${getFieldValueLabel( - field, - groupByFields[field] - )}` + (field) => `${getFieldNameLabel(field)}: ${getFieldValueLabel(field, groupByFields[field])}` ); return groupByFieldLabels.join(', '); }; @@ -102,10 +89,7 @@ export function formatErrorCountReason({ values: { threshold, measured, - interval: formatDurationFromTimeUnitChar( - windowSize, - windowUnit as TimeUnitChar - ), + interval: formatDurationFromTimeUnitChar(windowSize, windowUnit as TimeUnitChar), group: formatGroupByFields(groupByFields), }, }); @@ -128,10 +112,8 @@ export function formatTransactionDurationReason({ windowUnit: string; groupByFields: Record; }) { - let aggregationTypeFormatted = - aggregationType.charAt(0).toUpperCase() + aggregationType.slice(1); - if (aggregationTypeFormatted === 'Avg') - aggregationTypeFormatted = aggregationTypeFormatted + '.'; + let aggregationTypeFormatted = aggregationType.charAt(0).toUpperCase() + aggregationType.slice(1); + if (aggregationTypeFormatted === 'Avg') aggregationTypeFormatted = aggregationTypeFormatted + '.'; return i18n.translate('xpack.apm.alertTypes.transactionDuration.reason', { defaultMessage: `{aggregationType} latency is {measured} in the last {interval} for {group}. Alert when > {threshold}.`, @@ -139,10 +121,7 @@ export function formatTransactionDurationReason({ threshold: asDuration(threshold), measured: asDuration(measured), aggregationType: aggregationTypeFormatted, - interval: formatDurationFromTimeUnitChar( - windowSize, - windowUnit as TimeUnitChar - ), + interval: formatDurationFromTimeUnitChar(windowSize, windowUnit as TimeUnitChar), group: formatGroupByFields(groupByFields), }, }); @@ -168,10 +147,7 @@ export function formatTransactionErrorRateReason({ values: { threshold: asPercent(threshold, 100), measured: asPercent(measured, 100), - interval: formatDurationFromTimeUnitChar( - windowSize, - windowUnit as TimeUnitChar - ), + interval: formatDurationFromTimeUnitChar(windowSize, windowUnit as TimeUnitChar), group: formatGroupByFields(groupByFields), }, }); @@ -192,22 +168,16 @@ export function formatAnomalyReason({ windowUnit: string; detectorType: AnomalyDetectorType; }) { - return i18n.translate( - 'xpack.apm.alertTypes.transactionDurationAnomaly.reason', - { - defaultMessage: `{severityLevel} {detectorTypeLabel} anomaly with a score of {anomalyScore}, was detected in the last {interval} for {serviceName}.`, - values: { - serviceName, - severityLevel, - detectorTypeLabel: getApmMlDetectorLabel(detectorType), - anomalyScore, - interval: formatDurationFromTimeUnitChar( - windowSize, - windowUnit as TimeUnitChar - ), - }, - } - ); + return i18n.translate('xpack.apm.alertTypes.transactionDurationAnomaly.reason', { + defaultMessage: `{severityLevel} {detectorTypeLabel} anomaly with a score of {anomalyScore}, was detected in the last {interval} for {serviceName}.`, + values: { + serviceName, + severityLevel, + detectorTypeLabel: getApmMlDetectorLabel(detectorType), + anomalyScore, + interval: formatDurationFromTimeUnitChar(windowSize, windowUnit as TimeUnitChar), + }, + }); } export const RULE_TYPES_CONFIG: Record< @@ -294,9 +264,7 @@ export const ANOMALY_ALERT_SEVERITY_TYPES = [ }, ] as const; -export type AnomalyAlertSeverityType = ValuesType< - typeof ANOMALY_ALERT_SEVERITY_TYPES ->['type']; +export type AnomalyAlertSeverityType = ValuesType['type']; export function getApmMlDetectorLabel(type: AnomalyDetectorType) { switch (type) { @@ -305,19 +273,13 @@ export function getApmMlDetectorLabel(type: AnomalyDetectorType) { defaultMessage: 'latency', }); case AnomalyDetectorType.txThroughput: - return i18n.translate( - 'xpack.apm.alerts.anomalyDetector.throughputLabel', - { - defaultMessage: 'throughput', - } - ); + return i18n.translate('xpack.apm.alerts.anomalyDetector.throughputLabel', { + defaultMessage: 'throughput', + }); case AnomalyDetectorType.txFailureRate: - return i18n.translate( - 'xpack.apm.alerts.anomalyDetector.failedTransactionRateLabel', - { - defaultMessage: 'failed transaction rate', - } - ); + return i18n.translate('xpack.apm.alerts.anomalyDetector.failedTransactionRateLabel', { + defaultMessage: 'failed transaction rate', + }); } } diff --git a/x-pack/plugins/observability_solution/apm/common/rules/get_all_groupby_fields.ts b/x-pack/plugins/observability_solution/apm/common/rules/get_all_groupby_fields.ts index 055fb1984defe..c94ea1ba75887 100644 --- a/x-pack/plugins/observability_solution/apm/common/rules/get_all_groupby_fields.ts +++ b/x-pack/plugins/observability_solution/apm/common/rules/get_all_groupby_fields.ts @@ -7,11 +7,7 @@ import { union } from 'lodash'; import { ApmRuleType } from '@kbn/rule-data-utils'; -import { - SERVICE_ENVIRONMENT, - SERVICE_NAME, - TRANSACTION_TYPE, -} from '../es_fields/apm'; +import { SERVICE_ENVIRONMENT, SERVICE_NAME, TRANSACTION_TYPE } from '../es_fields/apm'; export const getAllGroupByFields = ( ruleType: string, @@ -22,11 +18,7 @@ export const getAllGroupByFields = ( switch (ruleType) { case ApmRuleType.TransactionDuration: case ApmRuleType.TransactionErrorRate: - predefinedGroupByFields = [ - SERVICE_NAME, - SERVICE_ENVIRONMENT, - TRANSACTION_TYPE, - ]; + predefinedGroupByFields = [SERVICE_NAME, SERVICE_ENVIRONMENT, TRANSACTION_TYPE]; break; case ApmRuleType.ErrorCount: predefinedGroupByFields = [SERVICE_NAME, SERVICE_ENVIRONMENT]; diff --git a/x-pack/plugins/observability_solution/apm/common/rules/schema.ts b/x-pack/plugins/observability_solution/apm/common/rules/schema.ts index 64a8ebbfd3146..0e6b0c166a688 100644 --- a/x-pack/plugins/observability_solution/apm/common/rules/schema.ts +++ b/x-pack/plugins/observability_solution/apm/common/rules/schema.ts @@ -13,10 +13,7 @@ import { AggregationType } from './apm_rule_types'; export const searchConfigurationSchema = schema.object({ query: schema.object({ - query: schema.oneOf([ - schema.string(), - schema.recordOf(schema.string(), schema.any()), - ]), + query: schema.oneOf([schema.string(), schema.recordOf(schema.string(), schema.any())]), language: schema.string(), }), }); @@ -69,9 +66,7 @@ export const anomalyParamsSchema = schema.object({ schema.literal(ML_ANOMALY_SEVERITY.MINOR), schema.literal(ML_ANOMALY_SEVERITY.WARNING), ]), - anomalyDetectorTypes: schema.maybe( - schema.arrayOf(detectorsSchema, { minSize: 1 }) - ), + anomalyDetectorTypes: schema.maybe(schema.arrayOf(detectorsSchema, { minSize: 1 })), }); export const transactionErrorRateParamsSchema = schema.object({ @@ -88,13 +83,9 @@ export const transactionErrorRateParamsSchema = schema.object({ }); type ErrorCountParamsType = TypeOf; -type TransactionDurationParamsType = TypeOf< - typeof transactionDurationParamsSchema ->; +type TransactionDurationParamsType = TypeOf; type AnomalyParamsType = TypeOf; -type TransactionErrorRateParamsType = TypeOf< - typeof transactionErrorRateParamsSchema ->; +type TransactionErrorRateParamsType = TypeOf; export type SearchConfigurationType = TypeOf; diff --git a/x-pack/plugins/observability_solution/apm/common/serverless.test.ts b/x-pack/plugins/observability_solution/apm/common/serverless.test.ts index 5473e9d735d86..e422dea4ac6fe 100644 --- a/x-pack/plugins/observability_solution/apm/common/serverless.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/serverless.test.ts @@ -13,14 +13,10 @@ describe('getServerlessFunctionNameFromId', () => { it('returns correct serverless function name', () => { expect( - getServerlessFunctionNameFromId( - 'arn:aws:lambda:us-west-2:123456789012:function:my-function' - ) + getServerlessFunctionNameFromId('arn:aws:lambda:us-west-2:123456789012:function:my-function') ).toEqual('my-function'); expect( - getServerlessFunctionNameFromId( - 'arn:aws:lambda:us-west-2:123456789012:function:my:function' - ) + getServerlessFunctionNameFromId('arn:aws:lambda:us-west-2:123456789012:function:my:function') ).toEqual('my:function'); }); }); diff --git a/x-pack/plugins/observability_solution/apm/common/serverless.ts b/x-pack/plugins/observability_solution/apm/common/serverless.ts index 42f2844e1c6ec..e6e91937f96fb 100644 --- a/x-pack/plugins/observability_solution/apm/common/serverless.ts +++ b/x-pack/plugins/observability_solution/apm/common/serverless.ts @@ -25,17 +25,11 @@ export function getServerlessTypeFromCloudData( cloudProvider?: string, cloudServiceName?: string ): ServerlessType | undefined { - if ( - cloudProvider?.toLowerCase() === 'aws' && - cloudServiceName?.toLowerCase() === 'lambda' - ) { + if (cloudProvider?.toLowerCase() === 'aws' && cloudServiceName?.toLowerCase() === 'lambda') { return ServerlessType.AWS_LAMBDA; } - if ( - cloudProvider?.toLowerCase() === 'azure' && - cloudServiceName?.toLowerCase() === 'functions' - ) { + if (cloudProvider?.toLowerCase() === 'azure' && cloudServiceName?.toLowerCase() === 'functions') { return ServerlessType.AZURE_FUNCTIONS; } } diff --git a/x-pack/plugins/observability_solution/apm/common/service_groups.test.ts b/x-pack/plugins/observability_solution/apm/common/service_groups.test.ts index 28c9120338ad5..0fbe784603ca2 100644 --- a/x-pack/plugins/observability_solution/apm/common/service_groups.test.ts +++ b/x-pack/plugins/observability_solution/apm/common/service_groups.test.ts @@ -10,11 +10,7 @@ import { validateServiceGroupKuery, SERVICE_GROUP_SUPPORTED_FIELDS, } from './service_groups'; -import { - TRANSACTION_TYPE, - TRANSACTION_DURATION, - SERVICE_FRAMEWORK_VERSION, -} from './es_fields/apm'; +import { TRANSACTION_TYPE, TRANSACTION_DURATION, SERVICE_FRAMEWORK_VERSION } from './es_fields/apm'; describe('service_groups common utils', () => { describe('isSupportedField', () => { @@ -24,11 +20,7 @@ describe('service_groups common utils', () => { }); }); it('should reject unsupported fields', () => { - const unsupportedFields = [ - TRANSACTION_TYPE, - TRANSACTION_DURATION, - SERVICE_FRAMEWORK_VERSION, - ]; + const unsupportedFields = [TRANSACTION_TYPE, TRANSACTION_DURATION, SERVICE_FRAMEWORK_VERSION]; unsupportedFields.map((field) => { expect(isSupportedField(field)).toBe(false); }); @@ -36,9 +28,7 @@ describe('service_groups common utils', () => { }); describe('validateServiceGroupKuery', () => { it('should validate supported KQL filter for a service group', () => { - const result = validateServiceGroupKuery( - `service.name: testbeans* or agent.name: "nodejs"` - ); + const result = validateServiceGroupKuery(`service.name: testbeans* or agent.name: "nodejs"`); expect(result).toHaveProperty('isValidFields', true); expect(result).toHaveProperty('isValidSyntax', true); expect(result).not.toHaveProperty('message'); @@ -55,9 +45,7 @@ describe('service_groups common utils', () => { ); }); it('should return parsing error when KQL is incomplete', () => { - const result = validateServiceGroupKuery( - `service.name: testbeans* or agent.name: "nod` - ); + const result = validateServiceGroupKuery(`service.name: testbeans* or agent.name: "nod`); expect(result).toHaveProperty('isValidFields', false); expect(result).toHaveProperty('isValidSyntax', false); expect(result).toHaveProperty('message'); diff --git a/x-pack/plugins/observability_solution/apm/common/service_groups.ts b/x-pack/plugins/observability_solution/apm/common/service_groups.ts index 382ef0f59a137..b93ecffc2ab5b 100644 --- a/x-pack/plugins/observability_solution/apm/common/service_groups.ts +++ b/x-pack/plugins/observability_solution/apm/common/service_groups.ts @@ -42,10 +42,7 @@ export const SERVICE_GROUP_SUPPORTED_FIELDS = [ ]; export function isSupportedField(fieldName: string) { - return ( - fieldName.startsWith(LABELS) || - SERVICE_GROUP_SUPPORTED_FIELDS.includes(fieldName) - ); + return fieldName.startsWith(LABELS) || SERVICE_GROUP_SUPPORTED_FIELDS.includes(fieldName); } export function validateServiceGroupKuery(kuery: string): { @@ -55,9 +52,7 @@ export function validateServiceGroupKuery(kuery: string): { } { try { const kueryFields = getKueryFields([fromKueryExpression(kuery)]); - const unsupportedKueryFields = kueryFields.filter( - (fieldName) => !isSupportedField(fieldName) - ); + const unsupportedKueryFields = kueryFields.filter((fieldName) => !isSupportedField(fieldName)); if (unsupportedKueryFields.length === 0) { return { isValidFields: true, isValidSyntax: true }; } diff --git a/x-pack/plugins/observability_solution/apm/common/service_health_status.ts b/x-pack/plugins/observability_solution/apm/common/service_health_status.ts index 77964d78c7450..7f5530aa7fa05 100644 --- a/x-pack/plugins/observability_solution/apm/common/service_health_status.ts +++ b/x-pack/plugins/observability_solution/apm/common/service_health_status.ts @@ -16,11 +16,7 @@ export enum ServiceHealthStatus { unknown = 'unknown', } -export function getServiceHealthStatus({ - severity, -}: { - severity: ML_ANOMALY_SEVERITY; -}) { +export function getServiceHealthStatus({ severity }: { severity: ML_ANOMALY_SEVERITY }) { switch (severity) { case ML_ANOMALY_SEVERITY.CRITICAL: case ML_ANOMALY_SEVERITY.MAJOR: @@ -38,10 +34,7 @@ export function getServiceHealthStatus({ } } -export function getServiceHealthStatusColor( - theme: EuiTheme, - status: ServiceHealthStatus -) { +export function getServiceHealthStatusColor(theme: EuiTheme, status: ServiceHealthStatus) { switch (status) { case ServiceHealthStatus.healthy: return theme.eui.euiColorVis0; @@ -54,10 +47,7 @@ export function getServiceHealthStatusColor( } } -export function getServiceHealthStatusBadgeColor( - theme: EuiTheme, - status: ServiceHealthStatus -) { +export function getServiceHealthStatusBadgeColor(theme: EuiTheme, status: ServiceHealthStatus) { switch (status) { case ServiceHealthStatus.healthy: return theme.eui.euiColorVis0_behindText; diff --git a/x-pack/plugins/observability_solution/apm/common/service_map.ts b/x-pack/plugins/observability_solution/apm/common/service_map.ts index fb2fa7fae6540..c4ac295206396 100644 --- a/x-pack/plugins/observability_solution/apm/common/service_map.ts +++ b/x-pack/plugins/observability_solution/apm/common/service_map.ts @@ -84,13 +84,10 @@ export interface NodeStats { }; } -export const invalidLicenseMessage = i18n.translate( - 'xpack.apm.serviceMap.invalidLicenseMessage', - { - defaultMessage: - "In order to access Service Maps, you must be subscribed to an Elastic Platinum license. With it, you'll have the ability to visualize your entire application stack along with your APM data.", - } -); +export const invalidLicenseMessage = i18n.translate('xpack.apm.serviceMap.invalidLicenseMessage', { + defaultMessage: + "In order to access Service Maps, you must be subscribed to an Elastic Platinum license. With it, you'll have the ability to visualize your entire application stack along with your APM data.", +}); const NONGROUPED_SPANS: Record = { aws: ['servicename'], @@ -106,8 +103,7 @@ export function isSpanGroupingSupported(type?: string, subtype?: string) { return true; } return !NONGROUPED_SPANS[type].some( - (nongroupedSubType) => - nongroupedSubType === 'all' || nongroupedSubType === subtype + (nongroupedSubType) => nongroupedSubType === 'all' || nongroupedSubType === subtype ); } diff --git a/x-pack/plugins/observability_solution/apm/common/service_nodes.ts b/x-pack/plugins/observability_solution/apm/common/service_nodes.ts index ad75bd025069d..e650f37e9ab74 100644 --- a/x-pack/plugins/observability_solution/apm/common/service_nodes.ts +++ b/x-pack/plugins/observability_solution/apm/common/service_nodes.ts @@ -9,12 +9,9 @@ import { i18n } from '@kbn/i18n'; export const SERVICE_NODE_NAME_MISSING = '_service_node_name_missing_'; -const UNIDENTIFIED_SERVICE_NODES_LABEL = i18n.translate( - 'xpack.apm.serviceNodeNameMissing', - { - defaultMessage: '(Empty)', - } -); +const UNIDENTIFIED_SERVICE_NODES_LABEL = i18n.translate('xpack.apm.serviceNodeNameMissing', { + defaultMessage: '(Empty)', +}); export function getServiceNodeName(serviceNodeName?: string) { return serviceNodeName === SERVICE_NODE_NAME_MISSING || !serviceNodeName diff --git a/x-pack/plugins/observability_solution/apm/common/time_range_metadata.ts b/x-pack/plugins/observability_solution/apm/common/time_range_metadata.ts index ff6d80ca1c745..f13ab5a89d6d1 100644 --- a/x-pack/plugins/observability_solution/apm/common/time_range_metadata.ts +++ b/x-pack/plugins/observability_solution/apm/common/time_range_metadata.ts @@ -9,7 +9,5 @@ import { ApmDataSource } from './data_source'; export interface TimeRangeMetadata { isUsingServiceDestinationMetrics: boolean; - sources: Array< - ApmDataSource & { hasDocs: boolean; hasDurationSummaryField: boolean } - >; + sources: Array; } diff --git a/x-pack/plugins/observability_solution/apm/common/tutorial/instructions/apm_agent_instructions.ts b/x-pack/plugins/observability_solution/apm/common/tutorial/instructions/apm_agent_instructions.ts index 56f8a179fb302..ff3d89a9f98ec 100644 --- a/x-pack/plugins/observability_solution/apm/common/tutorial/instructions/apm_agent_instructions.ts +++ b/x-pack/plugins/observability_solution/apm/common/tutorial/instructions/apm_agent_instructions.ts @@ -7,17 +7,13 @@ import { i18n } from '@kbn/i18n'; -export const createNodeAgentInstructions = ( - apmServerUrl = '', - secretToken = '' -) => [ +export const createNodeAgentInstructions = (apmServerUrl = '', secretToken = '') => [ { title: i18n.translate('xpack.apm.tutorial.nodeClient.install.title', { defaultMessage: 'Install the APM agent', }), textPre: i18n.translate('xpack.apm.tutorial.nodeClient.install.textPre', { - defaultMessage: - 'Install the APM agent for Node.js as a dependency to your application.', + defaultMessage: 'Install the APM agent for Node.js as a dependency to your application.', }), commands: ['npm install elastic-apm-node --save'], }, @@ -32,27 +28,20 @@ APM services are created programmatically based on the `serviceName`. \ This agent supports a variety of frameworks but can also be used with your custom stack.', }), customComponentName: 'TutorialConfigAgent', - textPost: i18n.translate( - 'xpack.apm.tutorial.nodeClient.configure.textPost', - { - defaultMessage: - 'See [the documentation]({documentationLink}) for advanced usage, including how to use with \ + textPost: i18n.translate('xpack.apm.tutorial.nodeClient.configure.textPost', { + defaultMessage: + 'See [the documentation]({documentationLink}) for advanced usage, including how to use with \ [Babel/ES Modules]({babelEsModulesLink}).', - values: { - documentationLink: - '{config.docs.base_url}guide/en/apm/agent/nodejs/current/index.html', - babelEsModulesLink: - '{config.docs.base_url}guide/en/apm/agent/nodejs/current/advanced-setup.html#es-modules', - }, - } - ), + values: { + documentationLink: '{config.docs.base_url}guide/en/apm/agent/nodejs/current/index.html', + babelEsModulesLink: + '{config.docs.base_url}guide/en/apm/agent/nodejs/current/advanced-setup.html#es-modules', + }, + }), }, ]; -export const createDjangoAgentInstructions = ( - apmServerUrl = '', - secretToken = '' -) => [ +export const createDjangoAgentInstructions = (apmServerUrl = '', secretToken = '') => [ { title: i18n.translate('xpack.apm.tutorial.djangoClient.install.title', { defaultMessage: 'Install the APM agent', @@ -66,33 +55,23 @@ export const createDjangoAgentInstructions = ( title: i18n.translate('xpack.apm.tutorial.djangoClient.configure.title', { defaultMessage: 'Configure the agent', }), - textPre: i18n.translate( - 'xpack.apm.tutorial.djangoClient.configure.textPre', - { - defaultMessage: - 'Agents are libraries that run inside of your application process. \ + textPre: i18n.translate('xpack.apm.tutorial.djangoClient.configure.textPre', { + defaultMessage: + 'Agents are libraries that run inside of your application process. \ APM services are created programmatically based on the `SERVICE_NAME`.', - } - ), + }), customComponentName: 'TutorialConfigAgent', - textPost: i18n.translate( - 'xpack.apm.tutorial.djangoClient.configure.textPost', - { - defaultMessage: - 'See the [documentation]({documentationLink}) for advanced usage.', - values: { - documentationLink: - '{config.docs.base_url}guide/en/apm/agent/python/current/django-support.html', - }, - } - ), + textPost: i18n.translate('xpack.apm.tutorial.djangoClient.configure.textPost', { + defaultMessage: 'See the [documentation]({documentationLink}) for advanced usage.', + values: { + documentationLink: + '{config.docs.base_url}guide/en/apm/agent/python/current/django-support.html', + }, + }), }, ]; -export const createFlaskAgentInstructions = ( - apmServerUrl = '', - secretToken = '' -) => [ +export const createFlaskAgentInstructions = (apmServerUrl = '', secretToken = '') => [ { title: i18n.translate('xpack.apm.tutorial.flaskClient.install.title', { defaultMessage: 'Install the APM agent', @@ -106,33 +85,23 @@ export const createFlaskAgentInstructions = ( title: i18n.translate('xpack.apm.tutorial.flaskClient.configure.title', { defaultMessage: 'Configure the agent', }), - textPre: i18n.translate( - 'xpack.apm.tutorial.flaskClient.configure.textPre', - { - defaultMessage: - 'Agents are libraries that run inside of your application process. \ + textPre: i18n.translate('xpack.apm.tutorial.flaskClient.configure.textPre', { + defaultMessage: + 'Agents are libraries that run inside of your application process. \ APM services are created programmatically based on the `SERVICE_NAME`.', - } - ), + }), customComponentName: 'TutorialConfigAgent', - textPost: i18n.translate( - 'xpack.apm.tutorial.flaskClient.configure.textPost', - { - defaultMessage: - 'See the [documentation]({documentationLink}) for advanced usage.', - values: { - documentationLink: - '{config.docs.base_url}guide/en/apm/agent/python/current/flask-support.html', - }, - } - ), + textPost: i18n.translate('xpack.apm.tutorial.flaskClient.configure.textPost', { + defaultMessage: 'See the [documentation]({documentationLink}) for advanced usage.', + values: { + documentationLink: + '{config.docs.base_url}guide/en/apm/agent/python/current/flask-support.html', + }, + }), }, ]; -export const createRailsAgentInstructions = ( - apmServerUrl = '', - secretToken = '' -) => [ +export const createRailsAgentInstructions = (apmServerUrl = '', secretToken = '') => [ { title: i18n.translate('xpack.apm.tutorial.railsClient.install.title', { defaultMessage: 'Install the APM agent', @@ -146,33 +115,23 @@ export const createRailsAgentInstructions = ( title: i18n.translate('xpack.apm.tutorial.railsClient.configure.title', { defaultMessage: 'Configure the agent', }), - textPre: i18n.translate( - 'xpack.apm.tutorial.railsClient.configure.textPre', - { - defaultMessage: - 'APM is automatically started when your app boots. Configure the agent, by creating the config file {configFile}', - values: { configFile: '`config/elastic_apm.yml`' }, - } - ), + textPre: i18n.translate('xpack.apm.tutorial.railsClient.configure.textPre', { + defaultMessage: + 'APM is automatically started when your app boots. Configure the agent, by creating the config file {configFile}', + values: { configFile: '`config/elastic_apm.yml`' }, + }), customComponentName: 'TutorialConfigAgent', - textPost: i18n.translate( - 'xpack.apm.tutorial.railsClient.configure.textPost', - { - defaultMessage: - 'See the [documentation]({documentationLink}) for configuration options and advanced usage.\n\n', - values: { - documentationLink: - '{config.docs.base_url}guide/en/apm/agent/ruby/current/index.html', - }, - } - ), + textPost: i18n.translate('xpack.apm.tutorial.railsClient.configure.textPost', { + defaultMessage: + 'See the [documentation]({documentationLink}) for configuration options and advanced usage.\n\n', + values: { + documentationLink: '{config.docs.base_url}guide/en/apm/agent/ruby/current/index.html', + }, + }), }, ]; -export const createRackAgentInstructions = ( - apmServerUrl = '', - secretToken = '' -) => [ +export const createRackAgentInstructions = (apmServerUrl = '', secretToken = '') => [ { title: i18n.translate('xpack.apm.tutorial.rackClient.install.title', { defaultMessage: 'Install the APM agent', @@ -222,78 +181,56 @@ export const createRackAgentInstructions = ( title: i18n.translate('xpack.apm.tutorial.rackClient.createConfig.title', { defaultMessage: 'Create config file', }), - textPre: i18n.translate( - 'xpack.apm.tutorial.rackClient.createConfig.textPre', - { - defaultMessage: 'Create a config file {configFile}:', - values: { configFile: '`config/elastic_apm.yml`' }, - } - ), + textPre: i18n.translate('xpack.apm.tutorial.rackClient.createConfig.textPre', { + defaultMessage: 'Create a config file {configFile}:', + values: { configFile: '`config/elastic_apm.yml`' }, + }), customComponentName: 'TutorialConfigAgent', - textPost: i18n.translate( - 'xpack.apm.tutorial.rackClient.createConfig.textPost', - { - defaultMessage: - 'See the [documentation]({documentationLink}) for configuration options and advanced usage.\n\n', - values: { - documentationLink: - '{config.docs.base_url}guide/en/apm/agent/ruby/current/index.html', - }, - } - ), + textPost: i18n.translate('xpack.apm.tutorial.rackClient.createConfig.textPost', { + defaultMessage: + 'See the [documentation]({documentationLink}) for configuration options and advanced usage.\n\n', + values: { + documentationLink: '{config.docs.base_url}guide/en/apm/agent/ruby/current/index.html', + }, + }), }, ]; export const createJsAgentInstructions = (apmServerUrl = '') => [ { - title: i18n.translate( - 'xpack.apm.tutorial.jsClient.enableRealUserMonitoring.title', - { - defaultMessage: 'Enable Real User Monitoring support in APM Server', - } - ), - textPre: i18n.translate( - 'xpack.apm.tutorial.jsClient.enableRealUserMonitoring.textPre', - { - defaultMessage: - 'APM Server disables RUM support by default. See the [documentation]({documentationLink}) \ + title: i18n.translate('xpack.apm.tutorial.jsClient.enableRealUserMonitoring.title', { + defaultMessage: 'Enable Real User Monitoring support in APM Server', + }), + textPre: i18n.translate('xpack.apm.tutorial.jsClient.enableRealUserMonitoring.textPre', { + defaultMessage: + 'APM Server disables RUM support by default. See the [documentation]({documentationLink}) \ for details on how to enable RUM support. When using the APM integration with Fleet, RUM support is automatically enabled.', - values: { - documentationLink: - '{config.docs.base_url}guide/en/apm/guide/{config.docs.version}/configuration-rum.html', - }, - } - ), + values: { + documentationLink: + '{config.docs.base_url}guide/en/apm/guide/{config.docs.version}/configuration-rum.html', + }, + }), }, { - title: i18n.translate( - 'xpack.apm.tutorial.jsClient.installDependency.title', - { - defaultMessage: 'Set up the Agent as a dependency', - } - ), - textPre: i18n.translate( - 'xpack.apm.tutorial.jsClient.installDependency.textPre', - { - defaultMessage: - 'You can install the Agent as a dependency to your application with \ + title: i18n.translate('xpack.apm.tutorial.jsClient.installDependency.title', { + defaultMessage: 'Set up the Agent as a dependency', + }), + textPre: i18n.translate('xpack.apm.tutorial.jsClient.installDependency.textPre', { + defaultMessage: + 'You can install the Agent as a dependency to your application with \ `npm install @elastic/apm-rum --save`.\n\n\ The Agent can then be initialized and configured in your application like this:', - } - ), + }), customComponentName: 'TutorialConfigAgent', - textPost: i18n.translate( - 'xpack.apm.tutorial.jsClient.installDependency.textPost', - { - defaultMessage: - 'Framework integrations, like React or Angular, have custom dependencies. \ + textPost: i18n.translate('xpack.apm.tutorial.jsClient.installDependency.textPost', { + defaultMessage: + 'Framework integrations, like React or Angular, have custom dependencies. \ See the [integration documentation]({docLink}) for more information.', - values: { - docLink: - '{config.docs.base_url}guide/en/apm/agent/rum-js/current/framework-integrations.html', - }, - } - ), + values: { + docLink: + '{config.docs.base_url}guide/en/apm/agent/rum-js/current/framework-integrations.html', + }, + }), }, { title: i18n.translate('xpack.apm.tutorial.jsClient.scriptTags.title', { @@ -306,20 +243,15 @@ Add a `