diff --git a/src/platform/packages/private/kbn-repo-packages/package-map.json b/src/platform/packages/private/kbn-repo-packages/package-map.json new file mode 100644 index 0000000000000..345a63ad43d76 --- /dev/null +++ b/src/platform/packages/private/kbn-repo-packages/package-map.json @@ -0,0 +1,4166 @@ +[ + [ + "@kbn/aad-fixtures-plugin", + "x-pack/test/alerting_api_integration/common/plugins/aad" + ], + [ + "@kbn/actions-plugin", + "x-pack/platform/plugins/shared/actions" + ], + [ + "@kbn/actions-simulators-plugin", + "x-pack/test/alerting_api_integration/common/plugins/actions_simulators" + ], + [ + "@kbn/actions-types", + "src/platform/packages/shared/kbn-actions-types" + ], + [ + "@kbn/advanced-settings-plugin", + "src/platform/plugins/private/advanced_settings" + ], + [ + "@kbn/ai-assistant", + "x-pack/platform/packages/shared/kbn-ai-assistant" + ], + [ + "@kbn/ai-assistant-common", + "x-pack/platform/packages/shared/ai-assistant/common" + ], + [ + "@kbn/ai-assistant-icon", + "x-pack/platform/packages/shared/ai-assistant/icon" + ], + [ + "@kbn/ai-assistant-management-plugin", + "src/platform/plugins/shared/ai_assistant_management/selection" + ], + [ + "@kbn/aiops-change-point-detection", + "x-pack/platform/packages/private/ml/aiops_change_point_detection" + ], + [ + "@kbn/aiops-common", + "x-pack/platform/packages/shared/ml/aiops_common" + ], + [ + "@kbn/aiops-components", + "x-pack/platform/packages/private/ml/aiops_components" + ], + [ + "@kbn/aiops-log-pattern-analysis", + "x-pack/platform/packages/shared/ml/aiops_log_pattern_analysis" + ], + [ + "@kbn/aiops-log-rate-analysis", + "x-pack/platform/packages/shared/ml/aiops_log_rate_analysis" + ], + [ + "@kbn/aiops-plugin", + "x-pack/platform/plugins/shared/aiops" + ], + [ + "@kbn/aiops-test-utils", + "x-pack/platform/packages/private/ml/aiops_test_utils" + ], + [ + "@kbn/alerting-api-integration-helpers", + "x-pack/test/alerting_api_integration/packages/helpers" + ], + [ + "@kbn/alerting-api-integration-test-plugin", + "x-pack/test/alerting_api_integration/common/plugins/alerts" + ], + [ + "@kbn/alerting-comparators", + "x-pack/platform/packages/shared/kbn-alerting-comparators" + ], + [ + "@kbn/alerting-example-plugin", + "x-pack/examples/alerting_example" + ], + [ + "@kbn/alerting-fixture-plugin", + "x-pack/test/functional_with_es_ssl/plugins/alerts" + ], + [ + "@kbn/alerting-plugin", + "x-pack/platform/plugins/shared/alerting" + ], + [ + "@kbn/alerting-state-types", + "x-pack/platform/packages/private/kbn-alerting-state-types" + ], + [ + "@kbn/alerting-types", + "src/platform/packages/shared/kbn-alerting-types" + ], + [ + "@kbn/alerts-as-data-utils", + "src/platform/packages/shared/kbn-alerts-as-data-utils" + ], + [ + "@kbn/alerts-grouping", + "x-pack/solutions/observability/packages/kbn-alerts-grouping" + ], + [ + "@kbn/alerts-restricted-fixtures-plugin", + "x-pack/test/alerting_api_integration/common/plugins/alerts_restricted" + ], + [ + "@kbn/alerts-ui-shared", + "src/platform/packages/shared/kbn-alerts-ui-shared" + ], + [ + "@kbn/ambient-common-types", + "packages/kbn-ambient-common-types" + ], + [ + "@kbn/ambient-ftr-types", + "packages/kbn-ambient-ftr-types" + ], + [ + "@kbn/ambient-storybook-types", + "packages/kbn-ambient-storybook-types" + ], + [ + "@kbn/ambient-ui-types", + "packages/kbn-ambient-ui-types" + ], + [ + "@kbn/analytics", + "src/platform/packages/shared/kbn-analytics" + ], + [ + "@kbn/analytics-collection-utils", + "src/platform/packages/private/analytics/utils/analytics_collection_utils" + ], + [ + "@kbn/analytics-ftr-helpers-plugin", + "test/analytics/plugins/analytics_ftr_helpers" + ], + [ + "@kbn/analytics-plugin-a-plugin", + "test/analytics/plugins/analytics_plugin_a" + ], + [ + "@kbn/apm-config-loader", + "src/platform/packages/private/kbn-apm-config-loader" + ], + [ + "@kbn/apm-data-access-plugin", + "x-pack/solutions/observability/plugins/apm_data_access" + ], + [ + "@kbn/apm-data-view", + "src/platform/packages/shared/kbn-apm-data-view" + ], + [ + "@kbn/apm-ftr-e2e", + "x-pack/solutions/observability/plugins/apm/ftr_e2e" + ], + [ + "@kbn/apm-plugin", + "x-pack/solutions/observability/plugins/apm" + ], + [ + "@kbn/apm-synthtrace", + "packages/kbn-apm-synthtrace" + ], + [ + "@kbn/apm-synthtrace-client", + "packages/kbn-apm-synthtrace-client" + ], + [ + "@kbn/apm-types", + "x-pack/solutions/observability/packages/kbn-apm-types" + ], + [ + "@kbn/apm-utils", + "src/platform/packages/shared/kbn-apm-utils" + ], + [ + "@kbn/app-link-test-plugin", + "test/plugin_functional/plugins/app_link_test" + ], + [ + "@kbn/application-usage-test-plugin", + "x-pack/test/usage_collection/plugins/application_usage_test" + ], + [ + "@kbn/audit-log-plugin", + "x-pack/test/security_api_integration/plugins/audit_log" + ], + [ + "@kbn/avc-banner", + "src/platform/packages/shared/kbn-avc-banner" + ], + [ + "@kbn/axe-config", + "packages/kbn-axe-config" + ], + [ + "@kbn/babel-preset", + "packages/kbn-babel-preset" + ], + [ + "@kbn/babel-register", + "packages/kbn-babel-register" + ], + [ + "@kbn/babel-transform", + "packages/kbn-babel-transform" + ], + [ + "@kbn/banners-plugin", + "x-pack/platform/plugins/private/banners" + ], + [ + "@kbn/bazel-runner", + "packages/kbn-bazel-runner" + ], + [ + "@kbn/bfetch-error", + "src/platform/packages/shared/kbn-bfetch-error" + ], + [ + "@kbn/bfetch-explorer-plugin", + "examples/bfetch_explorer" + ], + [ + "@kbn/bfetch-plugin", + "src/platform/plugins/shared/bfetch" + ], + [ + "@kbn/calculate-auto", + "src/platform/packages/shared/kbn-calculate-auto" + ], + [ + "@kbn/calculate-width-from-char-count", + "src/platform/packages/shared/kbn-calculate-width-from-char-count" + ], + [ + "@kbn/canvas-plugin", + "x-pack/platform/plugins/private/canvas" + ], + [ + "@kbn/capture-oas-snapshot-cli", + "packages/kbn-capture-oas-snapshot-cli" + ], + [ + "@kbn/cases-api-integration-test-plugin", + "x-pack/test/cases_api_integration/common/plugins/cases" + ], + [ + "@kbn/cases-components", + "src/platform/packages/shared/kbn-cases-components" + ], + [ + "@kbn/cases-plugin", + "x-pack/platform/plugins/shared/cases" + ], + [ + "@kbn/cbor", + "src/platform/packages/shared/kbn-cbor" + ], + [ + "@kbn/cell-actions", + "src/platform/packages/shared/kbn-cell-actions" + ], + [ + "@kbn/chart-expressions-common", + "src/platform/packages/shared/chart-expressions-common" + ], + [ + "@kbn/chart-icons", + "src/platform/packages/shared/kbn-chart-icons" + ], + [ + "@kbn/charts-plugin", + "src/platform/plugins/shared/charts" + ], + [ + "@kbn/charts-theme", + "src/platform/packages/shared/kbn-charts-theme" + ], + [ + "@kbn/check-mappings-update-cli", + "packages/kbn-check-mappings-update-cli" + ], + [ + "@kbn/check-prod-native-modules-cli", + "packages/kbn-check-prod-native-modules-cli" + ], + [ + "@kbn/ci-stats-core", + "packages/kbn-ci-stats-core" + ], + [ + "@kbn/ci-stats-performance-metrics", + "packages/kbn-ci-stats-performance-metrics" + ], + [ + "@kbn/ci-stats-reporter", + "packages/kbn-ci-stats-reporter" + ], + [ + "@kbn/ci-stats-shipper-cli", + "packages/kbn-ci-stats-shipper-cli" + ], + [ + "@kbn/cli-dev-mode", + "packages/kbn-cli-dev-mode" + ], + [ + "@kbn/cloud", + "src/platform/packages/shared/cloud" + ], + [ + "@kbn/cloud-chat-plugin", + "x-pack/platform/plugins/private/cloud_integrations/cloud_chat" + ], + [ + "@kbn/cloud-data-migration-plugin", + "x-pack/platform/plugins/private/cloud_integrations/cloud_data_migration" + ], + [ + "@kbn/cloud-defend-plugin", + "x-pack/solutions/security/plugins/cloud_defend" + ], + [ + "@kbn/cloud-experiments-plugin", + "x-pack/platform/plugins/private/cloud_integrations/cloud_experiments" + ], + [ + "@kbn/cloud-full-story-plugin", + "x-pack/platform/plugins/private/cloud_integrations/cloud_full_story" + ], + [ + "@kbn/cloud-integration-saml-provider-plugin", + "x-pack/test/cloud_integration/plugins/saml_provider" + ], + [ + "@kbn/cloud-links-plugin", + "x-pack/platform/plugins/private/cloud_integrations/cloud_links" + ], + [ + "@kbn/cloud-plugin", + "x-pack/platform/plugins/shared/cloud" + ], + [ + "@kbn/cloud-security-posture", + "x-pack/solutions/security/packages/kbn-cloud-security-posture/public" + ], + [ + "@kbn/cloud-security-posture-common", + "x-pack/platform/packages/shared/kbn-cloud-security-posture/common" + ], + [ + "@kbn/cloud-security-posture-graph", + "x-pack/solutions/security/packages/kbn-cloud-security-posture/graph" + ], + [ + "@kbn/cloud-security-posture-plugin", + "x-pack/solutions/security/plugins/cloud_security_posture" + ], + [ + "@kbn/code-editor", + "src/platform/packages/shared/shared-ux/code_editor/impl" + ], + [ + "@kbn/code-editor-mock", + "src/platform/packages/shared/shared-ux/code_editor/mocks" + ], + [ + "@kbn/code-owners", + "packages/kbn-code-owners" + ], + [ + "@kbn/coloring", + "src/platform/packages/shared/kbn-coloring" + ], + [ + "@kbn/config", + "src/platform/packages/shared/kbn-config" + ], + [ + "@kbn/config-mocks", + "src/platform/packages/private/kbn-config-mocks" + ], + [ + "@kbn/config-schema", + "src/platform/packages/shared/kbn-config-schema" + ], + [ + "@kbn/console-plugin", + "src/platform/plugins/shared/console" + ], + [ + "@kbn/content-management-content-editor", + "src/platform/packages/shared/content-management/content_editor" + ], + [ + "@kbn/content-management-content-insights-public", + "src/platform/packages/shared/content-management/content_insights/content_insights_public" + ], + [ + "@kbn/content-management-content-insights-server", + "src/platform/packages/shared/content-management/content_insights/content_insights_server" + ], + [ + "@kbn/content-management-examples-plugin", + "examples/content_management_examples" + ], + [ + "@kbn/content-management-favorites-common", + "src/platform/packages/shared/content-management/favorites/favorites_common" + ], + [ + "@kbn/content-management-favorites-public", + "src/platform/packages/shared/content-management/favorites/favorites_public" + ], + [ + "@kbn/content-management-favorites-server", + "src/platform/packages/shared/content-management/favorites/favorites_server" + ], + [ + "@kbn/content-management-plugin", + "src/platform/plugins/shared/content_management" + ], + [ + "@kbn/content-management-tabbed-table-list-view", + "src/platform/packages/shared/content-management/tabbed_table_list_view" + ], + [ + "@kbn/content-management-table-list-view", + "src/platform/packages/shared/content-management/table_list_view" + ], + [ + "@kbn/content-management-table-list-view-common", + "src/platform/packages/shared/content-management/table_list_view_common" + ], + [ + "@kbn/content-management-table-list-view-table", + "src/platform/packages/shared/content-management/table_list_view_table" + ], + [ + "@kbn/content-management-user-profiles", + "src/platform/packages/shared/content-management/user_profiles" + ], + [ + "@kbn/content-management-utils", + "src/platform/packages/shared/kbn-content-management-utils" + ], + [ + "@kbn/controls-example-plugin", + "examples/controls_example" + ], + [ + "@kbn/controls-plugin", + "src/platform/plugins/shared/controls" + ], + [ + "@kbn/core", + "src/core" + ], + [ + "@kbn/core-analytics-browser", + "src/core/packages/analytics/browser" + ], + [ + "@kbn/core-analytics-browser-internal", + "src/core/packages/analytics/browser-internal" + ], + [ + "@kbn/core-analytics-browser-mocks", + "packages/core/analytics/core-analytics-browser-mocks" + ], + [ + "@kbn/core-analytics-server", + "src/core/packages/analytics/server" + ], + [ + "@kbn/core-analytics-server-internal", + "src/core/packages/analytics/server-internal" + ], + [ + "@kbn/core-analytics-server-mocks", + "packages/core/analytics/core-analytics-server-mocks" + ], + [ + "@kbn/core-app-status-plugin", + "test/plugin_functional/plugins/core_app_status" + ], + [ + "@kbn/core-application-browser", + "src/core/packages/application/browser" + ], + [ + "@kbn/core-application-browser-internal", + "src/core/packages/application/browser-internal" + ], + [ + "@kbn/core-application-browser-mocks", + "packages/core/application/core-application-browser-mocks" + ], + [ + "@kbn/core-application-common", + "src/core/packages/application/common" + ], + [ + "@kbn/core-apps-browser-internal", + "src/core/packages/apps/browser-internal" + ], + [ + "@kbn/core-apps-browser-mocks", + "packages/core/apps/core-apps-browser-mocks" + ], + [ + "@kbn/core-apps-server-internal", + "src/core/packages/apps/server-internal" + ], + [ + "@kbn/core-base-browser-internal", + "src/core/packages/base/browser-internal" + ], + [ + "@kbn/core-base-browser-mocks", + "packages/core/base/core-base-browser-mocks" + ], + [ + "@kbn/core-base-common", + "src/core/packages/base/common" + ], + [ + "@kbn/core-base-common-internal", + "src/core/packages/base/common-internal" + ], + [ + "@kbn/core-base-server-internal", + "src/core/packages/base/server-internal" + ], + [ + "@kbn/core-base-server-mocks", + "packages/core/base/core-base-server-mocks" + ], + [ + "@kbn/core-capabilities-browser-internal", + "src/core/packages/capabilities/browser-internal" + ], + [ + "@kbn/core-capabilities-browser-mocks", + "packages/core/capabilities/core-capabilities-browser-mocks" + ], + [ + "@kbn/core-capabilities-common", + "src/core/packages/capabilities/common" + ], + [ + "@kbn/core-capabilities-server", + "src/core/packages/capabilities/server" + ], + [ + "@kbn/core-capabilities-server-internal", + "src/core/packages/capabilities/server-internal" + ], + [ + "@kbn/core-capabilities-server-mocks", + "packages/core/capabilities/core-capabilities-server-mocks" + ], + [ + "@kbn/core-chrome-browser", + "src/core/packages/chrome/browser" + ], + [ + "@kbn/core-chrome-browser-internal", + "src/core/packages/chrome/browser-internal" + ], + [ + "@kbn/core-chrome-browser-mocks", + "packages/core/chrome/core-chrome-browser-mocks" + ], + [ + "@kbn/core-config-server-internal", + "src/core/packages/config/server-internal" + ], + [ + "@kbn/core-custom-branding-browser", + "src/core/packages/custom-branding/browser" + ], + [ + "@kbn/core-custom-branding-browser-internal", + "src/core/packages/custom-branding/browser-internal" + ], + [ + "@kbn/core-custom-branding-browser-mocks", + "src/core/packages/custom-branding/browser-mocks" + ], + [ + "@kbn/core-custom-branding-common", + "src/core/packages/custom-branding/common" + ], + [ + "@kbn/core-custom-branding-server", + "src/core/packages/custom-branding/server" + ], + [ + "@kbn/core-custom-branding-server-internal", + "src/core/packages/custom-branding/server-internal" + ], + [ + "@kbn/core-custom-branding-server-mocks", + "src/core/packages/custom-branding/server-mocks" + ], + [ + "@kbn/core-deprecations-browser", + "src/core/packages/deprecations/browser" + ], + [ + "@kbn/core-deprecations-browser-internal", + "src/core/packages/deprecations/browser-internal" + ], + [ + "@kbn/core-deprecations-browser-mocks", + "packages/core/deprecations/core-deprecations-browser-mocks" + ], + [ + "@kbn/core-deprecations-common", + "src/core/packages/deprecations/common" + ], + [ + "@kbn/core-deprecations-server", + "src/core/packages/deprecations/server" + ], + [ + "@kbn/core-deprecations-server-internal", + "src/core/packages/deprecations/server-internal" + ], + [ + "@kbn/core-deprecations-server-mocks", + "packages/core/deprecations/core-deprecations-server-mocks" + ], + [ + "@kbn/core-doc-links-browser", + "src/core/packages/doc-links/browser" + ], + [ + "@kbn/core-doc-links-browser-internal", + "src/core/packages/doc-links/browser-internal" + ], + [ + "@kbn/core-doc-links-browser-mocks", + "packages/core/doc-links/core-doc-links-browser-mocks" + ], + [ + "@kbn/core-doc-links-server", + "src/core/packages/doc-links/server" + ], + [ + "@kbn/core-doc-links-server-internal", + "src/core/packages/doc-links/server-internal" + ], + [ + "@kbn/core-doc-links-server-mocks", + "packages/core/doc-links/core-doc-links-server-mocks" + ], + [ + "@kbn/core-elasticsearch-client-server-internal", + "src/core/packages/elasticsearch/client-server-internal" + ], + [ + "@kbn/core-elasticsearch-client-server-mocks", + "packages/core/elasticsearch/core-elasticsearch-client-server-mocks" + ], + [ + "@kbn/core-elasticsearch-server", + "src/core/packages/elasticsearch/server" + ], + [ + "@kbn/core-elasticsearch-server-internal", + "src/core/packages/elasticsearch/server-internal" + ], + [ + "@kbn/core-elasticsearch-server-mocks", + "packages/core/elasticsearch/core-elasticsearch-server-mocks" + ], + [ + "@kbn/core-environment-server-internal", + "src/core/packages/environment/server-internal" + ], + [ + "@kbn/core-environment-server-mocks", + "packages/core/environment/core-environment-server-mocks" + ], + [ + "@kbn/core-execution-context-browser", + "src/core/packages/execution-context/browser" + ], + [ + "@kbn/core-execution-context-browser-internal", + "src/core/packages/execution-context/browser-internal" + ], + [ + "@kbn/core-execution-context-browser-mocks", + "packages/core/execution-context/core-execution-context-browser-mocks" + ], + [ + "@kbn/core-execution-context-common", + "src/core/packages/execution-context/common" + ], + [ + "@kbn/core-execution-context-server", + "src/core/packages/execution-context/server" + ], + [ + "@kbn/core-execution-context-server-internal", + "src/core/packages/execution-context/server-internal" + ], + [ + "@kbn/core-execution-context-server-mocks", + "packages/core/execution-context/core-execution-context-server-mocks" + ], + [ + "@kbn/core-fatal-errors-browser", + "src/core/packages/fatal-errors/browser" + ], + [ + "@kbn/core-fatal-errors-browser-internal", + "src/core/packages/fatal-errors/browser-internal" + ], + [ + "@kbn/core-fatal-errors-browser-mocks", + "packages/core/fatal-errors/core-fatal-errors-browser-mocks" + ], + [ + "@kbn/core-feature-flags-browser", + "src/core/packages/feature-flags/browser" + ], + [ + "@kbn/core-feature-flags-browser-internal", + "src/core/packages/feature-flags/browser-internal" + ], + [ + "@kbn/core-feature-flags-browser-mocks", + "src/core/packages/feature-flags/browser-mocks" + ], + [ + "@kbn/core-feature-flags-server", + "src/core/packages/feature-flags/server" + ], + [ + "@kbn/core-feature-flags-server-internal", + "src/core/packages/feature-flags/server-internal" + ], + [ + "@kbn/core-feature-flags-server-mocks", + "src/core/packages/feature-flags/server-mocks" + ], + [ + "@kbn/core-history-block-plugin", + "test/plugin_functional/plugins/core_history_block" + ], + [ + "@kbn/core-http-browser", + "src/core/packages/http/browser" + ], + [ + "@kbn/core-http-browser-internal", + "src/core/packages/http/browser-internal" + ], + [ + "@kbn/core-http-browser-mocks", + "packages/core/http/core-http-browser-mocks" + ], + [ + "@kbn/core-http-common", + "src/core/packages/http/common" + ], + [ + "@kbn/core-http-context-server-internal", + "src/core/packages/http/context-server-internal" + ], + [ + "@kbn/core-http-context-server-mocks", + "packages/core/http/core-http-context-server-mocks" + ], + [ + "@kbn/core-http-plugin", + "test/plugin_functional/plugins/core_http" + ], + [ + "@kbn/core-http-request-handler-context-server", + "src/core/packages/http/request-handler-context-server" + ], + [ + "@kbn/core-http-request-handler-context-server-internal", + "src/core/packages/http/request-handler-context-server-internal" + ], + [ + "@kbn/core-http-resources-server", + "src/core/packages/http/resources-server" + ], + [ + "@kbn/core-http-resources-server-internal", + "src/core/packages/http/resources-server-internal" + ], + [ + "@kbn/core-http-resources-server-mocks", + "packages/core/http/core-http-resources-server-mocks" + ], + [ + "@kbn/core-http-router-server-internal", + "src/core/packages/http/router-server-internal" + ], + [ + "@kbn/core-http-router-server-mocks", + "packages/core/http/core-http-router-server-mocks" + ], + [ + "@kbn/core-http-server", + "src/core/packages/http/server" + ], + [ + "@kbn/core-http-server-internal", + "src/core/packages/http/server-internal" + ], + [ + "@kbn/core-http-server-mocks", + "packages/core/http/core-http-server-mocks" + ], + [ + "@kbn/core-http-server-utils", + "src/core/packages/http/server-utils" + ], + [ + "@kbn/core-i18n-browser", + "src/core/packages/i18n/browser" + ], + [ + "@kbn/core-i18n-browser-internal", + "src/core/packages/i18n/browser-internal" + ], + [ + "@kbn/core-i18n-browser-mocks", + "packages/core/i18n/core-i18n-browser-mocks" + ], + [ + "@kbn/core-i18n-server", + "src/core/packages/i18n/server" + ], + [ + "@kbn/core-i18n-server-internal", + "src/core/packages/i18n/server-internal" + ], + [ + "@kbn/core-i18n-server-mocks", + "packages/core/i18n/core-i18n-server-mocks" + ], + [ + "@kbn/core-injected-metadata-browser-internal", + "src/core/packages/injected-metadata/browser-internal" + ], + [ + "@kbn/core-injected-metadata-browser-mocks", + "packages/core/injected-metadata/core-injected-metadata-browser-mocks" + ], + [ + "@kbn/core-injected-metadata-common-internal", + "src/core/packages/injected-metadata/common-internal" + ], + [ + "@kbn/core-integrations-browser-internal", + "src/core/packages/integrations/browser-internal" + ], + [ + "@kbn/core-integrations-browser-mocks", + "packages/core/integrations/core-integrations-browser-mocks" + ], + [ + "@kbn/core-lifecycle-browser", + "src/core/packages/lifecycle/browser" + ], + [ + "@kbn/core-lifecycle-browser-internal", + "src/core/packages/lifecycle/browser-internal" + ], + [ + "@kbn/core-lifecycle-browser-mocks", + "packages/core/lifecycle/core-lifecycle-browser-mocks" + ], + [ + "@kbn/core-lifecycle-server", + "src/core/packages/lifecycle/server" + ], + [ + "@kbn/core-lifecycle-server-internal", + "src/core/packages/lifecycle/server-internal" + ], + [ + "@kbn/core-lifecycle-server-mocks", + "packages/core/lifecycle/core-lifecycle-server-mocks" + ], + [ + "@kbn/core-logging-browser-internal", + "src/core/packages/logging/browser-internal" + ], + [ + "@kbn/core-logging-browser-mocks", + "packages/core/logging/core-logging-browser-mocks" + ], + [ + "@kbn/core-logging-common-internal", + "src/core/packages/logging/common-internal" + ], + [ + "@kbn/core-logging-server", + "src/core/packages/logging/server" + ], + [ + "@kbn/core-logging-server-internal", + "src/core/packages/logging/server-internal" + ], + [ + "@kbn/core-logging-server-mocks", + "packages/core/logging/core-logging-server-mocks" + ], + [ + "@kbn/core-metrics-collectors-server-internal", + "src/core/packages/metrics/collectors-server-internal" + ], + [ + "@kbn/core-metrics-collectors-server-mocks", + "packages/core/metrics/core-metrics-collectors-server-mocks" + ], + [ + "@kbn/core-metrics-server", + "src/core/packages/metrics/server" + ], + [ + "@kbn/core-metrics-server-internal", + "src/core/packages/metrics/server-internal" + ], + [ + "@kbn/core-metrics-server-mocks", + "packages/core/metrics/core-metrics-server-mocks" + ], + [ + "@kbn/core-mount-utils-browser", + "src/core/packages/mount-utils/browser" + ], + [ + "@kbn/core-mount-utils-browser-internal", + "src/core/packages/mount-utils/browser-internal" + ], + [ + "@kbn/core-node-server", + "src/core/packages/node/server" + ], + [ + "@kbn/core-node-server-internal", + "src/core/packages/node/server-internal" + ], + [ + "@kbn/core-node-server-mocks", + "packages/core/node/core-node-server-mocks" + ], + [ + "@kbn/core-notifications-browser", + "src/core/packages/notifications/browser" + ], + [ + "@kbn/core-notifications-browser-internal", + "src/core/packages/notifications/browser-internal" + ], + [ + "@kbn/core-notifications-browser-mocks", + "packages/core/notifications/core-notifications-browser-mocks" + ], + [ + "@kbn/core-overlays-browser", + "src/core/packages/overlays/browser" + ], + [ + "@kbn/core-overlays-browser-internal", + "src/core/packages/overlays/browser-internal" + ], + [ + "@kbn/core-overlays-browser-mocks", + "packages/core/overlays/core-overlays-browser-mocks" + ], + [ + "@kbn/core-plugin-a-plugin", + "test/plugin_functional/plugins/core_plugin_a" + ], + [ + "@kbn/core-plugin-appleave-plugin", + "test/plugin_functional/plugins/core_plugin_appleave" + ], + [ + "@kbn/core-plugin-b-plugin", + "test/plugin_functional/plugins/core_plugin_b" + ], + [ + "@kbn/core-plugin-chromeless-plugin", + "test/plugin_functional/plugins/core_plugin_chromeless" + ], + [ + "@kbn/core-plugin-deep-links-plugin", + "test/plugin_functional/plugins/core_plugin_deep_links" + ], + [ + "@kbn/core-plugin-deprecations-plugin", + "test/plugin_functional/plugins/core_plugin_deprecations" + ], + [ + "@kbn/core-plugin-dynamic-resolving-a", + "test/plugin_functional/plugins/core_dynamic_resolving_a" + ], + [ + "@kbn/core-plugin-dynamic-resolving-b", + "test/plugin_functional/plugins/core_dynamic_resolving_b" + ], + [ + "@kbn/core-plugin-execution-context-plugin", + "test/plugin_functional/plugins/core_plugin_execution_context" + ], + [ + "@kbn/core-plugin-helpmenu-plugin", + "test/plugin_functional/plugins/core_plugin_helpmenu" + ], + [ + "@kbn/core-plugin-initializer-context-plugin", + "test/node_roles_functional/plugins/core_plugin_initializer_context" + ], + [ + "@kbn/core-plugin-route-timeouts-plugin", + "test/plugin_functional/plugins/core_plugin_route_timeouts" + ], + [ + "@kbn/core-plugin-static-assets-plugin", + "test/plugin_functional/plugins/core_plugin_static_assets" + ], + [ + "@kbn/core-plugins-base-server-internal", + "src/core/packages/plugins/base-server-internal" + ], + [ + "@kbn/core-plugins-browser", + "src/core/packages/plugins/browser" + ], + [ + "@kbn/core-plugins-browser-internal", + "src/core/packages/plugins/browser-internal" + ], + [ + "@kbn/core-plugins-browser-mocks", + "packages/core/plugins/core-plugins-browser-mocks" + ], + [ + "@kbn/core-plugins-contracts-browser", + "src/core/packages/plugins/contracts-browser" + ], + [ + "@kbn/core-plugins-contracts-server", + "src/core/packages/plugins/contracts-server" + ], + [ + "@kbn/core-plugins-server", + "src/core/packages/plugins/server" + ], + [ + "@kbn/core-plugins-server-internal", + "src/core/packages/plugins/server-internal" + ], + [ + "@kbn/core-plugins-server-mocks", + "packages/core/plugins/core-plugins-server-mocks" + ], + [ + "@kbn/core-preboot-server", + "src/core/packages/preboot/server" + ], + [ + "@kbn/core-preboot-server-internal", + "src/core/packages/preboot/server-internal" + ], + [ + "@kbn/core-preboot-server-mocks", + "packages/core/preboot/core-preboot-server-mocks" + ], + [ + "@kbn/core-provider-plugin", + "test/plugin_functional/plugins/core_provider_plugin" + ], + [ + "@kbn/core-rendering-browser", + "src/core/packages/rendering/browser" + ], + [ + "@kbn/core-rendering-browser-internal", + "src/core/packages/rendering/browser-internal" + ], + [ + "@kbn/core-rendering-browser-mocks", + "packages/core/rendering/core-rendering-browser-mocks" + ], + [ + "@kbn/core-rendering-server-internal", + "src/core/packages/rendering/server-internal" + ], + [ + "@kbn/core-rendering-server-mocks", + "packages/core/rendering/core-rendering-server-mocks" + ], + [ + "@kbn/core-root-browser-internal", + "src/core/packages/root/browser-internal" + ], + [ + "@kbn/core-root-server-internal", + "src/core/packages/root/server-internal" + ], + [ + "@kbn/core-saved-objects-api-browser", + "src/core/packages/saved-objects/api-browser" + ], + [ + "@kbn/core-saved-objects-api-server", + "src/core/packages/saved-objects/api-server" + ], + [ + "@kbn/core-saved-objects-api-server-internal", + "src/core/packages/saved-objects/api-server-internal" + ], + [ + "@kbn/core-saved-objects-api-server-mocks", + "packages/core/saved-objects/core-saved-objects-api-server-mocks" + ], + [ + "@kbn/core-saved-objects-base-server-internal", + "src/core/packages/saved-objects/base-server-internal" + ], + [ + "@kbn/core-saved-objects-base-server-mocks", + "packages/core/saved-objects/core-saved-objects-base-server-mocks" + ], + [ + "@kbn/core-saved-objects-browser", + "src/core/packages/saved-objects/browser" + ], + [ + "@kbn/core-saved-objects-browser-internal", + "src/core/packages/saved-objects/browser-internal" + ], + [ + "@kbn/core-saved-objects-browser-mocks", + "packages/core/saved-objects/core-saved-objects-browser-mocks" + ], + [ + "@kbn/core-saved-objects-common", + "src/core/packages/saved-objects/common" + ], + [ + "@kbn/core-saved-objects-import-export-server-internal", + "src/core/packages/saved-objects/import-export-server-internal" + ], + [ + "@kbn/core-saved-objects-import-export-server-mocks", + "packages/core/saved-objects/core-saved-objects-import-export-server-mocks" + ], + [ + "@kbn/core-saved-objects-migration-server-internal", + "src/core/packages/saved-objects/migration-server-internal" + ], + [ + "@kbn/core-saved-objects-migration-server-mocks", + "packages/core/saved-objects/core-saved-objects-migration-server-mocks" + ], + [ + "@kbn/core-saved-objects-server", + "src/core/packages/saved-objects/server" + ], + [ + "@kbn/core-saved-objects-server-internal", + "src/core/packages/saved-objects/server-internal" + ], + [ + "@kbn/core-saved-objects-server-mocks", + "packages/core/saved-objects/core-saved-objects-server-mocks" + ], + [ + "@kbn/core-saved-objects-utils-server", + "src/core/packages/saved-objects/utils-server" + ], + [ + "@kbn/core-security-browser", + "src/core/packages/security/browser" + ], + [ + "@kbn/core-security-browser-internal", + "src/core/packages/security/browser-internal" + ], + [ + "@kbn/core-security-browser-mocks", + "src/core/packages/security/browser-mocks" + ], + [ + "@kbn/core-security-common", + "src/core/packages/security/common" + ], + [ + "@kbn/core-security-server", + "src/core/packages/security/server" + ], + [ + "@kbn/core-security-server-internal", + "src/core/packages/security/server-internal" + ], + [ + "@kbn/core-security-server-mocks", + "src/core/packages/security/server-mocks" + ], + [ + "@kbn/core-status-common", + "src/core/packages/status/common" + ], + [ + "@kbn/core-status-server", + "src/core/packages/status/server" + ], + [ + "@kbn/core-status-server-internal", + "src/core/packages/status/server-internal" + ], + [ + "@kbn/core-status-server-mocks", + "packages/core/status/core-status-server-mocks" + ], + [ + "@kbn/core-test-helpers-deprecations-getters", + "src/core/packages/test-helpers/deprecations-getters" + ], + [ + "@kbn/core-test-helpers-http-setup-browser", + "src/core/packages/test-helpers/http-setup-browser" + ], + [ + "@kbn/core-test-helpers-kbn-server", + "packages/core/test-helpers/core-test-helpers-kbn-server" + ], + [ + "@kbn/core-test-helpers-model-versions", + "packages/core/test-helpers/core-test-helpers-model-versions" + ], + [ + "@kbn/core-test-helpers-so-type-serializer", + "src/core/packages/test-helpers/so-type-serializer" + ], + [ + "@kbn/core-test-helpers-test-utils", + "src/core/packages/test-helpers/test-utils" + ], + [ + "@kbn/core-theme-browser", + "src/core/packages/theme/browser" + ], + [ + "@kbn/core-theme-browser-internal", + "src/core/packages/theme/browser-internal" + ], + [ + "@kbn/core-theme-browser-mocks", + "packages/core/theme/core-theme-browser-mocks" + ], + [ + "@kbn/core-ui-settings-browser", + "src/core/packages/ui-settings/browser" + ], + [ + "@kbn/core-ui-settings-browser-internal", + "src/core/packages/ui-settings/browser-internal" + ], + [ + "@kbn/core-ui-settings-browser-mocks", + "packages/core/ui-settings/core-ui-settings-browser-mocks" + ], + [ + "@kbn/core-ui-settings-common", + "src/core/packages/ui-settings/common" + ], + [ + "@kbn/core-ui-settings-server", + "src/core/packages/ui-settings/server" + ], + [ + "@kbn/core-ui-settings-server-internal", + "src/core/packages/ui-settings/server-internal" + ], + [ + "@kbn/core-ui-settings-server-mocks", + "packages/core/ui-settings/core-ui-settings-server-mocks" + ], + [ + "@kbn/core-usage-data-base-server-internal", + "src/core/packages/usage-data/base-server-internal" + ], + [ + "@kbn/core-usage-data-server", + "src/core/packages/usage-data/server" + ], + [ + "@kbn/core-usage-data-server-internal", + "src/core/packages/usage-data/server-internal" + ], + [ + "@kbn/core-usage-data-server-mocks", + "packages/core/usage-data/core-usage-data-server-mocks" + ], + [ + "@kbn/core-user-profile-browser", + "src/core/packages/user-profile/browser" + ], + [ + "@kbn/core-user-profile-browser-internal", + "src/core/packages/user-profile/browser-internal" + ], + [ + "@kbn/core-user-profile-browser-mocks", + "src/core/packages/user-profile/browser-mocks" + ], + [ + "@kbn/core-user-profile-common", + "src/core/packages/user-profile/common" + ], + [ + "@kbn/core-user-profile-server", + "src/core/packages/user-profile/server" + ], + [ + "@kbn/core-user-profile-server-internal", + "src/core/packages/user-profile/server-internal" + ], + [ + "@kbn/core-user-profile-server-mocks", + "src/core/packages/user-profile/server-mocks" + ], + [ + "@kbn/core-user-settings-server", + "src/core/packages/user-settings/server" + ], + [ + "@kbn/core-user-settings-server-internal", + "src/core/packages/user-settings/server-internal" + ], + [ + "@kbn/core-user-settings-server-mocks", + "src/core/packages/user-settings/server-mocks" + ], + [ + "@kbn/cross-cluster-replication-plugin", + "x-pack/platform/plugins/private/cross_cluster_replication" + ], + [ + "@kbn/crypto", + "src/platform/packages/shared/kbn-crypto" + ], + [ + "@kbn/crypto-browser", + "src/platform/packages/shared/kbn-crypto-browser" + ], + [ + "@kbn/custom-branding-plugin", + "x-pack/platform/plugins/private/custom_branding" + ], + [ + "@kbn/custom-icons", + "src/platform/packages/shared/kbn-custom-icons" + ], + [ + "@kbn/custom-integrations", + "x-pack/solutions/observability/packages/kbn-custom-integrations" + ], + [ + "@kbn/custom-integrations-plugin", + "src/platform/plugins/shared/custom_integrations" + ], + [ + "@kbn/cypress-config", + "packages/kbn-cypress-config" + ], + [ + "@kbn/dashboard-enhanced-plugin", + "x-pack/platform/plugins/shared/dashboard_enhanced" + ], + [ + "@kbn/dashboard-plugin", + "src/platform/plugins/shared/dashboard" + ], + [ + "@kbn/data-forge", + "x-pack/platform/packages/shared/kbn-data-forge" + ], + [ + "@kbn/data-plugin", + "src/platform/plugins/shared/data" + ], + [ + "@kbn/data-quality-plugin", + "x-pack/platform/plugins/shared/data_quality" + ], + [ + "@kbn/data-search-plugin", + "test/plugin_functional/plugins/data_search" + ], + [ + "@kbn/data-service", + "src/platform/packages/shared/kbn-data-service" + ], + [ + "@kbn/data-stream-adapter", + "x-pack/solutions/security/packages/data-stream-adapter" + ], + [ + "@kbn/data-usage-plugin", + "x-pack/platform/plugins/private/data_usage" + ], + [ + "@kbn/data-view-editor-plugin", + "src/platform/plugins/shared/data_view_editor" + ], + [ + "@kbn/data-view-field-editor-example-plugin", + "examples/data_view_field_editor_example" + ], + [ + "@kbn/data-view-field-editor-plugin", + "src/platform/plugins/shared/data_view_field_editor" + ], + [ + "@kbn/data-view-management-plugin", + "src/platform/plugins/shared/data_view_management" + ], + [ + "@kbn/data-view-utils", + "src/platform/packages/shared/kbn-data-view-utils" + ], + [ + "@kbn/data-views-plugin", + "src/platform/plugins/shared/data_views" + ], + [ + "@kbn/data-visualizer-plugin", + "x-pack/platform/plugins/private/data_visualizer" + ], + [ + "@kbn/dataset-quality-plugin", + "x-pack/platform/plugins/shared/dataset_quality" + ], + [ + "@kbn/datemath", + "src/platform/packages/shared/kbn-datemath" + ], + [ + "@kbn/deeplinks-analytics", + "src/platform/packages/shared/deeplinks/analytics" + ], + [ + "@kbn/deeplinks-devtools", + "src/platform/packages/shared/deeplinks/devtools" + ], + [ + "@kbn/deeplinks-fleet", + "src/platform/packages/shared/deeplinks/fleet" + ], + [ + "@kbn/deeplinks-management", + "src/platform/packages/shared/deeplinks/management" + ], + [ + "@kbn/deeplinks-ml", + "src/platform/packages/shared/deeplinks/ml" + ], + [ + "@kbn/deeplinks-observability", + "src/platform/packages/shared/deeplinks/observability" + ], + [ + "@kbn/deeplinks-search", + "src/platform/packages/shared/deeplinks/search" + ], + [ + "@kbn/deeplinks-security", + "src/platform/packages/shared/deeplinks/security" + ], + [ + "@kbn/deeplinks-shared", + "src/platform/packages/shared/deeplinks/shared" + ], + [ + "@kbn/default-nav-analytics", + "src/platform/packages/private/default-nav/analytics" + ], + [ + "@kbn/default-nav-devtools", + "src/platform/packages/private/default-nav/devtools" + ], + [ + "@kbn/default-nav-management", + "src/platform/packages/private/default-nav/management" + ], + [ + "@kbn/default-nav-ml", + "src/platform/packages/private/default-nav/ml" + ], + [ + "@kbn/dependency-usage", + "packages/kbn-dependency-usage" + ], + [ + "@kbn/dev-cli-errors", + "packages/kbn-dev-cli-errors" + ], + [ + "@kbn/dev-cli-runner", + "packages/kbn-dev-cli-runner" + ], + [ + "@kbn/dev-proc-runner", + "packages/kbn-dev-proc-runner" + ], + [ + "@kbn/dev-tools-plugin", + "src/platform/plugins/shared/dev_tools" + ], + [ + "@kbn/dev-utils", + "packages/kbn-dev-utils" + ], + [ + "@kbn/developer-examples-plugin", + "examples/developer_examples" + ], + [ + "@kbn/discover-contextual-components", + "src/platform/packages/shared/kbn-discover-contextual-components" + ], + [ + "@kbn/discover-customization-examples-plugin", + "examples/discover_customization_examples" + ], + [ + "@kbn/discover-enhanced-plugin", + "x-pack/platform/plugins/private/discover_enhanced" + ], + [ + "@kbn/discover-plugin", + "src/platform/plugins/shared/discover" + ], + [ + "@kbn/discover-shared-plugin", + "src/platform/plugins/shared/discover_shared" + ], + [ + "@kbn/discover-utils", + "src/platform/packages/shared/kbn-discover-utils" + ], + [ + "@kbn/doc-links", + "src/platform/packages/shared/kbn-doc-links" + ], + [ + "@kbn/docs-utils", + "packages/kbn-docs-utils" + ], + [ + "@kbn/dom-drag-drop", + "src/platform/packages/shared/kbn-dom-drag-drop" + ], + [ + "@kbn/ebt-tools", + "src/platform/packages/shared/kbn-ebt-tools" + ], + [ + "@kbn/ecs-data-quality-dashboard", + "x-pack/solutions/security/packages/ecs_data_quality_dashboard" + ], + [ + "@kbn/ecs-data-quality-dashboard-plugin", + "x-pack/solutions/security/plugins/ecs_data_quality_dashboard" + ], + [ + "@kbn/elastic-agent-utils", + "src/platform/packages/shared/kbn-elastic-agent-utils" + ], + [ + "@kbn/elastic-assistant", + "x-pack/platform/packages/shared/kbn-elastic-assistant" + ], + [ + "@kbn/elastic-assistant-common", + "x-pack/platform/packages/shared/kbn-elastic-assistant-common" + ], + [ + "@kbn/elastic-assistant-plugin", + "x-pack/solutions/security/plugins/elastic_assistant" + ], + [ + "@kbn/elasticsearch-client-plugin", + "test/plugin_functional/plugins/elasticsearch_client_plugin" + ], + [ + "@kbn/elasticsearch-client-xpack-plugin", + "x-pack/test/plugin_api_integration/plugins/elasticsearch_client" + ], + [ + "@kbn/embeddable-enhanced-plugin", + "x-pack/platform/plugins/shared/embeddable_enhanced" + ], + [ + "@kbn/embeddable-examples-plugin", + "examples/embeddable_examples" + ], + [ + "@kbn/embeddable-plugin", + "src/platform/plugins/shared/embeddable" + ], + [ + "@kbn/embedded-lens-example-plugin", + "x-pack/examples/embedded_lens_example" + ], + [ + "@kbn/encrypted-saved-objects-plugin", + "x-pack/platform/plugins/shared/encrypted_saved_objects" + ], + [ + "@kbn/enterprise-search-plugin", + "x-pack/solutions/search/plugins/enterprise_search" + ], + [ + "@kbn/entities-data-access-plugin", + "x-pack/solutions/observability/plugins/entities_data_access" + ], + [ + "@kbn/entities-schema", + "x-pack/platform/packages/shared/kbn-entities-schema" + ], + [ + "@kbn/entity-manager-fixture-plugin", + "x-pack/test/api_integration/apis/entity_manager/fixture_plugin" + ], + [ + "@kbn/entityManager-app-plugin", + "x-pack/solutions/observability/plugins/entity_manager_app" + ], + [ + "@kbn/entityManager-plugin", + "x-pack/platform/plugins/shared/entity_manager" + ], + [ + "@kbn/error-boundary-example-plugin", + "examples/error_boundary" + ], + [ + "@kbn/es", + "packages/kbn-es" + ], + [ + "@kbn/es-archiver", + "packages/kbn-es-archiver" + ], + [ + "@kbn/es-errors", + "src/platform/packages/shared/kbn-es-errors" + ], + [ + "@kbn/es-query", + "src/platform/packages/shared/kbn-es-query" + ], + [ + "@kbn/es-types", + "src/platform/packages/shared/kbn-es-types" + ], + [ + "@kbn/es-ui-shared-plugin", + "src/platform/plugins/shared/es_ui_shared" + ], + [ + "@kbn/eslint-config", + "packages/kbn-eslint-config" + ], + [ + "@kbn/eslint-plugin-css", + "packages/kbn-eslint-plugin-css" + ], + [ + "@kbn/eslint-plugin-disable", + "packages/kbn-eslint-plugin-disable" + ], + [ + "@kbn/eslint-plugin-eslint", + "packages/kbn-eslint-plugin-eslint" + ], + [ + "@kbn/eslint-plugin-i18n", + "packages/kbn-eslint-plugin-i18n" + ], + [ + "@kbn/eslint-plugin-imports", + "packages/kbn-eslint-plugin-imports" + ], + [ + "@kbn/eslint-plugin-telemetry", + "packages/kbn-eslint-plugin-telemetry" + ], + [ + "@kbn/eso-model-version-example", + "examples/eso_model_version_example" + ], + [ + "@kbn/eso-plugin", + "x-pack/test/encrypted_saved_objects_api_integration/plugins/api_consumer_plugin" + ], + [ + "@kbn/esql", + "src/platform/plugins/shared/esql" + ], + [ + "@kbn/esql-ast", + "src/platform/packages/shared/kbn-esql-ast" + ], + [ + "@kbn/esql-ast-inspector-plugin", + "examples/esql_ast_inspector" + ], + [ + "@kbn/esql-datagrid", + "src/platform/plugins/shared/esql_datagrid" + ], + [ + "@kbn/esql-editor", + "src/platform/packages/private/kbn-esql-editor" + ], + [ + "@kbn/esql-utils", + "src/platform/packages/shared/kbn-esql-utils" + ], + [ + "@kbn/esql-validation-autocomplete", + "src/platform/packages/shared/kbn-esql-validation-autocomplete" + ], + [ + "@kbn/esql-validation-example-plugin", + "examples/esql_validation_example" + ], + [ + "@kbn/eui-provider-dev-warning", + "test/plugin_functional/plugins/eui_provider_dev_warning" + ], + [ + "@kbn/event-annotation-common", + "src/platform/packages/shared/kbn-event-annotation-common" + ], + [ + "@kbn/event-annotation-components", + "src/platform/packages/shared/kbn-event-annotation-components" + ], + [ + "@kbn/event-annotation-listing-plugin", + "src/platform/plugins/private/event_annotation_listing" + ], + [ + "@kbn/event-annotation-plugin", + "src/platform/plugins/private/event_annotation" + ], + [ + "@kbn/event-log-fixture-plugin", + "x-pack/test/plugin_api_integration/plugins/event_log" + ], + [ + "@kbn/event-log-plugin", + "x-pack/platform/plugins/shared/event_log" + ], + [ + "@kbn/expandable-flyout", + "x-pack/solutions/security/packages/expandable-flyout" + ], + [ + "@kbn/expect", + "packages/kbn-expect" + ], + [ + "@kbn/exploratory-view-example-plugin", + "x-pack/examples/exploratory_view_example" + ], + [ + "@kbn/exploratory-view-plugin", + "x-pack/solutions/observability/plugins/exploratory_view" + ], + [ + "@kbn/expression-error-plugin", + "src/platform/plugins/shared/expression_error" + ], + [ + "@kbn/expression-gauge-plugin", + "src/platform/plugins/shared/chart_expressions/expression_gauge" + ], + [ + "@kbn/expression-heatmap-plugin", + "src/platform/plugins/shared/chart_expressions/expression_heatmap" + ], + [ + "@kbn/expression-image-plugin", + "src/platform/plugins/shared/expression_image" + ], + [ + "@kbn/expression-legacy-metric-vis-plugin", + "src/platform/plugins/shared/chart_expressions/expression_legacy_metric" + ], + [ + "@kbn/expression-metric-plugin", + "src/platform/plugins/shared/expression_metric" + ], + [ + "@kbn/expression-metric-vis-plugin", + "src/platform/plugins/shared/chart_expressions/expression_metric" + ], + [ + "@kbn/expression-partition-vis-plugin", + "src/platform/plugins/shared/chart_expressions/expression_partition_vis" + ], + [ + "@kbn/expression-repeat-image-plugin", + "src/platform/plugins/shared/expression_repeat_image" + ], + [ + "@kbn/expression-reveal-image-plugin", + "src/platform/plugins/shared/expression_reveal_image" + ], + [ + "@kbn/expression-shape-plugin", + "src/platform/plugins/shared/expression_shape" + ], + [ + "@kbn/expression-tagcloud-plugin", + "src/platform/plugins/shared/chart_expressions/expression_tagcloud" + ], + [ + "@kbn/expression-xy-plugin", + "src/platform/plugins/shared/chart_expressions/expression_xy" + ], + [ + "@kbn/expressions-explorer-plugin", + "examples/expressions_explorer" + ], + [ + "@kbn/expressions-plugin", + "src/platform/plugins/shared/expressions" + ], + [ + "@kbn/failed-test-reporter-cli", + "packages/kbn-failed-test-reporter-cli" + ], + [ + "@kbn/feature-controls-examples-plugin", + "examples/feature_control_examples" + ], + [ + "@kbn/feature-flags-example-plugin", + "examples/feature_flags_example" + ], + [ + "@kbn/feature-usage-test-plugin", + "x-pack/test/plugin_api_integration/plugins/feature_usage_test" + ], + [ + "@kbn/features-plugin", + "x-pack/platform/plugins/shared/features" + ], + [ + "@kbn/features-provider-plugin", + "x-pack/test/security_api_integration/plugins/features_provider" + ], + [ + "@kbn/fec-alerts-test-plugin", + "x-pack/test/functional_execution_context/plugins/alerts" + ], + [ + "@kbn/field-formats-example-plugin", + "examples/field_formats_example" + ], + [ + "@kbn/field-formats-plugin", + "src/platform/plugins/shared/field_formats" + ], + [ + "@kbn/field-types", + "src/platform/packages/shared/kbn-field-types" + ], + [ + "@kbn/field-utils", + "src/platform/packages/shared/kbn-field-utils" + ], + [ + "@kbn/fields-metadata-plugin", + "x-pack/platform/plugins/shared/fields_metadata" + ], + [ + "@kbn/file-upload-plugin", + "x-pack/platform/plugins/private/file_upload" + ], + [ + "@kbn/files-example-plugin", + "examples/files_example" + ], + [ + "@kbn/files-management-plugin", + "src/platform/plugins/private/files_management" + ], + [ + "@kbn/files-plugin", + "src/platform/plugins/shared/files" + ], + [ + "@kbn/find-used-node-modules", + "packages/kbn-find-used-node-modules" + ], + [ + "@kbn/fleet-plugin", + "x-pack/platform/plugins/shared/fleet" + ], + [ + "@kbn/flot-charts", + "src/platform/packages/shared/kbn-flot-charts" + ], + [ + "@kbn/foo-plugin", + "x-pack/test/ui_capabilities/common/plugins/foo_plugin" + ], + [ + "@kbn/ftr-apis-plugin", + "src/platform/plugins/private/ftr_apis" + ], + [ + "@kbn/ftr-common-functional-services", + "packages/kbn-ftr-common-functional-services" + ], + [ + "@kbn/ftr-common-functional-ui-services", + "packages/kbn-ftr-common-functional-ui-services" + ], + [ + "@kbn/ftr-screenshot-filename", + "packages/kbn-ftr-screenshot-filename" + ], + [ + "@kbn/functional-with-es-ssl-cases-test-plugin", + "x-pack/test/functional_with_es_ssl/plugins/cases" + ], + [ + "@kbn/gen-ai-functional-testing", + "packages/kbn-gen-ai-functional-testing" + ], + [ + "@kbn/gen-ai-streaming-response-example-plugin", + "x-pack/examples/gen_ai_streaming_response_example" + ], + [ + "@kbn/generate", + "packages/kbn-generate" + ], + [ + "@kbn/generate-console-definitions", + "packages/kbn-generate-console-definitions" + ], + [ + "@kbn/generate-csv", + "src/platform/packages/private/kbn-generate-csv" + ], + [ + "@kbn/get-repo-files", + "packages/kbn-get-repo-files" + ], + [ + "@kbn/global-search-bar-plugin", + "x-pack/platform/plugins/private/global_search_bar" + ], + [ + "@kbn/global-search-plugin", + "x-pack/platform/plugins/shared/global_search" + ], + [ + "@kbn/global-search-providers-plugin", + "x-pack/platform/plugins/private/global_search_providers" + ], + [ + "@kbn/global-search-test-plugin", + "x-pack/test/plugin_functional/plugins/global_search_test" + ], + [ + "@kbn/graph-plugin", + "x-pack/platform/plugins/private/graph" + ], + [ + "@kbn/grid-example-plugin", + "examples/grid_example" + ], + [ + "@kbn/grid-layout", + "src/platform/packages/private/kbn-grid-layout" + ], + [ + "@kbn/grokdebugger-plugin", + "x-pack/platform/plugins/private/grokdebugger" + ], + [ + "@kbn/grouping", + "src/platform/packages/shared/kbn-grouping" + ], + [ + "@kbn/guided-onboarding", + "src/platform/packages/shared/kbn-guided-onboarding" + ], + [ + "@kbn/guided-onboarding-example-plugin", + "examples/guided_onboarding_example" + ], + [ + "@kbn/guided-onboarding-plugin", + "src/platform/plugins/shared/guided_onboarding" + ], + [ + "@kbn/handlebars", + "src/platform/packages/private/kbn-handlebars" + ], + [ + "@kbn/hapi-mocks", + "src/platform/packages/private/kbn-hapi-mocks" + ], + [ + "@kbn/hardening-plugin", + "test/plugin_functional/plugins/hardening" + ], + [ + "@kbn/health-gateway-server", + "src/platform/packages/private/kbn-health-gateway-server" + ], + [ + "@kbn/hello-world-plugin", + "examples/hello_world" + ], + [ + "@kbn/home-plugin", + "src/platform/plugins/shared/home" + ], + [ + "@kbn/home-sample-data-card", + "src/platform/packages/shared/home/sample_data_card" + ], + [ + "@kbn/home-sample-data-tab", + "src/platform/packages/shared/home/sample_data_tab" + ], + [ + "@kbn/home-sample-data-types", + "src/platform/packages/shared/home/sample_data_types" + ], + [ + "@kbn/i18n", + "src/platform/packages/shared/kbn-i18n" + ], + [ + "@kbn/i18n-react", + "src/platform/packages/shared/kbn-i18n-react" + ], + [ + "@kbn/iframe-embedded-plugin", + "x-pack/test/functional_embedded/plugins/iframe_embedded" + ], + [ + "@kbn/image-embeddable-plugin", + "src/platform/plugins/private/image_embeddable" + ], + [ + "@kbn/import-locator", + "packages/kbn-import-locator" + ], + [ + "@kbn/import-resolver", + "packages/kbn-import-resolver" + ], + [ + "@kbn/index-adapter", + "x-pack/solutions/security/packages/index-adapter" + ], + [ + "@kbn/index-lifecycle-management-common-shared", + "x-pack/platform/packages/shared/index-lifecycle-management/index_lifecycle_management_common_shared" + ], + [ + "@kbn/index-lifecycle-management-plugin", + "x-pack/platform/plugins/private/index_lifecycle_management" + ], + [ + "@kbn/index-management-plugin", + "x-pack/platform/plugins/shared/index_management" + ], + [ + "@kbn/index-management-shared-types", + "x-pack/platform/packages/shared/index-management/index_management_shared_types" + ], + [ + "@kbn/index-patterns-test-plugin", + "test/plugin_functional/plugins/index_patterns" + ], + [ + "@kbn/inference_integration_flyout", + "x-pack/platform/packages/private/ml/inference_integration_flyout" + ], + [ + "@kbn/inference-common", + "x-pack/platform/packages/shared/ai-infra/inference-common" + ], + [ + "@kbn/inference-endpoint-plugin", + "x-pack/platform/plugins/shared/inference_endpoint" + ], + [ + "@kbn/inference-endpoint-ui-common", + "x-pack/platform/packages/shared/kbn-inference-endpoint-ui-common" + ], + [ + "@kbn/inference-plugin", + "x-pack/platform/plugins/shared/inference" + ], + [ + "@kbn/infra-forge", + "x-pack/platform/packages/private/kbn-infra-forge" + ], + [ + "@kbn/infra-plugin", + "x-pack/solutions/observability/plugins/infra" + ], + [ + "@kbn/ingest-pipelines-plugin", + "x-pack/platform/plugins/shared/ingest_pipelines" + ], + [ + "@kbn/input-control-vis-plugin", + "src/platform/plugins/private/input_control_vis" + ], + [ + "@kbn/inspector-plugin", + "src/platform/plugins/shared/inspector" + ], + [ + "@kbn/integration-assistant-plugin", + "x-pack/platform/plugins/shared/integration_assistant" + ], + [ + "@kbn/interactive-setup-plugin", + "src/platform/plugins/private/interactive_setup" + ], + [ + "@kbn/interactive-setup-test-endpoints-plugin", + "test/interactive_setup_api_integration/plugins/test_endpoints" + ], + [ + "@kbn/interpreter", + "src/platform/packages/shared/kbn-interpreter" + ], + [ + "@kbn/inventory-e2e", + "x-pack/solutions/observability/plugins/inventory/e2e" + ], + [ + "@kbn/inventory-plugin", + "x-pack/solutions/observability/plugins/inventory" + ], + [ + "@kbn/investigate-app-plugin", + "x-pack/solutions/observability/plugins/investigate_app" + ], + [ + "@kbn/investigate-plugin", + "x-pack/solutions/observability/plugins/investigate" + ], + [ + "@kbn/investigation-shared", + "x-pack/solutions/observability/packages/kbn-investigation-shared" + ], + [ + "@kbn/io-ts-utils", + "src/platform/packages/shared/kbn-io-ts-utils" + ], + [ + "@kbn/ipynb", + "x-pack/solutions/search/packages/kbn-ipynb" + ], + [ + "@kbn/jest-serializers", + "packages/kbn-jest-serializers" + ], + [ + "@kbn/journeys", + "packages/kbn-journeys" + ], + [ + "@kbn/json-ast", + "packages/kbn-json-ast" + ], + [ + "@kbn/json-schemas", + "x-pack/platform/packages/private/ml/json_schemas" + ], + [ + "@kbn/kbn-health-gateway-status-plugin", + "test/health_gateway/plugins/status" + ], + [ + "@kbn/kbn-sample-panel-action-plugin", + "test/plugin_functional/plugins/kbn_sample_panel_action" + ], + [ + "@kbn/kbn-top-nav-plugin", + "test/plugin_functional/plugins/kbn_top_nav" + ], + [ + "@kbn/kbn-tp-custom-visualizations-plugin", + "test/plugin_functional/plugins/kbn_tp_custom_visualizations" + ], + [ + "@kbn/kbn-tp-run-pipeline-plugin", + "test/interpreter_functional/plugins/kbn_tp_run_pipeline" + ], + [ + "@kbn/kibana-cors-test-plugin", + "x-pack/test/functional_cors/plugins/kibana_cors_test" + ], + [ + "@kbn/kibana-manifest-schema", + "packages/kbn-kibana-manifest-schema" + ], + [ + "@kbn/kibana-overview-plugin", + "src/platform/plugins/private/kibana_overview" + ], + [ + "@kbn/kibana-react-plugin", + "src/platform/plugins/shared/kibana_react" + ], + [ + "@kbn/kibana-usage-collection-plugin", + "src/platform/plugins/private/kibana_usage_collection" + ], + [ + "@kbn/kibana-utils-plugin", + "src/platform/plugins/shared/kibana_utils" + ], + [ + "@kbn/kubernetes-security-plugin", + "x-pack/solutions/security/plugins/kubernetes_security" + ], + [ + "@kbn/langchain", + "x-pack/platform/packages/shared/kbn-langchain" + ], + [ + "@kbn/language-documentation", + "src/platform/packages/private/kbn-language-documentation" + ], + [ + "@kbn/lens-config-builder-example-plugin", + "x-pack/examples/lens_config_builder_example" + ], + [ + "@kbn/lens-embeddable-utils", + "src/platform/packages/shared/kbn-lens-embeddable-utils" + ], + [ + "@kbn/lens-formula-docs", + "src/platform/packages/private/kbn-lens-formula-docs" + ], + [ + "@kbn/lens-inline-editing-example-plugin", + "x-pack/examples/lens_embeddable_inline_editing_example" + ], + [ + "@kbn/lens-plugin", + "x-pack/platform/plugins/shared/lens" + ], + [ + "@kbn/license-api-guard-plugin", + "x-pack/platform/plugins/private/license_api_guard" + ], + [ + "@kbn/license-management-plugin", + "x-pack/platform/plugins/shared/license_management" + ], + [ + "@kbn/licensing-plugin", + "x-pack/platform/plugins/shared/licensing" + ], + [ + "@kbn/links-plugin", + "src/platform/plugins/private/links" + ], + [ + "@kbn/lint-packages-cli", + "packages/kbn-lint-packages-cli" + ], + [ + "@kbn/lint-ts-projects-cli", + "packages/kbn-lint-ts-projects-cli" + ], + [ + "@kbn/lists-plugin", + "x-pack/solutions/security/plugins/lists" + ], + [ + "@kbn/llm-tasks-plugin", + "x-pack/platform/plugins/shared/ai_infra/llm_tasks" + ], + [ + "@kbn/locator-examples-plugin", + "examples/locator_examples" + ], + [ + "@kbn/locator-explorer-plugin", + "examples/locator_explorer" + ], + [ + "@kbn/logging", + "src/platform/packages/shared/kbn-logging" + ], + [ + "@kbn/logging-mocks", + "src/platform/packages/shared/kbn-logging-mocks" + ], + [ + "@kbn/logs-data-access-plugin", + "x-pack/platform/plugins/shared/logs_data_access" + ], + [ + "@kbn/logs-explorer-plugin", + "x-pack/solutions/observability/plugins/logs_explorer" + ], + [ + "@kbn/logs-shared-plugin", + "x-pack/platform/plugins/shared/logs_shared" + ], + [ + "@kbn/logstash-plugin", + "x-pack/platform/plugins/private/logstash" + ], + [ + "@kbn/managed-content-badge", + "src/platform/packages/private/kbn-managed-content-badge" + ], + [ + "@kbn/managed-vscode-config", + "packages/kbn-managed-vscode-config" + ], + [ + "@kbn/managed-vscode-config-cli", + "packages/kbn-managed-vscode-config-cli" + ], + [ + "@kbn/management-cards-navigation", + "src/platform/packages/shared/kbn-management/cards_navigation" + ], + [ + "@kbn/management-plugin", + "src/platform/plugins/shared/management" + ], + [ + "@kbn/management-settings-application", + "src/platform/packages/private/kbn-management/settings/application" + ], + [ + "@kbn/management-settings-components-field-category", + "src/platform/packages/private/kbn-management/settings/components/field_category" + ], + [ + "@kbn/management-settings-components-field-input", + "src/platform/packages/shared/kbn-management/settings/components/field_input" + ], + [ + "@kbn/management-settings-components-field-row", + "src/platform/packages/shared/kbn-management/settings/components/field_row" + ], + [ + "@kbn/management-settings-components-form", + "src/platform/packages/private/kbn-management/settings/components/form" + ], + [ + "@kbn/management-settings-field-definition", + "src/platform/packages/shared/kbn-management/settings/field_definition" + ], + [ + "@kbn/management-settings-ids", + "src/platform/packages/shared/kbn-management/settings/setting_ids" + ], + [ + "@kbn/management-settings-section-registry", + "src/platform/packages/shared/kbn-management/settings/section_registry" + ], + [ + "@kbn/management-settings-types", + "src/platform/packages/shared/kbn-management/settings/types" + ], + [ + "@kbn/management-settings-utilities", + "src/platform/packages/shared/kbn-management/settings/utilities" + ], + [ + "@kbn/management-storybook-config", + "packages/kbn-management/storybook/config" + ], + [ + "@kbn/management-test-plugin", + "test/plugin_functional/plugins/management_test_plugin" + ], + [ + "@kbn/manifest", + "packages/kbn-manifest" + ], + [ + "@kbn/mapbox-gl", + "src/platform/packages/private/kbn-mapbox-gl" + ], + [ + "@kbn/maps-custom-raster-source-plugin", + "x-pack/examples/third_party_maps_source_example" + ], + [ + "@kbn/maps-ems-plugin", + "src/platform/plugins/private/maps_ems" + ], + [ + "@kbn/maps-plugin", + "x-pack/platform/plugins/shared/maps" + ], + [ + "@kbn/maps-vector-tile-utils", + "x-pack/platform/packages/private/maps/vector_tile_utils" + ], + [ + "@kbn/metrics-data-access-plugin", + "x-pack/solutions/observability/plugins/metrics_data_access" + ], + [ + "@kbn/ml-agg-utils", + "x-pack/platform/packages/private/ml/agg_utils" + ], + [ + "@kbn/ml-anomaly-utils", + "x-pack/platform/packages/shared/ml/anomaly_utils" + ], + [ + "@kbn/ml-cancellable-search", + "x-pack/platform/packages/private/ml/cancellable_search" + ], + [ + "@kbn/ml-category-validator", + "x-pack/platform/packages/private/ml/category_validator" + ], + [ + "@kbn/ml-chi2test", + "x-pack/platform/packages/shared/ml/chi2test" + ], + [ + "@kbn/ml-creation-wizard-utils", + "x-pack/platform/packages/private/ml/creation_wizard_utils" + ], + [ + "@kbn/ml-data-frame-analytics-utils", + "x-pack/platform/packages/private/ml/data_frame_analytics_utils" + ], + [ + "@kbn/ml-data-grid", + "x-pack/platform/packages/private/ml/data_grid" + ], + [ + "@kbn/ml-data-view-utils", + "x-pack/platform/packages/private/ml/data_view_utils" + ], + [ + "@kbn/ml-date-picker", + "x-pack/platform/packages/private/ml/date_picker" + ], + [ + "@kbn/ml-date-utils", + "x-pack/platform/packages/private/ml/date_utils" + ], + [ + "@kbn/ml-error-utils", + "x-pack/platform/packages/shared/ml/error_utils" + ], + [ + "@kbn/ml-field-stats-flyout", + "x-pack/platform/packages/private/ml/field_stats_flyout" + ], + [ + "@kbn/ml-in-memory-table", + "x-pack/platform/packages/private/ml/in_memory_table" + ], + [ + "@kbn/ml-is-defined", + "x-pack/platform/packages/private/ml/is_defined" + ], + [ + "@kbn/ml-is-populated-object", + "x-pack/platform/packages/private/ml/is_populated_object" + ], + [ + "@kbn/ml-kibana-theme", + "x-pack/platform/packages/private/ml/kibana_theme" + ], + [ + "@kbn/ml-local-storage", + "x-pack/platform/packages/private/ml/local_storage" + ], + [ + "@kbn/ml-nested-property", + "x-pack/platform/packages/private/ml/nested_property" + ], + [ + "@kbn/ml-number-utils", + "x-pack/platform/packages/private/ml/number_utils" + ], + [ + "@kbn/ml-parse-interval", + "x-pack/platform/packages/private/ml/parse_interval" + ], + [ + "@kbn/ml-plugin", + "x-pack/platform/plugins/shared/ml" + ], + [ + "@kbn/ml-query-utils", + "x-pack/platform/packages/private/ml/query_utils" + ], + [ + "@kbn/ml-random-sampler-utils", + "x-pack/platform/packages/shared/ml/random_sampler_utils" + ], + [ + "@kbn/ml-response-stream", + "x-pack/platform/packages/shared/ml/response_stream" + ], + [ + "@kbn/ml-route-utils", + "x-pack/platform/packages/private/ml/route_utils" + ], + [ + "@kbn/ml-runtime-field-utils", + "x-pack/platform/packages/shared/ml/runtime_field_utils" + ], + [ + "@kbn/ml-string-hash", + "x-pack/platform/packages/private/ml/string_hash" + ], + [ + "@kbn/ml-time-buckets", + "x-pack/platform/packages/private/ml/time_buckets" + ], + [ + "@kbn/ml-trained-models-utils", + "x-pack/platform/packages/shared/ml/trained_models_utils" + ], + [ + "@kbn/ml-ui-actions", + "x-pack/platform/packages/private/ml/ui_actions" + ], + [ + "@kbn/ml-url-state", + "x-pack/platform/packages/private/ml/url_state" + ], + [ + "@kbn/ml-validators", + "x-pack/platform/packages/private/ml/validators" + ], + [ + "@kbn/mock-idp-plugin", + "packages/kbn-mock-idp-plugin" + ], + [ + "@kbn/mock-idp-utils", + "packages/kbn-mock-idp-utils" + ], + [ + "@kbn/monaco", + "src/platform/packages/shared/kbn-monaco" + ], + [ + "@kbn/monitoring-collection-plugin", + "x-pack/platform/plugins/private/monitoring_collection" + ], + [ + "@kbn/monitoring-plugin", + "x-pack/platform/plugins/private/monitoring" + ], + [ + "@kbn/navigation-plugin", + "src/platform/plugins/shared/navigation" + ], + [ + "@kbn/newsfeed-plugin", + "src/platform/plugins/shared/newsfeed" + ], + [ + "@kbn/newsfeed-test-plugin", + "test/common/plugins/newsfeed" + ], + [ + "@kbn/no-data-page-plugin", + "src/platform/plugins/private/no_data_page" + ], + [ + "@kbn/notifications-plugin", + "x-pack/platform/plugins/shared/notifications" + ], + [ + "@kbn/object-utils", + "src/platform/packages/shared/kbn-object-utils" + ], + [ + "@kbn/object-versioning", + "src/platform/packages/shared/kbn-object-versioning" + ], + [ + "@kbn/object-versioning-utils", + "src/platform/packages/shared/kbn-object-versioning-utils" + ], + [ + "@kbn/observability-ai-assistant-app-plugin", + "x-pack/solutions/observability/plugins/observability_ai_assistant_app" + ], + [ + "@kbn/observability-ai-assistant-management-plugin", + "x-pack/solutions/observability/plugins/observability_ai_assistant_management" + ], + [ + "@kbn/observability-ai-assistant-plugin", + "x-pack/platform/plugins/shared/observability_solution/observability_ai_assistant" + ], + [ + "@kbn/observability-ai-common", + "x-pack/solutions/observability/packages/observability_ai/observability_ai_common" + ], + [ + "@kbn/observability-ai-server", + "x-pack/solutions/observability/packages/observability_ai/observability_ai_server" + ], + [ + "@kbn/observability-alert-details", + "x-pack/solutions/observability/packages/alert_details" + ], + [ + "@kbn/observability-alerting-rule-utils", + "x-pack/platform/packages/shared/observability/alerting_rule_utils" + ], + [ + "@kbn/observability-alerting-test-data", + "x-pack/solutions/observability/packages/alerting_test_data" + ], + [ + "@kbn/observability-fixtures-plugin", + "x-pack/test/cases_api_integration/common/plugins/observability" + ], + [ + "@kbn/observability-get-padded-alert-time-range-util", + "x-pack/solutions/observability/packages/get_padded_alert_time_range_util" + ], + [ + "@kbn/observability-logs-explorer-plugin", + "x-pack/solutions/observability/plugins/observability_logs_explorer" + ], + [ + "@kbn/observability-logs-overview", + "x-pack/platform/packages/shared/observability/logs_overview" + ], + [ + "@kbn/observability-onboarding-e2e", + "x-pack/solutions/observability/plugins/observability_onboarding/e2e" + ], + [ + "@kbn/observability-onboarding-plugin", + "x-pack/solutions/observability/plugins/observability_onboarding" + ], + [ + "@kbn/observability-plugin", + "x-pack/solutions/observability/plugins/observability" + ], + [ + "@kbn/observability-shared-plugin", + "x-pack/solutions/observability/plugins/observability_shared" + ], + [ + "@kbn/observability-synthetics-test-data", + "x-pack/solutions/observability/packages/synthetics_test_data" + ], + [ + "@kbn/observability-utils-browser", + "x-pack/solutions/observability/packages/utils_browser" + ], + [ + "@kbn/observability-utils-common", + "x-pack/solutions/observability/packages/utils_common" + ], + [ + "@kbn/observability-utils-server", + "x-pack/solutions/observability/packages/utils_server" + ], + [ + "@kbn/oidc-provider-plugin", + "x-pack/test/security_api_integration/plugins/oidc_provider" + ], + [ + "@kbn/open-telemetry-instrumented-plugin", + "test/common/plugins/otel_metrics" + ], + [ + "@kbn/openapi-bundler", + "packages/kbn-openapi-bundler" + ], + [ + "@kbn/openapi-common", + "src/platform/packages/shared/kbn-openapi-common" + ], + [ + "@kbn/openapi-generator", + "packages/kbn-openapi-generator" + ], + [ + "@kbn/optimizer", + "packages/kbn-optimizer" + ], + [ + "@kbn/optimizer-webpack-helpers", + "packages/kbn-optimizer-webpack-helpers" + ], + [ + "@kbn/osquery-io-ts-types", + "src/platform/packages/shared/kbn-osquery-io-ts-types" + ], + [ + "@kbn/osquery-plugin", + "x-pack/platform/plugins/shared/osquery" + ], + [ + "@kbn/paertial-results-example-plugin", + "examples/partial_results_example" + ], + [ + "@kbn/painless-lab-plugin", + "x-pack/platform/plugins/private/painless_lab" + ], + [ + "@kbn/panel-loader", + "src/platform/packages/private/kbn-panel-loader" + ], + [ + "@kbn/peggy", + "packages/kbn-peggy" + ], + [ + "@kbn/peggy-loader", + "packages/kbn-peggy-loader" + ], + [ + "@kbn/performance-testing-dataset-extractor", + "packages/kbn-performance-testing-dataset-extractor" + ], + [ + "@kbn/picomatcher", + "packages/kbn-picomatcher" + ], + [ + "@kbn/plugin-check", + "packages/kbn-plugin-check" + ], + [ + "@kbn/plugin-generator", + "packages/kbn-plugin-generator" + ], + [ + "@kbn/plugin-helpers", + "packages/kbn-plugin-helpers" + ], + [ + "@kbn/portable-dashboards-example", + "examples/portable_dashboards_example" + ], + [ + "@kbn/preboot-example-plugin", + "examples/preboot_example" + ], + [ + "@kbn/presentation-containers", + "src/platform/packages/shared/presentation/presentation_containers" + ], + [ + "@kbn/presentation-panel-plugin", + "src/platform/plugins/private/presentation_panel" + ], + [ + "@kbn/presentation-publishing", + "src/platform/packages/shared/presentation/presentation_publishing" + ], + [ + "@kbn/presentation-util-plugin", + "src/platform/plugins/shared/presentation_util" + ], + [ + "@kbn/product-doc-artifact-builder", + "x-pack/packages/ai-infra/product-doc-artifact-builder" + ], + [ + "@kbn/product-doc-base-plugin", + "x-pack/platform/plugins/shared/ai_infra/product_doc_base" + ], + [ + "@kbn/product-doc-common", + "x-pack/platform/packages/shared/ai-infra/product-doc-common" + ], + [ + "@kbn/profiling-data-access-plugin", + "x-pack/solutions/observability/plugins/profiling_data_access" + ], + [ + "@kbn/profiling-plugin", + "x-pack/solutions/observability/plugins/profiling" + ], + [ + "@kbn/profiling-utils", + "src/platform/packages/shared/kbn-profiling-utils" + ], + [ + "@kbn/random-sampling", + "x-pack/platform/packages/private/kbn-random-sampling" + ], + [ + "@kbn/react-field", + "src/platform/packages/shared/kbn-react-field" + ], + [ + "@kbn/react-hooks", + "src/platform/packages/shared/kbn-react-hooks" + ], + [ + "@kbn/react-kibana-context-common", + "src/platform/packages/shared/react/kibana_context/common" + ], + [ + "@kbn/react-kibana-context-render", + "src/platform/packages/shared/react/kibana_context/render" + ], + [ + "@kbn/react-kibana-context-root", + "src/platform/packages/shared/react/kibana_context/root" + ], + [ + "@kbn/react-kibana-context-styled", + "src/platform/packages/shared/react/kibana_context/styled" + ], + [ + "@kbn/react-kibana-context-theme", + "src/platform/packages/shared/react/kibana_context/theme" + ], + [ + "@kbn/react-kibana-mount", + "src/platform/packages/shared/react/kibana_mount" + ], + [ + "@kbn/react-mute-legacy-root-warning", + "src/platform/packages/private/kbn-react-mute-legacy-root-warning" + ], + [ + "@kbn/recently-accessed", + "src/platform/packages/shared/kbn-recently-accessed" + ], + [ + "@kbn/relocate", + "packages/kbn-relocate" + ], + [ + "@kbn/remote-clusters-plugin", + "x-pack/platform/plugins/private/remote_clusters" + ], + [ + "@kbn/rendering-plugin", + "test/plugin_functional/plugins/rendering_plugin" + ], + [ + "@kbn/repo-file-maps", + "packages/kbn-repo-file-maps" + ], + [ + "@kbn/repo-info", + "src/platform/packages/shared/kbn-repo-info" + ], + [ + "@kbn/repo-linter", + "packages/kbn-repo-linter" + ], + [ + "@kbn/repo-packages", + "src/platform/packages/private/kbn-repo-packages" + ], + [ + "@kbn/repo-path", + "packages/kbn-repo-path" + ], + [ + "@kbn/repo-source-classifier", + "packages/kbn-repo-source-classifier" + ], + [ + "@kbn/repo-source-classifier-cli", + "packages/kbn-repo-source-classifier-cli" + ], + [ + "@kbn/reporting-common", + "src/platform/packages/private/kbn-reporting/common" + ], + [ + "@kbn/reporting-csv-share-panel", + "src/platform/packages/private/kbn-reporting/get_csv_panel_actions" + ], + [ + "@kbn/reporting-export-types-csv", + "src/platform/packages/private/kbn-reporting/export_types/csv" + ], + [ + "@kbn/reporting-export-types-csv-common", + "src/platform/packages/private/kbn-reporting/export_types/csv_common" + ], + [ + "@kbn/reporting-export-types-pdf", + "src/platform/packages/private/kbn-reporting/export_types/pdf" + ], + [ + "@kbn/reporting-export-types-pdf-common", + "src/platform/packages/private/kbn-reporting/export_types/pdf_common" + ], + [ + "@kbn/reporting-export-types-png", + "src/platform/packages/private/kbn-reporting/export_types/png" + ], + [ + "@kbn/reporting-export-types-png-common", + "src/platform/packages/private/kbn-reporting/export_types/png_common" + ], + [ + "@kbn/reporting-mocks-server", + "src/platform/packages/private/kbn-reporting/mocks_server" + ], + [ + "@kbn/reporting-plugin", + "x-pack/platform/plugins/private/reporting" + ], + [ + "@kbn/reporting-public", + "src/platform/packages/private/kbn-reporting/public" + ], + [ + "@kbn/reporting-server", + "src/platform/packages/private/kbn-reporting/server" + ], + [ + "@kbn/resizable-layout", + "src/platform/packages/shared/kbn-resizable-layout" + ], + [ + "@kbn/resizable-layout-examples-plugin", + "examples/resizable_layout_examples" + ], + [ + "@kbn/resolver-test-plugin", + "x-pack/test/plugin_functional/plugins/resolver_test" + ], + [ + "@kbn/response-ops-rule-form", + "src/platform/packages/shared/response-ops/rule_form" + ], + [ + "@kbn/response-ops-rule-params", + "src/platform/packages/shared/response-ops/rule_params" + ], + [ + "@kbn/response-stream-plugin", + "examples/response_stream" + ], + [ + "@kbn/rison", + "src/platform/packages/shared/kbn-rison" + ], + [ + "@kbn/rollup", + "x-pack/platform/packages/private/rollup" + ], + [ + "@kbn/rollup-plugin", + "x-pack/platform/plugins/private/rollup" + ], + [ + "@kbn/router-to-openapispec", + "src/platform/packages/shared/kbn-router-to-openapispec" + ], + [ + "@kbn/router-utils", + "src/platform/packages/shared/kbn-router-utils" + ], + [ + "@kbn/routing-example-plugin", + "examples/routing_example" + ], + [ + "@kbn/rrule", + "src/platform/packages/shared/kbn-rrule" + ], + [ + "@kbn/rule-data-utils", + "src/platform/packages/shared/kbn-rule-data-utils" + ], + [ + "@kbn/rule-registry-plugin", + "x-pack/platform/plugins/shared/rule_registry" + ], + [ + "@kbn/runtime-fields-plugin", + "x-pack/platform/plugins/private/runtime_fields" + ], + [ + "@kbn/safer-lodash-set", + "src/platform/packages/shared/kbn-safer-lodash-set" + ], + [ + "@kbn/saml-provider-plugin", + "x-pack/test/security_api_integration/plugins/saml_provider" + ], + [ + "@kbn/sample-task-plugin", + "x-pack/test/plugin_api_integration/plugins/sample_task_plugin" + ], + [ + "@kbn/sample-task-plugin-update-by-query", + "x-pack/test/task_manager_claimer_update_by_query/plugins/sample_task_plugin_mget" + ], + [ + "@kbn/saved-object-export-transforms-plugin", + "test/plugin_functional/plugins/saved_object_export_transforms" + ], + [ + "@kbn/saved-object-import-warnings-plugin", + "test/plugin_functional/plugins/saved_object_import_warnings" + ], + [ + "@kbn/saved-object-test-plugin", + "x-pack/test/saved_object_api_integration/common/plugins/saved_object_test_plugin" + ], + [ + "@kbn/saved-objects-finder-plugin", + "src/platform/plugins/shared/saved_objects_finder" + ], + [ + "@kbn/saved-objects-hidden-from-http-apis-type-plugin", + "test/plugin_functional/plugins/saved_objects_hidden_from_http_apis_type" + ], + [ + "@kbn/saved-objects-hidden-type-plugin", + "test/plugin_functional/plugins/saved_objects_hidden_type" + ], + [ + "@kbn/saved-objects-management-plugin", + "src/platform/plugins/shared/saved_objects_management" + ], + [ + "@kbn/saved-objects-plugin", + "src/platform/plugins/shared/saved_objects" + ], + [ + "@kbn/saved-objects-settings", + "src/platform/packages/private/kbn-saved-objects-settings" + ], + [ + "@kbn/saved-objects-tagging-oss-plugin", + "src/platform/plugins/shared/saved_objects_tagging_oss" + ], + [ + "@kbn/saved-objects-tagging-plugin", + "x-pack/platform/plugins/shared/saved_objects_tagging" + ], + [ + "@kbn/saved-search-component", + "src/platform/packages/shared/kbn-saved-search-component" + ], + [ + "@kbn/saved-search-plugin", + "src/platform/plugins/shared/saved_search" + ], + [ + "@kbn/scout", + "packages/kbn-scout" + ], + [ + "@kbn/scout-info", + "packages/kbn-scout-info" + ], + [ + "@kbn/scout-reporting", + "packages/kbn-scout-reporting" + ], + [ + "@kbn/screenshot-mode-example-plugin", + "examples/screenshot_mode_example" + ], + [ + "@kbn/screenshot-mode-plugin", + "src/platform/plugins/shared/screenshot_mode" + ], + [ + "@kbn/screenshotting-example-plugin", + "x-pack/examples/screenshotting_example" + ], + [ + "@kbn/screenshotting-plugin", + "x-pack/platform/plugins/shared/screenshotting" + ], + [ + "@kbn/screenshotting-server", + "src/platform/packages/private/kbn-screenshotting-server" + ], + [ + "@kbn/search-api-keys-components", + "x-pack/solutions/search/packages/kbn-search-api-keys-components" + ], + [ + "@kbn/search-api-keys-server", + "x-pack/solutions/search/packages/kbn-search-api-keys-server" + ], + [ + "@kbn/search-api-panels", + "src/platform/packages/shared/kbn-search-api-panels" + ], + [ + "@kbn/search-assistant", + "x-pack/solutions/search/plugins/search_assistant" + ], + [ + "@kbn/search-connectors", + "src/platform/packages/shared/kbn-search-connectors" + ], + [ + "@kbn/search-connectors-plugin", + "x-pack/solutions/search/plugins/search_connectors" + ], + [ + "@kbn/search-errors", + "src/platform/packages/shared/kbn-search-errors" + ], + [ + "@kbn/search-examples-plugin", + "examples/search_examples" + ], + [ + "@kbn/search-homepage", + "x-pack/solutions/search/plugins/search_homepage" + ], + [ + "@kbn/search-index-documents", + "x-pack/solutions/search/packages/kbn-search-index-documents" + ], + [ + "@kbn/search-indices", + "x-pack/solutions/search/plugins/search_indices" + ], + [ + "@kbn/search-inference-endpoints", + "x-pack/solutions/search/plugins/search_inference_endpoints" + ], + [ + "@kbn/search-navigation", + "x-pack/solutions/search/plugins/search_solution/search_navigation" + ], + [ + "@kbn/search-notebooks", + "x-pack/solutions/search/plugins/search_notebooks" + ], + [ + "@kbn/search-playground", + "x-pack/solutions/search/plugins/search_playground" + ], + [ + "@kbn/search-response-warnings", + "src/platform/packages/shared/kbn-search-response-warnings" + ], + [ + "@kbn/search-shared-ui", + "x-pack/solutions/search/packages/search/shared_ui" + ], + [ + "@kbn/search-synonyms", + "x-pack/solutions/search/plugins/search_synonyms" + ], + [ + "@kbn/search-types", + "src/platform/packages/shared/kbn-search-types" + ], + [ + "@kbn/searchprofiler-plugin", + "x-pack/platform/plugins/shared/searchprofiler" + ], + [ + "@kbn/security-api-integration-helpers", + "x-pack/test/security_api_integration/packages/helpers" + ], + [ + "@kbn/security-api-key-management", + "x-pack/platform/packages/shared/security/api_key_management" + ], + [ + "@kbn/security-authorization-core", + "x-pack/platform/packages/private/security/authorization_core" + ], + [ + "@kbn/security-authorization-core-common", + "x-pack/platform/packages/private/security/authorization_core_common" + ], + [ + "@kbn/security-form-components", + "x-pack/platform/packages/shared/security/form_components" + ], + [ + "@kbn/security-hardening", + "src/platform/packages/shared/kbn-security-hardening" + ], + [ + "@kbn/security-plugin", + "x-pack/platform/plugins/shared/security" + ], + [ + "@kbn/security-plugin-types-common", + "x-pack/platform/packages/shared/security/plugin_types_common" + ], + [ + "@kbn/security-plugin-types-public", + "x-pack/platform/packages/shared/security/plugin_types_public" + ], + [ + "@kbn/security-plugin-types-server", + "x-pack/platform/packages/shared/security/plugin_types_server" + ], + [ + "@kbn/security-role-management-model", + "x-pack/platform/packages/private/security/role_management_model" + ], + [ + "@kbn/security-solution-connectors", + "x-pack/solutions/security/packages/connectors" + ], + [ + "@kbn/security-solution-distribution-bar", + "x-pack/solutions/security/packages/distribution_bar" + ], + [ + "@kbn/security-solution-ess", + "x-pack/solutions/security/plugins/security_solution_ess" + ], + [ + "@kbn/security-solution-features", + "x-pack/solutions/security/packages/features" + ], + [ + "@kbn/security-solution-fixtures-plugin", + "x-pack/test/cases_api_integration/common/plugins/security_solution" + ], + [ + "@kbn/security-solution-navigation", + "x-pack/solutions/security/packages/navigation" + ], + [ + "@kbn/security-solution-plugin", + "x-pack/solutions/security/plugins/security_solution" + ], + [ + "@kbn/security-solution-serverless", + "x-pack/solutions/security/plugins/security_solution_serverless" + ], + [ + "@kbn/security-solution-side-nav", + "x-pack/solutions/security/packages/side_nav" + ], + [ + "@kbn/security-solution-storybook-config", + "x-pack/solutions/security/packages/storybook/config" + ], + [ + "@kbn/security-solution-upselling", + "x-pack/solutions/security/packages/upselling" + ], + [ + "@kbn/security-test-endpoints-plugin", + "x-pack/test/security_functional/plugins/test_endpoints" + ], + [ + "@kbn/security-ui-components", + "x-pack/platform/packages/private/security/ui_components" + ], + [ + "@kbn/securitysolution-autocomplete", + "x-pack/solutions/security/packages/kbn-securitysolution-autocomplete" + ], + [ + "@kbn/securitysolution-data-table", + "x-pack/solutions/security/packages/data_table" + ], + [ + "@kbn/securitysolution-ecs", + "src/platform/packages/shared/kbn-securitysolution-ecs" + ], + [ + "@kbn/securitysolution-endpoint-exceptions-common", + "x-pack/solutions/security/packages/kbn-securitysolution-endpoint-exceptions-common" + ], + [ + "@kbn/securitysolution-es-utils", + "src/platform/packages/shared/kbn-securitysolution-es-utils" + ], + [ + "@kbn/securitysolution-exception-list-components", + "x-pack/solutions/security/packages/kbn-securitysolution-exception-list-components" + ], + [ + "@kbn/securitysolution-exceptions-common", + "x-pack/solutions/security/packages/kbn-securitysolution-exceptions-common" + ], + [ + "@kbn/securitysolution-hook-utils", + "x-pack/solutions/security/packages/kbn-securitysolution-hook-utils" + ], + [ + "@kbn/securitysolution-io-ts-alerting-types", + "x-pack/solutions/security/packages/kbn-securitysolution-io-ts-alerting-types" + ], + [ + "@kbn/securitysolution-io-ts-list-types", + "x-pack/solutions/security/packages/kbn-securitysolution-io-ts-list-types" + ], + [ + "@kbn/securitysolution-io-ts-types", + "src/platform/packages/shared/kbn-securitysolution-io-ts-types" + ], + [ + "@kbn/securitysolution-io-ts-utils", + "src/platform/packages/shared/kbn-securitysolution-io-ts-utils" + ], + [ + "@kbn/securitysolution-list-api", + "x-pack/solutions/security/packages/kbn-securitysolution-list-api" + ], + [ + "@kbn/securitysolution-list-constants", + "x-pack/solutions/security/packages/kbn-securitysolution-list-constants" + ], + [ + "@kbn/securitysolution-list-hooks", + "x-pack/solutions/security/packages/kbn-securitysolution-list-hooks" + ], + [ + "@kbn/securitysolution-list-utils", + "x-pack/solutions/security/packages/kbn-securitysolution-list-utils" + ], + [ + "@kbn/securitysolution-lists-common", + "x-pack/solutions/security/packages/kbn-securitysolution-lists-common" + ], + [ + "@kbn/securitysolution-rules", + "src/platform/packages/shared/kbn-securitysolution-rules" + ], + [ + "@kbn/securitysolution-t-grid", + "x-pack/solutions/security/packages/kbn-securitysolution-t-grid" + ], + [ + "@kbn/securitysolution-utils", + "x-pack/solutions/security/packages/kbn-securitysolution-utils" + ], + [ + "@kbn/server-http-tools", + "src/platform/packages/shared/kbn-server-http-tools" + ], + [ + "@kbn/server-route-repository", + "src/platform/packages/shared/kbn-server-route-repository" + ], + [ + "@kbn/server-route-repository-client", + "src/platform/packages/shared/kbn-server-route-repository-client" + ], + [ + "@kbn/server-route-repository-utils", + "src/platform/packages/shared/kbn-server-route-repository-utils" + ], + [ + "@kbn/serverless", + "x-pack/platform/plugins/shared/serverless" + ], + [ + "@kbn/serverless-common-settings", + "src/platform/packages/private/serverless/settings/common" + ], + [ + "@kbn/serverless-observability", + "x-pack/solutions/observability/plugins/serverless_observability" + ], + [ + "@kbn/serverless-observability-settings", + "src/platform/packages/shared/serverless/settings/observability_project" + ], + [ + "@kbn/serverless-project-switcher", + "src/platform/packages/private/serverless/project_switcher" + ], + [ + "@kbn/serverless-search", + "x-pack/solutions/search/plugins/serverless_search" + ], + [ + "@kbn/serverless-search-settings", + "src/platform/packages/shared/serverless/settings/search_project" + ], + [ + "@kbn/serverless-security-settings", + "src/platform/packages/shared/serverless/settings/security_project" + ], + [ + "@kbn/serverless-storybook-config", + "packages/serverless/storybook/config" + ], + [ + "@kbn/serverless-types", + "src/platform/packages/private/serverless/types" + ], + [ + "@kbn/session-notifications-plugin", + "test/plugin_functional/plugins/session_notifications" + ], + [ + "@kbn/session-view-plugin", + "x-pack/solutions/security/plugins/session_view" + ], + [ + "@kbn/set-map", + "packages/kbn-set-map" + ], + [ + "@kbn/share-examples-plugin", + "examples/share_examples" + ], + [ + "@kbn/share-plugin", + "src/platform/plugins/shared/share" + ], + [ + "@kbn/shared-svg", + "src/platform/packages/shared/kbn-shared-svg" + ], + [ + "@kbn/shared-ux-avatar-solution", + "src/platform/packages/shared/shared-ux/avatar/solution" + ], + [ + "@kbn/shared-ux-button-exit-full-screen", + "src/platform/packages/shared/shared-ux/button/exit_full_screen" + ], + [ + "@kbn/shared-ux-button-toolbar", + "src/platform/packages/shared/shared-ux/button_toolbar" + ], + [ + "@kbn/shared-ux-card-no-data", + "src/platform/packages/shared/shared-ux/card/no_data/impl" + ], + [ + "@kbn/shared-ux-card-no-data-mocks", + "src/platform/packages/shared/shared-ux/card/no_data/mocks" + ], + [ + "@kbn/shared-ux-card-no-data-types", + "src/platform/packages/shared/shared-ux/card/no_data/types" + ], + [ + "@kbn/shared-ux-chrome-navigation", + "src/platform/packages/shared/shared-ux/chrome/navigation" + ], + [ + "@kbn/shared-ux-error-boundary", + "src/platform/packages/shared/shared-ux/error_boundary" + ], + [ + "@kbn/shared-ux-file-context", + "src/platform/packages/shared/shared-ux/file/context" + ], + [ + "@kbn/shared-ux-file-image", + "src/platform/packages/shared/shared-ux/file/image/impl" + ], + [ + "@kbn/shared-ux-file-image-mocks", + "src/platform/packages/shared/shared-ux/file/image/mocks" + ], + [ + "@kbn/shared-ux-file-mocks", + "src/platform/packages/shared/shared-ux/file/mocks" + ], + [ + "@kbn/shared-ux-file-picker", + "src/platform/packages/shared/shared-ux/file/file_picker/impl" + ], + [ + "@kbn/shared-ux-file-types", + "src/platform/packages/shared/shared-ux/file/types" + ], + [ + "@kbn/shared-ux-file-upload", + "src/platform/packages/shared/shared-ux/file/file_upload/impl" + ], + [ + "@kbn/shared-ux-file-util", + "src/platform/packages/shared/shared-ux/file/util" + ], + [ + "@kbn/shared-ux-link-redirect-app", + "src/platform/packages/shared/shared-ux/link/redirect_app/impl" + ], + [ + "@kbn/shared-ux-link-redirect-app-mocks", + "src/platform/packages/shared/shared-ux/link/redirect_app/mocks" + ], + [ + "@kbn/shared-ux-link-redirect-app-types", + "src/platform/packages/shared/shared-ux/link/redirect_app/types" + ], + [ + "@kbn/shared-ux-markdown", + "src/platform/packages/shared/shared-ux/markdown/impl" + ], + [ + "@kbn/shared-ux-markdown-mocks", + "src/platform/packages/shared/shared-ux/markdown/mocks" + ], + [ + "@kbn/shared-ux-markdown-types", + "src/platform/packages/shared/shared-ux/markdown/types" + ], + [ + "@kbn/shared-ux-page-analytics-no-data", + "src/platform/packages/private/shared-ux/page/analytics_no_data/impl" + ], + [ + "@kbn/shared-ux-page-analytics-no-data-mocks", + "src/platform/packages/private/shared-ux/page/analytics_no_data/mocks" + ], + [ + "@kbn/shared-ux-page-analytics-no-data-types", + "src/platform/packages/private/shared-ux/page/analytics_no_data/types" + ], + [ + "@kbn/shared-ux-page-kibana-no-data", + "src/platform/packages/private/shared-ux/page/kibana_no_data/impl" + ], + [ + "@kbn/shared-ux-page-kibana-no-data-mocks", + "src/platform/packages/private/shared-ux/page/kibana_no_data/mocks" + ], + [ + "@kbn/shared-ux-page-kibana-no-data-types", + "src/platform/packages/private/shared-ux/page/kibana_no_data/types" + ], + [ + "@kbn/shared-ux-page-kibana-template", + "src/platform/packages/shared/shared-ux/page/kibana_template/impl" + ], + [ + "@kbn/shared-ux-page-kibana-template-mocks", + "src/platform/packages/shared/shared-ux/page/kibana_template/mocks" + ], + [ + "@kbn/shared-ux-page-kibana-template-types", + "src/platform/packages/shared/shared-ux/page/kibana_template/types" + ], + [ + "@kbn/shared-ux-page-no-data", + "src/platform/packages/shared/shared-ux/page/no_data/impl" + ], + [ + "@kbn/shared-ux-page-no-data-config", + "src/platform/packages/shared/shared-ux/page/no_data_config/impl" + ], + [ + "@kbn/shared-ux-page-no-data-config-mocks", + "src/platform/packages/shared/shared-ux/page/no_data_config/mocks" + ], + [ + "@kbn/shared-ux-page-no-data-config-types", + "src/platform/packages/shared/shared-ux/page/no_data_config/types" + ], + [ + "@kbn/shared-ux-page-no-data-mocks", + "src/platform/packages/shared/shared-ux/page/no_data/mocks" + ], + [ + "@kbn/shared-ux-page-no-data-types", + "src/platform/packages/shared/shared-ux/page/no_data/types" + ], + [ + "@kbn/shared-ux-page-solution-nav", + "src/platform/packages/shared/shared-ux/page/solution_nav" + ], + [ + "@kbn/shared-ux-prompt-no-data-views", + "src/platform/packages/shared/shared-ux/prompt/no_data_views/impl" + ], + [ + "@kbn/shared-ux-prompt-no-data-views-mocks", + "src/platform/packages/shared/shared-ux/prompt/no_data_views/mocks" + ], + [ + "@kbn/shared-ux-prompt-no-data-views-types", + "src/platform/packages/shared/shared-ux/prompt/no_data_views/types" + ], + [ + "@kbn/shared-ux-prompt-not-found", + "src/platform/packages/shared/shared-ux/prompt/not_found" + ], + [ + "@kbn/shared-ux-router", + "src/platform/packages/shared/shared-ux/router/impl" + ], + [ + "@kbn/shared-ux-router-mocks", + "src/platform/packages/shared/shared-ux/router/mocks" + ], + [ + "@kbn/shared-ux-router-types", + "src/platform/packages/shared/shared-ux/router/types" + ], + [ + "@kbn/shared-ux-storybook-config", + "src/platform/packages/private/shared-ux/storybook/config" + ], + [ + "@kbn/shared-ux-storybook-mock", + "src/platform/packages/shared/shared-ux/storybook/mock" + ], + [ + "@kbn/shared-ux-tabbed-modal", + "src/platform/packages/shared/shared-ux/modal/tabbed" + ], + [ + "@kbn/shared-ux-table-persist", + "src/platform/packages/shared/shared-ux/table_persist" + ], + [ + "@kbn/shared-ux-utility", + "src/platform/packages/shared/kbn-shared-ux-utility" + ], + [ + "@kbn/slo-plugin", + "x-pack/solutions/observability/plugins/slo" + ], + [ + "@kbn/slo-schema", + "x-pack/platform/packages/shared/kbn-slo-schema" + ], + [ + "@kbn/snapshot-restore-plugin", + "x-pack/platform/plugins/private/snapshot_restore" + ], + [ + "@kbn/some-dev-log", + "packages/kbn-some-dev-log" + ], + [ + "@kbn/sort-package-json", + "packages/kbn-sort-package-json" + ], + [ + "@kbn/sort-predicates", + "src/platform/packages/shared/kbn-sort-predicates" + ], + [ + "@kbn/spaces-plugin", + "x-pack/platform/plugins/shared/spaces" + ], + [ + "@kbn/spaces-test-plugin", + "x-pack/test/spaces_api_integration/common/plugins/spaces_test_plugin" + ], + [ + "@kbn/spec-to-console", + "packages/kbn-spec-to-console" + ], + [ + "@kbn/sse-utils", + "src/platform/packages/shared/kbn-sse-utils" + ], + [ + "@kbn/sse-utils-client", + "src/platform/packages/shared/kbn-sse-utils-client" + ], + [ + "@kbn/sse-utils-server", + "src/platform/packages/shared/kbn-sse-utils-server" + ], + [ + "@kbn/stack-alerts-plugin", + "x-pack/platform/plugins/shared/stack_alerts" + ], + [ + "@kbn/stack-connectors-plugin", + "x-pack/platform/plugins/shared/stack_connectors" + ], + [ + "@kbn/stack-management-usage-test-plugin", + "x-pack/test/usage_collection/plugins/stack_management_usage_test" + ], + [ + "@kbn/state-containers-examples-plugin", + "examples/state_containers_examples" + ], + [ + "@kbn/status-plugin-a-plugin", + "test/server_integration/plugins/status_plugin_a" + ], + [ + "@kbn/status-plugin-b-plugin", + "test/server_integration/plugins/status_plugin_b" + ], + [ + "@kbn/std", + "src/platform/packages/shared/kbn-std" + ], + [ + "@kbn/stdio-dev-helpers", + "packages/kbn-stdio-dev-helpers" + ], + [ + "@kbn/storybook", + "packages/kbn-storybook" + ], + [ + "@kbn/streams-app-plugin", + "x-pack/solutions/observability/plugins/streams_app" + ], + [ + "@kbn/streams-plugin", + "x-pack/solutions/observability/plugins/streams" + ], + [ + "@kbn/streams-schema", + "x-pack/solutions/observability/packages/kbn-streams-schema" + ], + [ + "@kbn/styled-components-mapping-cli", + "packages/kbn-styled-components-mapping-cli" + ], + [ + "@kbn/synthetics-e2e", + "x-pack/solutions/observability/plugins/synthetics/e2e" + ], + [ + "@kbn/synthetics-plugin", + "x-pack/solutions/observability/plugins/synthetics" + ], + [ + "@kbn/synthetics-private-location", + "x-pack/packages/kbn-synthetics-private-location" + ], + [ + "@kbn/task-manager-fixture-plugin", + "x-pack/test/alerting_api_integration/common/plugins/task_manager_fixture" + ], + [ + "@kbn/task-manager-performance-plugin", + "x-pack/test/plugin_api_perf/plugins/task_manager_performance" + ], + [ + "@kbn/task-manager-plugin", + "x-pack/platform/plugins/shared/task_manager" + ], + [ + "@kbn/telemetry-collection-manager-plugin", + "src/platform/plugins/shared/telemetry_collection_manager" + ], + [ + "@kbn/telemetry-collection-xpack-plugin", + "x-pack/platform/plugins/private/telemetry_collection_xpack" + ], + [ + "@kbn/telemetry-management-section-plugin", + "src/platform/plugins/shared/telemetry_management_section" + ], + [ + "@kbn/telemetry-plugin", + "src/platform/plugins/shared/telemetry" + ], + [ + "@kbn/telemetry-test-plugin", + "test/plugin_functional/plugins/telemetry" + ], + [ + "@kbn/telemetry-tools", + "packages/kbn-telemetry-tools" + ], + [ + "@kbn/test", + "packages/kbn-test" + ], + [ + "@kbn/test-eui-helpers", + "packages/kbn-test-eui-helpers" + ], + [ + "@kbn/test-feature-usage-plugin", + "x-pack/test/licensing_plugin/plugins/test_feature_usage" + ], + [ + "@kbn/test-jest-helpers", + "packages/kbn-test-jest-helpers" + ], + [ + "@kbn/test-subj-selector", + "packages/kbn-test-subj-selector" + ], + [ + "@kbn/test-suites-serverless", + "x-pack/test_serverless" + ], + [ + "@kbn/test-suites-src", + "test" + ], + [ + "@kbn/test-suites-xpack", + "x-pack/test" + ], + [ + "@kbn/test-suites-xpack-performance", + "x-pack/performance" + ], + [ + "@kbn/testing-embedded-lens-plugin", + "x-pack/examples/testing_embedded_lens" + ], + [ + "@kbn/third-party-lens-navigation-prompt-plugin", + "x-pack/examples/third_party_lens_navigation_prompt" + ], + [ + "@kbn/third-party-vis-lens-example-plugin", + "x-pack/examples/third_party_vis_lens_example" + ], + [ + "@kbn/threat-intelligence-plugin", + "x-pack/solutions/security/plugins/threat_intelligence" + ], + [ + "@kbn/timelines-plugin", + "x-pack/solutions/security/plugins/timelines" + ], + [ + "@kbn/timelion-grammar", + "src/platform/packages/private/kbn-timelion-grammar" + ], + [ + "@kbn/timerange", + "src/platform/packages/shared/kbn-timerange" + ], + [ + "@kbn/tinymath", + "src/platform/packages/private/kbn-tinymath" + ], + [ + "@kbn/tooling-log", + "packages/kbn-tooling-log" + ], + [ + "@kbn/transform-plugin", + "x-pack/platform/plugins/private/transform" + ], + [ + "@kbn/translations-plugin", + "x-pack/platform/plugins/private/translations" + ], + [ + "@kbn/transpose-utils", + "src/platform/packages/private/kbn-transpose-utils" + ], + [ + "@kbn/triggers-actions-ui-example-plugin", + "x-pack/examples/triggers_actions_ui_example" + ], + [ + "@kbn/triggers-actions-ui-plugin", + "x-pack/platform/plugins/shared/triggers_actions_ui" + ], + [ + "@kbn/triggers-actions-ui-types", + "src/platform/packages/shared/kbn-triggers-actions-ui-types" + ], + [ + "@kbn/try-in-console", + "src/platform/packages/shared/kbn-try-in-console" + ], + [ + "@kbn/ts-projects", + "packages/kbn-ts-projects" + ], + [ + "@kbn/ts-type-check-cli", + "packages/kbn-ts-type-check-cli" + ], + [ + "@kbn/typed-react-router-config", + "src/platform/packages/shared/kbn-typed-react-router-config" + ], + [ + "@kbn/ui-actions-browser", + "src/platform/packages/shared/kbn-ui-actions-browser" + ], + [ + "@kbn/ui-actions-enhanced-examples-plugin", + "x-pack/examples/ui_actions_enhanced_examples" + ], + [ + "@kbn/ui-actions-enhanced-plugin", + "src/platform/plugins/shared/ui_actions_enhanced" + ], + [ + "@kbn/ui-actions-examples-plugin", + "examples/ui_action_examples" + ], + [ + "@kbn/ui-actions-explorer-plugin", + "examples/ui_actions_explorer" + ], + [ + "@kbn/ui-actions-plugin", + "src/platform/plugins/shared/ui_actions" + ], + [ + "@kbn/ui-settings-plugin", + "test/plugin_functional/plugins/ui_settings_plugin" + ], + [ + "@kbn/ui-shared-deps-npm", + "src/platform/packages/private/kbn-ui-shared-deps-npm" + ], + [ + "@kbn/ui-shared-deps-src", + "src/platform/packages/private/kbn-ui-shared-deps-src" + ], + [ + "@kbn/ui-theme", + "src/platform/packages/shared/kbn-ui-theme" + ], + [ + "@kbn/unified-data-table", + "src/platform/packages/shared/kbn-unified-data-table" + ], + [ + "@kbn/unified-doc-viewer", + "src/platform/packages/shared/kbn-unified-doc-viewer" + ], + [ + "@kbn/unified-doc-viewer-examples", + "examples/unified_doc_viewer" + ], + [ + "@kbn/unified-doc-viewer-plugin", + "src/platform/plugins/shared/unified_doc_viewer" + ], + [ + "@kbn/unified-field-list", + "src/platform/packages/shared/kbn-unified-field-list" + ], + [ + "@kbn/unified-field-list-examples-plugin", + "examples/unified_field_list_examples" + ], + [ + "@kbn/unified-histogram-plugin", + "src/platform/plugins/shared/unified_histogram" + ], + [ + "@kbn/unified-search-plugin", + "src/platform/plugins/shared/unified_search" + ], + [ + "@kbn/unsaved-changes-badge", + "src/platform/packages/private/kbn-unsaved-changes-badge" + ], + [ + "@kbn/unsaved-changes-prompt", + "src/platform/packages/shared/kbn-unsaved-changes-prompt" + ], + [ + "@kbn/upgrade-assistant-plugin", + "x-pack/platform/plugins/private/upgrade_assistant" + ], + [ + "@kbn/uptime-plugin", + "x-pack/solutions/observability/plugins/uptime" + ], + [ + "@kbn/url-drilldown-plugin", + "x-pack/platform/plugins/private/drilldowns/url_drilldown" + ], + [ + "@kbn/url-forwarding-plugin", + "src/platform/plugins/private/url_forwarding" + ], + [ + "@kbn/usage-collection-plugin", + "src/platform/plugins/shared/usage_collection" + ], + [ + "@kbn/usage-collection-test-plugin", + "test/plugin_functional/plugins/usage_collection" + ], + [ + "@kbn/use-tracked-promise", + "src/platform/packages/shared/kbn-use-tracked-promise" + ], + [ + "@kbn/user-profile-components", + "src/platform/packages/shared/kbn-user-profile-components" + ], + [ + "@kbn/user-profile-examples-plugin", + "examples/user_profile_examples" + ], + [ + "@kbn/user-profiles-consumer-plugin", + "x-pack/test/security_api_integration/plugins/user_profiles_consumer" + ], + [ + "@kbn/utility-types", + "src/platform/packages/shared/kbn-utility-types" + ], + [ + "@kbn/utility-types-jest", + "src/platform/packages/shared/kbn-utility-types-jest" + ], + [ + "@kbn/utils", + "src/platform/packages/shared/kbn-utils" + ], + [ + "@kbn/ux-plugin", + "x-pack/solutions/observability/plugins/ux" + ], + [ + "@kbn/v8-profiler-examples-plugin", + "examples/v8_profiler_examples" + ], + [ + "@kbn/validate-next-docs-cli", + "packages/kbn-validate-next-docs-cli" + ], + [ + "@kbn/vis-default-editor-plugin", + "src/platform/plugins/private/vis_default_editor" + ], + [ + "@kbn/vis-type-gauge-plugin", + "src/platform/plugins/private/vis_types/gauge" + ], + [ + "@kbn/vis-type-heatmap-plugin", + "src/platform/plugins/private/vis_types/heatmap" + ], + [ + "@kbn/vis-type-markdown-plugin", + "src/platform/plugins/private/vis_type_markdown" + ], + [ + "@kbn/vis-type-metric-plugin", + "src/platform/plugins/private/vis_types/metric" + ], + [ + "@kbn/vis-type-pie-plugin", + "src/platform/plugins/private/vis_types/pie" + ], + [ + "@kbn/vis-type-table-plugin", + "src/platform/plugins/private/vis_types/table" + ], + [ + "@kbn/vis-type-tagcloud-plugin", + "src/platform/plugins/private/vis_types/tagcloud" + ], + [ + "@kbn/vis-type-timelion-plugin", + "src/platform/plugins/private/vis_types/timelion" + ], + [ + "@kbn/vis-type-timeseries-plugin", + "src/platform/plugins/private/vis_types/timeseries" + ], + [ + "@kbn/vis-type-vega-plugin", + "src/platform/plugins/private/vis_types/vega" + ], + [ + "@kbn/vis-type-vislib-plugin", + "src/platform/plugins/private/vis_types/vislib" + ], + [ + "@kbn/vis-type-xy-plugin", + "src/platform/plugins/private/vis_types/xy" + ], + [ + "@kbn/visualization-ui-components", + "src/platform/packages/shared/kbn-visualization-ui-components" + ], + [ + "@kbn/visualization-utils", + "src/platform/packages/shared/kbn-visualization-utils" + ], + [ + "@kbn/visualizations-plugin", + "src/platform/plugins/shared/visualizations" + ], + [ + "@kbn/watcher-plugin", + "x-pack/platform/plugins/private/watcher" + ], + [ + "@kbn/web-worker-stub", + "packages/kbn-web-worker-stub" + ], + [ + "@kbn/whereis-pkg-cli", + "packages/kbn-whereis-pkg-cli" + ], + [ + "@kbn/xstate-utils", + "src/platform/packages/shared/kbn-xstate-utils" + ], + [ + "@kbn/yarn-lock-validator", + "packages/kbn-yarn-lock-validator" + ], + [ + "@kbn/zod", + "src/platform/packages/shared/kbn-zod" + ], + [ + "@kbn/zod-helpers", + "src/platform/packages/shared/kbn-zod-helpers" + ] +] \ No newline at end of file diff --git a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_analytics_risk_score/index.tsx b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_analytics_risk_score/index.tsx index 08ce79cc74c17..1acd3e364edad 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_analytics_risk_score/index.tsx +++ b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_analytics_risk_score/index.tsx @@ -161,7 +161,7 @@ const EntityAnalyticsRiskScoresComponent = ({ riskEntity }: { riskEntity: RiskSc const refreshPage = useRefetchQueries(); - const privileges = useMissingRiskEnginePrivileges(['read']); + const privileges = useMissingRiskEnginePrivileges({ readonly: true }); if (!isAuthorized) { return null; diff --git a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/components/enablement_modal.test.tsx b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/components/enablement_modal.test.tsx index 1e33f9443e67d..3a46b68537d58 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/components/enablement_modal.test.tsx +++ b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/components/enablement_modal.test.tsx @@ -8,9 +8,14 @@ import React from 'react'; import { act } from 'react-dom/test-utils'; import { fireEvent, render, screen } from '@testing-library/react'; +import type { EntityStoreEnablementModalProps } from './enablement_modal'; import { EntityStoreEnablementModal } from './enablement_modal'; import { TestProviders } from '../../../../common/mock'; -import type { EntityAnalyticsPrivileges } from '../../../../../common/api/entity_analytics'; +import { + type EntityAnalyticsPrivileges, + RiskEngineStatusEnum, + StoreStatusEnum, +} from '../../../../../common/api/entity_analytics'; import type { RiskEngineMissingPrivilegesResponse } from '../../../hooks/use_missing_risk_engine_privileges'; const mockToggle = jest.fn(); @@ -35,8 +40,8 @@ const defaultProps = { visible: true, toggle: mockToggle, enableStore: mockEnableStore, - riskScore: { canToggle: false, checked: false }, - entityStore: { canToggle: false, checked: false }, + riskEngineStatus: RiskEngineStatusEnum.NOT_INSTALLED, + entityStoreStatus: StoreStatusEnum.not_installed, }; const allEntityEnginePrivileges: EntityAnalyticsPrivileges = { @@ -83,7 +88,7 @@ const missingRiskEnginePrivileges: RiskEngineMissingPrivilegesResponse = { }, }; -const renderComponent = async (props = defaultProps) => { +const renderComponent = async (props: EntityStoreEnablementModalProps = defaultProps) => { await act(async () => { return render(, { wrapper: TestProviders }); }); @@ -121,46 +126,45 @@ describe('EntityStoreEnablementModal', () => { }); it('should call enableStore function when enable button is clicked', () => { - renderComponent({ - ...defaultProps, - riskScore: { ...defaultProps.riskScore, checked: true }, - entityStore: { ...defaultProps.entityStore, checked: true }, - }); + renderComponent(defaultProps); fireEvent.click(screen.getByText('Enable')); expect(mockEnableStore).toHaveBeenCalledWith({ riskScore: true, entityStore: true }); }); it('should display proceed warning when no enablement options are selected', () => { renderComponent(); + fireEvent.click(screen.getByTestId('enablementEntityStoreSwitch')); // unselect entity store + fireEvent.click(screen.getByTestId('enablementRiskScoreSwitch')); // unselect risk engine expect(screen.getByText('Please enable at least one option to proceed.')).toBeInTheDocument(); }); it('should disable the enable button when enablementOptions are false', () => { - renderComponent({ - ...defaultProps, - riskScore: { ...defaultProps.riskScore, checked: false }, - entityStore: { ...defaultProps.entityStore, checked: false }, - }); + renderComponent(); + fireEvent.click(screen.getByTestId('enablementEntityStoreSwitch')); // unselect entity store + fireEvent.click(screen.getByTestId('enablementRiskScoreSwitch')); // unselect risk engine const enableButton = screen.getByRole('button', { name: /Enable/i }); expect(enableButton).toBeDisabled(); }); - it('should show proceed warning when riskScore is enabled but entityStore is disabled and unchecked', () => { + it('should show proceed warning when riskScore is not installed and unchecked but entityStore is already running', () => { renderComponent({ ...defaultProps, - riskScore: { canToggle: false, checked: false }, - entityStore: { canToggle: true, checked: false }, + riskEngineStatus: RiskEngineStatusEnum.NOT_INSTALLED, + entityStoreStatus: StoreStatusEnum.running, }); + fireEvent.click(screen.getByTestId('enablementRiskScoreSwitch')); // unselect risk engine expect(screen.getByText('Please enable at least one option to proceed.')).toBeInTheDocument(); }); - it('should show proceed warning when entityStore is enabled but riskScore is disabled and unchecked', () => { + it('should show proceed warning when entityStore is not installed and unchecked but riskScore is already installed', () => { renderComponent({ ...defaultProps, - entityStore: { canToggle: false, checked: false }, - riskScore: { canToggle: true, checked: false }, + riskEngineStatus: RiskEngineStatusEnum.ENABLED, + entityStoreStatus: StoreStatusEnum.not_installed, }); + fireEvent.click(screen.getByTestId('enablementEntityStoreSwitch')); // unselect risk engine + expect(screen.getByText('Please enable at least one option to proceed.')).toBeInTheDocument(); }); @@ -209,5 +213,13 @@ describe('EntityStoreEnablementModal', () => { expect(screen.queryByTestId('enablement-modal-test')).toBeInTheDocument(); }); + + it('should disabled the "enable" button', async () => { + renderComponent(); + expect(screen.getByTestId('callout-missing-entity-store-privileges')).toBeInTheDocument(); + + const enableButton = screen.getByRole('button', { name: /Enable/i }); + expect(enableButton).toBeDisabled(); + }); }); }); diff --git a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/components/enablement_modal.tsx b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/components/enablement_modal.tsx index d18aaa9c835cf..d4df494ac186a 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/components/enablement_modal.tsx +++ b/x-pack/plugins/security_solution/public/entity_analytics/components/entity_store/components/enablement_modal.tsx @@ -24,8 +24,10 @@ import { useEuiTheme, } from '@elastic/eui'; import { css } from '@emotion/react'; -import React, { useState } from 'react'; +import React, { useEffect, useState } from 'react'; import { FormattedMessage } from '@kbn/i18n-react'; +import type { RiskEngineStatus, StoreStatus } from '../../../../../common/api/entity_analytics'; +import { RiskEngineStatusEnum } from '../../../../../common/api/entity_analytics'; import { useContractComponents } from '../../../../common/hooks/use_contract_component'; import { TECHNICAL_PREVIEW, TECHNICAL_PREVIEW_TOOLTIP } from '../../../../common/translations'; import { @@ -33,67 +35,87 @@ import { ENABLEMENT_DESCRIPTION_ENTITY_STORE_ONLY, ENABLEMENT_WARNING_SELECT_TO_PROCEED, } from '../translations'; -import { useEntityEnginePrivileges } from '../hooks/use_entity_engine_privileges'; import { MissingPrivilegesCallout } from './missing_privileges_callout'; import { useMissingRiskEnginePrivileges } from '../../../hooks/use_missing_risk_engine_privileges'; import { RiskEnginePrivilegesCallOut } from '../../risk_engine_privileges_callout'; +import { useEntityEnginePrivileges } from '../hooks/use_entity_engine_privileges'; export interface Enablements { riskScore: boolean; entityStore: boolean; } -interface EntityStoreEnablementModalProps { +export interface EntityStoreEnablementModalProps { visible: boolean; toggle: (visible: boolean) => void; enableStore: (enablements: Enablements) => () => void; - riskScore: { - canToggle?: boolean; - checked?: boolean; - }; - entityStore: { - canToggle?: boolean; - checked?: boolean; - }; + riskEngineStatus?: RiskEngineStatus; + entityStoreStatus?: StoreStatus; } -const shouldAllowEnablement = ( - riskScoreEnabled: boolean, - entityStoreEnabled: boolean, +const isInstallButtonEnabled = ( + canInstallRiskScore: boolean, + canInstallEntityStore: boolean, userHasEnabled: Enablements ) => { - if (riskScoreEnabled) { - return userHasEnabled.entityStore; - } - if (entityStoreEnabled) { - return userHasEnabled.riskScore; + if (canInstallRiskScore || canInstallEntityStore) { + return userHasEnabled.riskScore || userHasEnabled.entityStore; } - return userHasEnabled.riskScore || userHasEnabled.entityStore; + + return false; }; export const EntityStoreEnablementModal: React.FC = ({ visible, toggle, enableStore, - riskScore, - entityStore, + riskEngineStatus, + entityStoreStatus, }) => { - const { euiTheme } = useEuiTheme(); - const [enablements, setEnablements] = useState({ - riskScore: !!riskScore.checked, - entityStore: !!entityStore.checked, - }); + const riskEnginePrivileges = useMissingRiskEnginePrivileges(); const { data: entityEnginePrivileges, isLoading: isLoadingEntityEnginePrivileges } = useEntityEnginePrivileges(); - const riskEnginePrivileges = useMissingRiskEnginePrivileges(); - const enablementOptions = shouldAllowEnablement( - !riskScore.canToggle, - !entityStore.canToggle, - enablements + const hasRiskScorePrivileges = !( + riskEnginePrivileges.isLoading || !riskEnginePrivileges?.hasAllRequiredPrivileges ); const { EnablementModalCallout } = useContractComponents(); + const canInstallRiskScore = + hasRiskScorePrivileges && riskEngineStatus === RiskEngineStatusEnum.NOT_INSTALLED; + + const hasEntityStorePrivileges = !( + isLoadingEntityEnginePrivileges || !entityEnginePrivileges?.has_all_required + ); + + const canInstallEntityStore = hasEntityStorePrivileges && entityStoreStatus === 'not_installed'; + + const { euiTheme } = useEuiTheme(); + const [toggleState, setToggleState] = useState({ + riskScore: false, + entityStore: false, + }); + + /** + * Update the toggle state when the install status changes because privileges are async. + * We automatically toggle the switch when the user can enable the engine. + * + */ + useEffect(() => { + setToggleState({ + riskScore: canInstallRiskScore, + entityStore: canInstallEntityStore, + }); + }, [canInstallRiskScore, canInstallEntityStore]); + + const isInstallButtonDisabled = !isInstallButtonEnabled( + canInstallRiskScore, + canInstallEntityStore, + toggleState + ); + + const { AdditionalChargesMessage } = useContractComponents(); + if (!visible) { return null; } @@ -130,12 +152,10 @@ export const EntityStoreEnablementModal: React.FC } - checked={enablements.riskScore} - disabled={ - !riskScore.canToggle || - (!riskEnginePrivileges.isLoading && !riskEnginePrivileges?.hasAllRequiredPrivileges) - } - onChange={() => setEnablements((prev) => ({ ...prev, riskScore: !prev.riskScore }))} + checked={toggleState.riskScore} + disabled={!canInstallRiskScore} + onChange={() => setToggleState((prev) => ({ ...prev, riskScore: !prev.riskScore }))} + data-test-subj="enablementRiskScoreSwitch" /> {!riskEnginePrivileges.isLoading && !riskEnginePrivileges.hasAllRequiredPrivileges && ( @@ -156,13 +176,10 @@ export const EntityStoreEnablementModal: React.FC } - checked={enablements.entityStore} - disabled={ - !entityStore.canToggle || - (!isLoadingEntityEnginePrivileges && !entityEnginePrivileges?.has_all_required) - } + checked={toggleState.entityStore} + disabled={!canInstallEntityStore} onChange={() => - setEnablements((prev) => ({ ...prev, entityStore: !prev.entityStore })) + setToggleState((prev) => ({ ...prev, entityStore: !prev.entityStore })) } /> @@ -183,15 +200,18 @@ export const EntityStoreEnablementModal: React.FC - {!enablementOptions ? {proceedWarning} : null} + {isInstallButtonDisabled && (canInstallRiskScore || canInstallEntityStore) ? ( + {proceedWarning} + ) : null} toggle(false)}>{'Cancel'} ({ from, to }), [from, to]); - const privileges = useMissingRiskEnginePrivileges(); + const privileges = useMissingRiskEnginePrivileges({ readonly: true }); const { data, diff --git a/x-pack/plugins/security_solution/public/entity_analytics/hooks/use_missing_risk_engine_privileges.ts b/x-pack/plugins/security_solution/public/entity_analytics/hooks/use_missing_risk_engine_privileges.ts index 9fa4c8d4b3881..f9a07684bbb9c 100644 --- a/x-pack/plugins/security_solution/public/entity_analytics/hooks/use_missing_risk_engine_privileges.ts +++ b/x-pack/plugins/security_solution/public/entity_analytics/hooks/use_missing_risk_engine_privileges.ts @@ -22,8 +22,14 @@ export type RiskEngineMissingPrivilegesResponse = hasAllRequiredPrivileges: false; }; +interface UseMissingRiskEnginePrivilegesParams { + /** + * If `true`, only read privileges are required. + */ + readonly: boolean; +} export const useMissingRiskEnginePrivileges = ( - required: NonEmptyArray = ['read', 'write'] + { readonly }: UseMissingRiskEnginePrivilegesParams = { readonly: false } ): RiskEngineMissingPrivilegesResponse => { const { data: privilegesResponse, isLoading } = useRiskEnginePrivileges(); @@ -41,14 +47,21 @@ export const useMissingRiskEnginePrivileges = ( }; } + const requiredIndexPrivileges: NonEmptyArray = readonly + ? ['read'] + : ['read', 'write']; + const { indexPrivileges, clusterPrivileges } = getMissingRiskEnginePrivileges( privilegesResponse.privileges, - required + requiredIndexPrivileges ); // privilegesResponse.has_all_required` is slightly misleading, it checks if it has *all* default required privileges. // Here we check if there are no missing privileges of the provided set of required privileges - if (indexPrivileges.every(([_, missingPrivileges]) => missingPrivileges.length === 0)) { + if ( + indexPrivileges.every(([_, missingPrivileges]) => missingPrivileges.length === 0) && + (readonly || clusterPrivileges.length === 0) // cluster privileges check is required for write operations + ) { return { isLoading: false, hasAllRequiredPrivileges: true, @@ -60,8 +73,8 @@ export const useMissingRiskEnginePrivileges = ( hasAllRequiredPrivileges: false, missingPrivileges: { indexPrivileges, - clusterPrivileges, + clusterPrivileges: readonly ? [] : clusterPrivileges, // cluster privileges are not required for readonly }, }; - }, [isLoading, privilegesResponse, required]); + }, [isLoading, privilegesResponse, readonly]); };