mirror of
https://github.com/elastic/kibana.git
synced 2025-04-23 09:19:04 -04:00
Rename connector compatibility for Generative AI so it is split between security and o11y (#174000)
In this PR, I'm renaming `Generative AI` to `Generative AI for Security` in the connectors comatibility list so we have a split on Gen AI for Security and Observability (follow up from https://github.com/elastic/kibana/pull/173826). ## Screenshots <img width="419" alt="Screenshot 2024-01-03 at 11 53 00 AM" src="cb53c304
-c96e-42c9-bce2-94b130040907"> <img width="542" alt="Screenshot 2024-01-03 at 11 53 32 AM" src="6185010a
-4b99-4dc7-bf62-9915c7b75a88"> <img width="1008" alt="Screenshot 2024-01-03 at 11 53 39 AM" src="26301ee6
-a50f-40ac-b898-91bf3e67c719"> ## To verify **Connectors** 1. Startup Kibana in trial mode 2. Open the create Bedrock connector flyout from the connectors page 3. Notice the compatibility is only for Security 4. Create a Bedrock connector (input random text in all fields to pass validation) 5. Open the create OpenAI connector from the connectors page 6. Notice the compatibility is for Security and Observability 7. Create an OpenAI connector (input random text in all fields to pass validation) **Security Solution** 9. Navigate to the Security solution (`/app/security/get_started`) 10. Open the AI Assistant on the top right 11. Open the `Conversation Settings` 12. See OpenAI and Bedrock connectors displaying **Observability** 13. Navigate to the Observability app (`/app/observability/overview`) 14. Open the AI Assistant on the top right 15. Select the actions menu on the top right of the flyout and open `AI Assistant Settings` 16. Open the default connector dropdown 17. Notice only OpenAI connectors displaying
This commit is contained in:
parent
71db3d93e7
commit
c39fac616b
10 changed files with 21 additions and 24 deletions
|
@ -37,7 +37,7 @@ describe('useLoadActionTypes', () => {
|
|||
await waitForNextUpdate();
|
||||
|
||||
expect(defaultProps.http.get).toHaveBeenCalledWith('/api/actions/connector_types', {
|
||||
query: { feature_id: 'generativeAI' },
|
||||
query: { feature_id: 'generativeAIForSecurity' },
|
||||
});
|
||||
expect(toasts.addError).not.toHaveBeenCalled();
|
||||
});
|
||||
|
|
|
@ -15,7 +15,7 @@ import type { IHttpFetchError } from '@kbn/core-http-browser';
|
|||
import type { ActionType } from '@kbn/actions-plugin/common';
|
||||
import { HttpSetup } from '@kbn/core-http-browser';
|
||||
import { IToasts } from '@kbn/core-notifications-browser';
|
||||
import { GenerativeAIConnectorFeatureId } from '@kbn/actions-plugin/common';
|
||||
import { GenerativeAIForSecurityConnectorFeatureId } from '@kbn/actions-plugin/common';
|
||||
import * as i18n from '../translations';
|
||||
|
||||
/**
|
||||
|
@ -39,7 +39,7 @@ export const useLoadActionTypes = ({
|
|||
async () => {
|
||||
const queryResult = await loadActionTypes({
|
||||
http,
|
||||
featureId: GenerativeAIConnectorFeatureId,
|
||||
featureId: GenerativeAIForSecurityConnectorFeatureId,
|
||||
});
|
||||
const sortedData = queryResult.sort((a, b) => a.name.localeCompare(b.name));
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ import {
|
|||
|
||||
describe('areValidFeatures', () => {
|
||||
it('returns true when all inputs are valid features', () => {
|
||||
expect(areValidFeatures(['alerting', 'cases', 'generativeAI'])).toBeTruthy();
|
||||
expect(areValidFeatures(['alerting', 'cases', 'generativeAIForSecurity'])).toBeTruthy();
|
||||
});
|
||||
|
||||
it('returns true when only one input and it is a valid feature', () => {
|
||||
|
@ -43,8 +43,8 @@ describe('getConnectorFeatureName', () => {
|
|||
describe('getConnectorCompatibility', () => {
|
||||
it('returns the compatibility list for valid feature ids', () => {
|
||||
expect(
|
||||
getConnectorCompatibility(['alerting', 'cases', 'uptime', 'siem', 'generativeAI'])
|
||||
).toEqual(['Alerting Rules', 'Cases', 'Generative AI']);
|
||||
getConnectorCompatibility(['alerting', 'cases', 'uptime', 'siem', 'generativeAIForSecurity'])
|
||||
).toEqual(['Alerting Rules', 'Cases', 'Generative AI for Security']);
|
||||
});
|
||||
|
||||
it('skips invalid feature ids', () => {
|
||||
|
|
|
@ -25,20 +25,20 @@ export const AlertingConnectorFeatureId = 'alerting';
|
|||
export const CasesConnectorFeatureId = 'cases';
|
||||
export const UptimeConnectorFeatureId = 'uptime';
|
||||
export const SecurityConnectorFeatureId = 'siem';
|
||||
export const GenerativeAIConnectorFeatureId = 'generativeAI';
|
||||
export const GenerativeAIForSecurityConnectorFeatureId = 'generativeAIForSecurity';
|
||||
export const GenerativeAIForObservabilityConnectorFeatureId = 'generativeAIForObservability';
|
||||
|
||||
const compatibilityGenerativeAI = i18n.translate(
|
||||
'xpack.actions.availableConnectorFeatures.compatibility.generativeAI',
|
||||
const compatibilityGenerativeAIForSecurity = i18n.translate(
|
||||
'xpack.actions.availableConnectorFeatures.compatibility.generativeAIForSecurity',
|
||||
{
|
||||
defaultMessage: 'Generative AI',
|
||||
defaultMessage: 'Generative AI for Security',
|
||||
}
|
||||
);
|
||||
|
||||
const compatibilityGenerativeAIForObservability = i18n.translate(
|
||||
'xpack.actions.availableConnectorFeatures.compatibility.generativeAIForObservability',
|
||||
{
|
||||
defaultMessage: 'Generative AI For Observability',
|
||||
defaultMessage: 'Generative AI for Observability',
|
||||
}
|
||||
);
|
||||
|
||||
|
@ -88,10 +88,10 @@ export const SecuritySolutionFeature: ConnectorFeatureConfig = {
|
|||
compatibility: compatibilityAlertingRules,
|
||||
};
|
||||
|
||||
export const GenerativeAIFeature: ConnectorFeatureConfig = {
|
||||
id: GenerativeAIConnectorFeatureId,
|
||||
name: compatibilityGenerativeAI,
|
||||
compatibility: compatibilityGenerativeAI,
|
||||
export const GenerativeAIForSecurityFeature: ConnectorFeatureConfig = {
|
||||
id: GenerativeAIForSecurityConnectorFeatureId,
|
||||
name: compatibilityGenerativeAIForSecurity,
|
||||
compatibility: compatibilityGenerativeAIForSecurity,
|
||||
};
|
||||
|
||||
export const GenerativeAIForObservabilityFeature: ConnectorFeatureConfig = {
|
||||
|
@ -105,7 +105,7 @@ const AllAvailableConnectorFeatures = {
|
|||
[CasesConnectorFeature.id]: CasesConnectorFeature,
|
||||
[UptimeConnectorFeature.id]: UptimeConnectorFeature,
|
||||
[SecuritySolutionFeature.id]: SecuritySolutionFeature,
|
||||
[GenerativeAIFeature.id]: GenerativeAIFeature,
|
||||
[GenerativeAIForSecurityFeature.id]: GenerativeAIForSecurityFeature,
|
||||
[GenerativeAIForObservabilityFeature.id]: GenerativeAIForObservabilityFeature,
|
||||
};
|
||||
|
||||
|
|
|
@ -13,7 +13,7 @@ export {
|
|||
CasesConnectorFeatureId,
|
||||
UptimeConnectorFeatureId,
|
||||
SecurityConnectorFeatureId,
|
||||
GenerativeAIConnectorFeatureId,
|
||||
GenerativeAIForSecurityConnectorFeatureId,
|
||||
} from './connector_feature_config';
|
||||
export interface ActionType {
|
||||
id: string;
|
||||
|
|
|
@ -10,7 +10,7 @@ import {
|
|||
SubActionConnectorType,
|
||||
ValidatorType,
|
||||
} from '@kbn/actions-plugin/server/sub_action_framework/types';
|
||||
import { GenerativeAIConnectorFeatureId } from '@kbn/actions-plugin/common';
|
||||
import { GenerativeAIForSecurityConnectorFeatureId } from '@kbn/actions-plugin/common';
|
||||
import { urlAllowListValidator } from '@kbn/actions-plugin/server';
|
||||
import { ValidatorServices } from '@kbn/actions-plugin/server/types';
|
||||
import { assertURL } from '@kbn/actions-plugin/server/sub_action_framework/helpers/validators';
|
||||
|
@ -29,7 +29,7 @@ export const getConnectorType = (): SubActionConnectorType<Config, Secrets> => (
|
|||
secrets: SecretsSchema,
|
||||
},
|
||||
validators: [{ type: ValidatorType.CONFIG, validator: configValidator }],
|
||||
supportedFeatureIds: [GenerativeAIConnectorFeatureId],
|
||||
supportedFeatureIds: [GenerativeAIForSecurityConnectorFeatureId],
|
||||
minimumLicenseRequired: 'enterprise' as const,
|
||||
renderParameterTemplates,
|
||||
});
|
||||
|
|
|
@ -11,7 +11,7 @@ import {
|
|||
ValidatorType,
|
||||
} from '@kbn/actions-plugin/server/sub_action_framework/types';
|
||||
import {
|
||||
GenerativeAIConnectorFeatureId,
|
||||
GenerativeAIForSecurityConnectorFeatureId,
|
||||
GenerativeAIForObservabilityConnectorFeatureId,
|
||||
} from '@kbn/actions-plugin/common';
|
||||
import { urlAllowListValidator } from '@kbn/actions-plugin/server';
|
||||
|
@ -37,7 +37,7 @@ export const getConnectorType = (): SubActionConnectorType<Config, Secrets> => (
|
|||
},
|
||||
validators: [{ type: ValidatorType.CONFIG, validator: configValidator }],
|
||||
supportedFeatureIds: [
|
||||
GenerativeAIConnectorFeatureId,
|
||||
GenerativeAIForSecurityConnectorFeatureId,
|
||||
GenerativeAIForObservabilityConnectorFeatureId,
|
||||
],
|
||||
minimumLicenseRequired: 'enterprise' as const,
|
||||
|
|
|
@ -7621,7 +7621,6 @@
|
|||
"xpack.actions.availableConnectorFeatures.cases": "Cas",
|
||||
"xpack.actions.availableConnectorFeatures.compatibility.alertingRules": "Règles d'alerting",
|
||||
"xpack.actions.availableConnectorFeatures.compatibility.cases": "Cas",
|
||||
"xpack.actions.availableConnectorFeatures.compatibility.generativeAI": "IA générative",
|
||||
"xpack.actions.availableConnectorFeatures.securitySolution": "Solution de sécurité",
|
||||
"xpack.actions.availableConnectorFeatures.uptime": "Uptime",
|
||||
"xpack.actions.builtin.cases.jiraTitle": "Jira",
|
||||
|
|
|
@ -7636,7 +7636,6 @@
|
|||
"xpack.actions.availableConnectorFeatures.cases": "ケース",
|
||||
"xpack.actions.availableConnectorFeatures.compatibility.alertingRules": "アラートルール",
|
||||
"xpack.actions.availableConnectorFeatures.compatibility.cases": "ケース",
|
||||
"xpack.actions.availableConnectorFeatures.compatibility.generativeAI": "生成AI",
|
||||
"xpack.actions.availableConnectorFeatures.securitySolution": "セキュリティソリューション",
|
||||
"xpack.actions.availableConnectorFeatures.uptime": "アップタイム",
|
||||
"xpack.actions.builtin.cases.jiraTitle": "Jira",
|
||||
|
|
|
@ -7702,7 +7702,6 @@
|
|||
"xpack.actions.availableConnectorFeatures.cases": "案例",
|
||||
"xpack.actions.availableConnectorFeatures.compatibility.alertingRules": "告警规则",
|
||||
"xpack.actions.availableConnectorFeatures.compatibility.cases": "案例",
|
||||
"xpack.actions.availableConnectorFeatures.compatibility.generativeAI": "生成式 AI",
|
||||
"xpack.actions.availableConnectorFeatures.securitySolution": "安全解决方案",
|
||||
"xpack.actions.availableConnectorFeatures.uptime": "运行时间",
|
||||
"xpack.actions.builtin.cases.jiraTitle": "Jira",
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue