Skip to content

Commit

Permalink
[Search] Enable AI Assistant in Search solution view (#198941)
Browse files Browse the repository at this point in the history
## Summary

This enables the Observability AI Assistant (which is also the Search AI
Assistant) in the Search solution view.
  • Loading branch information
sphilipse authored Nov 5, 2024
1 parent a91427d commit 62d1670
Show file tree
Hide file tree
Showing 4 changed files with 14 additions and 6 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -4,6 +4,7 @@
* 2.0; you may not use this file except in compliance with the Elastic License
* 2.0.
*/
import type { SolutionId } from '@kbn/core-chrome-browser';
import type { KibanaFeature } from '@kbn/features-plugin/server';

import type { SolutionView } from '../../../common';
Expand All @@ -23,6 +24,16 @@ const getFeatureIdsForCategories = (
.map((feature) => feature.id);
};

/**
* These features will be enabled per solution view, even if they fall under a category that is disabled in the solution.
*/

const enabledFeaturesPerSolution: Record<SolutionId, string[]> = {
es: ['observabilityAIAssistant'],
oblt: [],
security: [],
};

/**
* When a space has a `solution` defined, we want to disable features that are not part of that solution.
* This function takes the current space's disabled features and the space solution and returns
Expand All @@ -47,17 +58,17 @@ export function withSpaceSolutionDisabledFeatures(
disabledFeatureKeysFromSolution = getFeatureIdsForCategories(features, [
'observability',
'securitySolution',
]);
]).filter((featureId) => !enabledFeaturesPerSolution.es.includes(featureId));
} else if (spaceSolution === 'oblt') {
disabledFeatureKeysFromSolution = getFeatureIdsForCategories(features, [
'enterpriseSearch',
'securitySolution',
]);
]).filter((featureId) => !enabledFeaturesPerSolution.oblt.includes(featureId));
} else if (spaceSolution === 'security') {
disabledFeatureKeysFromSolution = getFeatureIdsForCategories(features, [
'observability',
'enterpriseSearch',
]);
]).filter((featureId) => !enabledFeaturesPerSolution.security.includes(featureId));
}

return Array.from(new Set([...disabledFeatureKeysFromSolution]));
Expand Down
1 change: 0 additions & 1 deletion x-pack/test/spaces_api_integration/common/suites/create.ts
Original file line number Diff line number Diff line change
Expand Up @@ -80,7 +80,6 @@ export function createTestSuiteFactory(esArchiver: any, supertest: SuperTest<any
'infrastructure',
'inventory',
'logs',
'observabilityAIAssistant',
'observabilityCases',
'securitySolutionAssistant',
'securitySolutionAttackDiscovery',
Expand Down
1 change: 0 additions & 1 deletion x-pack/test/spaces_api_integration/common/suites/get.ts
Original file line number Diff line number Diff line change
Expand Up @@ -84,7 +84,6 @@ export function getTestSuiteFactory(esArchiver: any, supertest: SuperAgent<any>)
'infrastructure',
'inventory',
'logs',
'observabilityAIAssistant',
'observabilityCases',
'securitySolutionAssistant',
'securitySolutionAttackDiscovery',
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -79,7 +79,6 @@ const ALL_SPACE_RESULTS: Space[] = [
'infrastructure',
'inventory',
'logs',
'observabilityAIAssistant',
'observabilityCases',
'securitySolutionAssistant',
'securitySolutionAttackDiscovery',
Expand Down

0 comments on commit 62d1670

Please sign in to comment.