[8.12] Add generativeAIForObservability feature for stack connectors (#173826) (#173923)

# Backport

This will backport the following commits from `main` to `8.12`:
- [Add generativeAIForObservability feature for stack connectors
(#173826)](https://github.com/elastic/kibana/pull/173826)

<!--- Backport version: 8.9.7 -->

### Questions ?
Please refer to the [Backport tool
documentation](https://github.com/sqren/backport)

<!--BACKPORT [{"author":{"name":"Coen
Warmer","email":"coen.warmer@gmail.com"},"sourceCommit":{"committedDate":"2023-12-22T14:11:55Z","message":"Add
generativeAIForObservability feature for stack connectors
(#173826)\n\nResolves
https://github.com/elastic/obs-ai-assistant-team/issues/126\r\n\r\n##
Summary\r\n\r\nThis adds a a feature id called
`generativeAIForObservability` and adds\r\nit to the OpenAI connector.
That way the Add Connector Flyout can show\r\nonly the connectors
Observability currently
supports.\r\n\r\n\r\n\r\n378beef1-50de-44c4-9a06-c35bbf5680d8","sha":"f8100a8f80dc957ad574d9570f1781ba148990fb","branchLabelMapping":{"^v8.13.0$":"main","^v(\\d+).(\\d+).\\d+$":"$1.$2"}},"sourcePullRequest":{"labels":["release_note:skip","backport:prev-minor","v8.12.0","v8.13.0"],"number":173826,"url":"https://github.com/elastic/kibana/pull/173826","mergeCommit":{"message":"Add
generativeAIForObservability feature for stack connectors
(#173826)\n\nResolves
https://github.com/elastic/obs-ai-assistant-team/issues/126\r\n\r\n##
Summary\r\n\r\nThis adds a a feature id called
`generativeAIForObservability` and adds\r\nit to the OpenAI connector.
That way the Add Connector Flyout can show\r\nonly the connectors
Observability currently
supports.\r\n\r\n\r\n\r\n378beef1-50de-44c4-9a06-c35bbf5680d8","sha":"f8100a8f80dc957ad574d9570f1781ba148990fb"}},"sourceBranch":"main","suggestedTargetBranches":["8.12"],"targetPullRequestStates":[{"branch":"8.12","label":"v8.12.0","labelRegex":"^v(\\d+).(\\d+).\\d+$","isSourceBranch":false,"state":"NOT_CREATED"},{"branch":"main","label":"v8.13.0","labelRegex":"^v8.13.0$","isSourceBranch":true,"state":"MERGED","url":"https://github.com/elastic/kibana/pull/173826","number":173826,"mergeCommit":{"message":"Add
generativeAIForObservability feature for stack connectors
(#173826)\n\nResolves
https://github.com/elastic/obs-ai-assistant-team/issues/126\r\n\r\n##
Summary\r\n\r\nThis adds a a feature id called
`generativeAIForObservability` and adds\r\nit to the OpenAI connector.
That way the Add Connector Flyout can show\r\nonly the connectors
Observability currently
supports.\r\n\r\n\r\n\r\n378beef1-50de-44c4-9a06-c35bbf5680d8","sha":"f8100a8f80dc957ad574d9570f1781ba148990fb"}}]}]
BACKPORT-->

Co-authored-by: Coen Warmer <coen.warmer@gmail.com>
This commit is contained in:
Kibana Machine 2023-12-22 10:26:38 -05:00 committed by GitHub
parent 765b6c411c
commit 55d0900911
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
3 changed files with 25 additions and 3 deletions

View file

@ -26,6 +26,7 @@ export const CasesConnectorFeatureId = 'cases';
export const UptimeConnectorFeatureId = 'uptime';
export const SecurityConnectorFeatureId = 'siem';
export const GenerativeAIConnectorFeatureId = 'generativeAI';
export const GenerativeAIForObservabilityConnectorFeatureId = 'generativeAIForObservability';
const compatibilityGenerativeAI = i18n.translate(
'xpack.actions.availableConnectorFeatures.compatibility.generativeAI',
@ -34,6 +35,13 @@ const compatibilityGenerativeAI = i18n.translate(
}
);
const compatibilityGenerativeAIForObservability = i18n.translate(
'xpack.actions.availableConnectorFeatures.compatibility.generativeAIForObservability',
{
defaultMessage: 'Generative AI For Observability',
}
);
const compatibilityAlertingRules = i18n.translate(
'xpack.actions.availableConnectorFeatures.compatibility.alertingRules',
{
@ -86,12 +94,19 @@ export const GenerativeAIFeature: ConnectorFeatureConfig = {
compatibility: compatibilityGenerativeAI,
};
export const GenerativeAIForObservabilityFeature: ConnectorFeatureConfig = {
id: GenerativeAIForObservabilityConnectorFeatureId,
name: compatibilityGenerativeAIForObservability,
compatibility: compatibilityGenerativeAIForObservability,
};
const AllAvailableConnectorFeatures = {
[AlertingConnectorFeature.id]: AlertingConnectorFeature,
[CasesConnectorFeature.id]: CasesConnectorFeature,
[UptimeConnectorFeature.id]: UptimeConnectorFeature,
[SecuritySolutionFeature.id]: SecuritySolutionFeature,
[GenerativeAIFeature.id]: GenerativeAIFeature,
[GenerativeAIForObservabilityFeature.id]: GenerativeAIForObservabilityFeature,
};
export function areValidFeatures(ids: string[]) {

View file

@ -17,6 +17,7 @@ import {
} from '@elastic/eui';
import { i18n } from '@kbn/i18n';
import type { ActionConnector } from '@kbn/triggers-actions-ui-plugin/public';
import { GenerativeAIForObservabilityConnectorFeatureId } from '@kbn/actions-plugin/common';
import type { UseKnowledgeBaseResult } from '../../hooks/use_knowledge_base';
import type { UseGenAIConnectorsResult } from '../../hooks/use_genai_connectors';
import ctaImage from '../../assets/elastic_ai_assistant.png';
@ -121,7 +122,7 @@ export function WelcomeMessage({
{connectorFlyoutOpen ? (
<ConnectorFlyout
featureId="generativeAI"
featureId={GenerativeAIForObservabilityConnectorFeatureId}
onConnectorCreated={onConnectorCreated}
onClose={() => setConnectorFlyoutOpen(false)}
/>

View file

@ -10,7 +10,10 @@ import {
SubActionConnectorType,
ValidatorType,
} from '@kbn/actions-plugin/server/sub_action_framework/types';
import { GenerativeAIConnectorFeatureId } from '@kbn/actions-plugin/common';
import {
GenerativeAIConnectorFeatureId,
GenerativeAIForObservabilityConnectorFeatureId,
} 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';
@ -33,7 +36,10 @@ export const getConnectorType = (): SubActionConnectorType<Config, Secrets> => (
secrets: SecretsSchema,
},
validators: [{ type: ValidatorType.CONFIG, validator: configValidator }],
supportedFeatureIds: [GenerativeAIConnectorFeatureId],
supportedFeatureIds: [
GenerativeAIConnectorFeatureId,
GenerativeAIForObservabilityConnectorFeatureId,
],
minimumLicenseRequired: 'enterprise' as const,
renderParameterTemplates,
});