From 908ad07fa9ca5ef1d0895ca544d8da7e6db7a654 Mon Sep 17 00:00:00 2001 From: pgayvallet Date: Mon, 8 Sep 2025 14:27:47 +0200 Subject: [PATCH 1/6] [onechat] rename feature to "agent builder" --- config/serverless.yml | 2 -- x-pack/platform/plugins/shared/onechat/common/features.ts | 4 ++-- 2 files changed, 2 insertions(+), 4 deletions(-) diff --git a/config/serverless.yml b/config/serverless.yml index 7edd78e3112e8..88680b85f0272 100644 --- a/config/serverless.yml +++ b/config/serverless.yml @@ -16,8 +16,6 @@ xpack.fleet.internal.registry.spec.max: '3.4' ## Fine-tune the feature privileges. xpack.features.overrides: - onechat: - hidden: true dashboard: privileges: ### Dashboard's `All` feature privilege should implicitly grant `All` access to Maps and Visualize features. diff --git a/x-pack/platform/plugins/shared/onechat/common/features.ts b/x-pack/platform/plugins/shared/onechat/common/features.ts index 20f2fd7866f52..f0457a2eab628 100644 --- a/x-pack/platform/plugins/shared/onechat/common/features.ts +++ b/x-pack/platform/plugins/shared/onechat/common/features.ts @@ -5,8 +5,8 @@ * 2.0. */ -export const ONECHAT_FEATURE_ID = 'onechat'; -export const ONECHAT_FEATURE_NAME = 'onechat'; +export const ONECHAT_FEATURE_ID = 'agent_builder'; +export const ONECHAT_FEATURE_NAME = 'Agent Builder'; export const ONECHAT_APP_ID = 'onechat'; export const ONECHAT_PATH = '/app/chat'; export const ONECHAT_TITLE = 'Chat'; From 32f9bcfd82af821618cd9f86ff1d89f7967d92cc Mon Sep 17 00:00:00 2001 From: pgayvallet Date: Mon, 8 Sep 2025 14:34:33 +0200 Subject: [PATCH 2/6] rename feature name in tests --- x-pack/platform/plugins/shared/onechat/common/features.ts | 2 +- .../test/api_integration/apis/features/features/features.ts | 4 ++-- .../platform/test/api_integration/apis/security/privileges.ts | 2 +- .../test/api_integration_basic/apis/security/privileges.ts | 4 ++-- .../spaces_api_integration/spaces_only/telemetry/telemetry.ts | 2 +- 5 files changed, 7 insertions(+), 7 deletions(-) diff --git a/x-pack/platform/plugins/shared/onechat/common/features.ts b/x-pack/platform/plugins/shared/onechat/common/features.ts index f0457a2eab628..634092831a4fe 100644 --- a/x-pack/platform/plugins/shared/onechat/common/features.ts +++ b/x-pack/platform/plugins/shared/onechat/common/features.ts @@ -5,7 +5,7 @@ * 2.0. */ -export const ONECHAT_FEATURE_ID = 'agent_builder'; +export const ONECHAT_FEATURE_ID = 'agentBuilder'; export const ONECHAT_FEATURE_NAME = 'Agent Builder'; export const ONECHAT_APP_ID = 'onechat'; export const ONECHAT_PATH = '/app/chat'; diff --git a/x-pack/platform/test/api_integration/apis/features/features/features.ts b/x-pack/platform/test/api_integration/apis/features/features/features.ts index 43274401ed6e0..ffe27736f6a42 100644 --- a/x-pack/platform/test/api_integration/apis/features/features/features.ts +++ b/x-pack/platform/test/api_integration/apis/features/features/features.ts @@ -101,6 +101,7 @@ export default function ({ getService }: FtrProviderContext) { 'dataQuality', 'dev_tools', 'actions', + 'agentBuilder', 'enterpriseSearch', 'enterpriseSearchApplications', 'enterpriseSearchAnalytics', @@ -113,7 +114,6 @@ export default function ({ getService }: FtrProviderContext) { 'monitoring', 'observabilityAIAssistant', 'observabilityCasesV3', - 'onechat', 'savedObjectsManagement', 'savedQueryManagement', 'savedObjectsTagging', @@ -161,6 +161,7 @@ export default function ({ getService }: FtrProviderContext) { 'dataQuality', 'dev_tools', 'actions', + 'agentBuilder', 'enterpriseSearch', 'enterpriseSearchApplications', 'enterpriseSearchAnalytics', @@ -173,7 +174,6 @@ export default function ({ getService }: FtrProviderContext) { 'monitoring', 'observabilityAIAssistant', 'observabilityCasesV3', - 'onechat', 'savedObjectsManagement', 'savedQueryManagement', 'savedObjectsTagging', diff --git a/x-pack/platform/test/api_integration/apis/security/privileges.ts b/x-pack/platform/test/api_integration/apis/security/privileges.ts index 6757b061966bf..2eb19b6bc1490 100644 --- a/x-pack/platform/test/api_integration/apis/security/privileges.ts +++ b/x-pack/platform/test/api_integration/apis/security/privileges.ts @@ -83,7 +83,7 @@ export default function ({ getService }: FtrProviderContext) { 'cases_assign', ], observabilityAIAssistant: ['all', 'read', 'minimal_all', 'minimal_read'], - onechat: ['all', 'read', 'minimal_all', 'minimal_read'], + agentBuilder: ['all', 'read', 'minimal_all', 'minimal_read'], slo: ['all', 'read', 'minimal_all', 'minimal_read'], searchPlayground: ['all', 'read', 'minimal_all', 'minimal_read'], searchSynonyms: ['all', 'read', 'minimal_all', 'minimal_read'], diff --git a/x-pack/platform/test/api_integration_basic/apis/security/privileges.ts b/x-pack/platform/test/api_integration_basic/apis/security/privileges.ts index 3179810c63d49..6076ec67aabfa 100644 --- a/x-pack/platform/test/api_integration_basic/apis/security/privileges.ts +++ b/x-pack/platform/test/api_integration_basic/apis/security/privileges.ts @@ -43,7 +43,7 @@ export default function ({ getService }: FtrProviderContext) { observabilityCasesV2: ['all', 'read', 'minimal_all', 'minimal_read'], observabilityCasesV3: ['all', 'read', 'minimal_all', 'minimal_read'], observabilityAIAssistant: ['all', 'read', 'minimal_all', 'minimal_read'], - onechat: ['all', 'read', 'minimal_all', 'minimal_read'], + agentBuilder: ['all', 'read', 'minimal_all', 'minimal_read'], slo: ['all', 'read', 'minimal_all', 'minimal_read'], canvas: ['all', 'read', 'minimal_all', 'minimal_read'], infrastructure: ['all', 'read', 'minimal_all', 'minimal_read'], @@ -193,7 +193,7 @@ export default function ({ getService }: FtrProviderContext) { 'cases_assign', ], observabilityAIAssistant: ['all', 'read', 'minimal_all', 'minimal_read'], - onechat: ['all', 'read', 'minimal_all', 'minimal_read'], + agentBuilder: ['all', 'read', 'minimal_all', 'minimal_read'], slo: ['all', 'read', 'minimal_all', 'minimal_read'], searchPlayground: ['all', 'read', 'minimal_all', 'minimal_read'], searchSynonyms: ['all', 'read', 'minimal_all', 'minimal_read'], diff --git a/x-pack/platform/test/spaces_api_integration/spaces_only/telemetry/telemetry.ts b/x-pack/platform/test/spaces_api_integration/spaces_only/telemetry/telemetry.ts index 0fafc337a6677..d6de7da504a2a 100644 --- a/x-pack/platform/test/spaces_api_integration/spaces_only/telemetry/telemetry.ts +++ b/x-pack/platform/test/spaces_api_integration/spaces_only/telemetry/telemetry.ts @@ -79,7 +79,7 @@ export default function ({ getService }: FtrProviderContext) { observabilityCases: 0, observabilityCasesV2: 0, observabilityCasesV3: 0, - onechat: 0, + agentBuilder: 0, uptime: 0, slo: 0, infrastructure: 0, From d0c36d8bc1d4db0c12568945efa25b697cca06ae Mon Sep 17 00:00:00 2001 From: pgayvallet Date: Wed, 10 Sep 2025 08:02:32 +0200 Subject: [PATCH 3/6] move agent builder to solution feature section --- config/serverless.oblt.yml | 2 ++ config/serverless.security.yml | 6 +++++- 2 files changed, 7 insertions(+), 1 deletion(-) diff --git a/config/serverless.oblt.yml b/config/serverless.oblt.yml index 783da6c56e970..91b4a8ef03bdd 100644 --- a/config/serverless.oblt.yml +++ b/config/serverless.oblt.yml @@ -25,6 +25,8 @@ xpack.features.overrides: ### Discover feature should be moved from Analytics category to the Observability one and its privileges are ### fine-tuned to grant access to Observability app. discover_v2.category: 'observability' + ### Agent Builder should be moved from Analytics category to the Observability one. + agentBuilder.category: 'observability' # Customize empty page state for analytics apps no_data_page.analyticsNoDataPageFlavor: 'serverless_observability' diff --git a/config/serverless.security.yml b/config/serverless.security.yml index f5ded6def45c8..a9b244270fc67 100644 --- a/config/serverless.security.yml +++ b/config/serverless.security.yml @@ -20,10 +20,14 @@ xpack.features.overrides: visualize_v2.hidden: true maps.hidden: true maps_v2.hidden: true + ### agent builder feature is moved from Analytics category to the Security one the bottom + agentBuilder: + category: "security" + order: 1101 ### Machine Learning feature is moved from Analytics category to the Security one as the last item. ml: category: "security" - order: 1101 + order: 1102 ### Security's feature privileges are fine-tuned to grant access to Discover, Dashboard, Maps, and Visualize apps. siemV3: privileges: From 2de8a468c0fcdbcf0237b78db129873061e12469 Mon Sep 17 00:00:00 2001 From: pgayvallet Date: Wed, 10 Sep 2025 10:55:15 +0200 Subject: [PATCH 4/6] use correct category for ES too --- config/serverless.es.yml | 2 ++ 1 file changed, 2 insertions(+) diff --git a/config/serverless.es.yml b/config/serverless.es.yml index ac6e663f6af55..c9b6083e75c1b 100644 --- a/config/serverless.es.yml +++ b/config/serverless.es.yml @@ -41,6 +41,8 @@ xpack.fleet.internal.registry.excludePackages: [ ## Fine-tune the search solution feature privileges. Also, refer to `serverless.yml` for the project-agnostic overrides. xpack.features.overrides: + ### Agent Builder feature is moved from Analytics category to the Search one. + agentBuilder.category: 'enterpriseSearch' ### Dashboards feature is moved from Analytics category to the Search one. dashboard_v2.category: "enterpriseSearch" ### Dev Tools feature is moved from Analytics category to the Search one. From b96add62c0552024c8fda9ceee68348ffb7d074c Mon Sep 17 00:00:00 2001 From: pgayvallet Date: Wed, 10 Sep 2025 10:57:19 +0200 Subject: [PATCH 5/6] adapt test cases --- .../functional/test_suites/logs_essentials_only/privileges.ts | 3 ++- .../test/serverless/functional/test_suites/privileges.ts | 3 ++- 2 files changed, 4 insertions(+), 2 deletions(-) diff --git a/x-pack/solutions/observability/test/serverless/functional/test_suites/logs_essentials_only/privileges.ts b/x-pack/solutions/observability/test/serverless/functional/test_suites/logs_essentials_only/privileges.ts index b2d96b0d8a408..9d5e4208d5b6a 100644 --- a/x-pack/solutions/observability/test/serverless/functional/test_suites/logs_essentials_only/privileges.ts +++ b/x-pack/solutions/observability/test/serverless/functional/test_suites/logs_essentials_only/privileges.ts @@ -51,12 +51,13 @@ export default function ({ getPageObject, getPageObjects, getService }: FtrProvi return await privilege.getVisibleText(); }) ); - expect(privileges.length).to.be(4); + expect(privileges.length).to.be(5); expect(text).to.eql([ 'Discover\nAll\nRead\nNone', 'Dashboard\nAll\nRead\nNone', 'Streams\nAll\nRead\nNone', 'Logs\nAll\nRead\nNone', + 'Agent Builder\nAll\nRead\nNone', ]); }); diff --git a/x-pack/solutions/observability/test/serverless/functional/test_suites/privileges.ts b/x-pack/solutions/observability/test/serverless/functional/test_suites/privileges.ts index 1491c4b14a9f0..183d1bcd198f6 100644 --- a/x-pack/solutions/observability/test/serverless/functional/test_suites/privileges.ts +++ b/x-pack/solutions/observability/test/serverless/functional/test_suites/privileges.ts @@ -51,7 +51,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { return await privilege.getVisibleText(); }) ); - expect(privileges.length).to.be(11); + expect(privileges.length).to.be(12); expect(text).to.eql([ 'Discover\nAll\nRead\nNone', 'Dashboard\nAll\nRead\nNone', @@ -64,6 +64,7 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { 'Machine Learning\nAll\nRead\nNone', 'SLOs\nAll\nRead\nNone', 'Observability AI Assistant\nAll\nNone', + 'Agent Builder\nAll\nRead\nNone', ]); }); From 4afcb3d802ce1b207414d3e28e3223eba91badd3 Mon Sep 17 00:00:00 2001 From: pgayvallet Date: Wed, 10 Sep 2025 14:59:16 +0200 Subject: [PATCH 6/6] fix test againain --- .../test/serverless/functional/test_suites/privileges.ts | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/x-pack/solutions/observability/test/serverless/functional/test_suites/privileges.ts b/x-pack/solutions/observability/test/serverless/functional/test_suites/privileges.ts index 183d1bcd198f6..f35c47db2895e 100644 --- a/x-pack/solutions/observability/test/serverless/functional/test_suites/privileges.ts +++ b/x-pack/solutions/observability/test/serverless/functional/test_suites/privileges.ts @@ -59,12 +59,12 @@ export default function ({ getPageObjects, getService }: FtrProviderContext) { 'Logs\nAll\nRead\nNone', 'Infrastructure\nAll\nRead\nNone', 'Applications\nAll\nRead\nNone', + 'Agent Builder\nAll\nRead\nNone', 'Synthetics\nAll\nRead\nNone', 'Cases\nAll\nRead\nNone', 'Machine Learning\nAll\nRead\nNone', 'SLOs\nAll\nRead\nNone', 'Observability AI Assistant\nAll\nNone', - 'Agent Builder\nAll\nRead\nNone', ]); });