From 029eb3104ae878f8178bb1d936183f7488a8f1f2 Mon Sep 17 00:00:00 2001 From: Steph Milovic Date: Wed, 24 May 2023 16:47:35 -0600 Subject: [PATCH] [Security solution] Generative AI Connector (#157228) --- docs/management/action-types.asciidoc | 5 + .../connectors/action-types/gen-ai.asciidoc | 89 +++++ .../connectors/images/gen-ai-connector.png | Bin 0 -> 198821 bytes .../connectors/images/gen-ai-params-test.png | Bin 0 -> 183534 bytes docs/management/connectors/index.asciidoc | 1 + docs/settings/alert-action-settings.asciidoc | 2 +- .../common/connector_feature_config.test.ts | 5 +- .../common/connector_feature_config.ts | 15 + x-pack/plugins/actions/common/types.ts | 1 + .../helpers/validators.test.ts | 32 ++ .../helpers/validators.ts | 17 + .../sub_action_connector.ts | 16 +- .../common/gen_ai/constants.ts | 24 ++ .../stack_connectors/common/gen_ai/schema.ts | 22 ++ .../stack_connectors/common/gen_ai/types.ts | 19 ++ x-pack/plugins/stack_connectors/kibana.jsonc | 3 + .../stack_connectors/public/common/index.ts | 11 + .../connector_types/gen_ai/connector.test.tsx | 195 +++++++++++ .../connector_types/gen_ai/connector.tsx | 207 ++++++++++++ .../connector_types/gen_ai/constants.ts | 24 ++ .../connector_types/gen_ai/gen_ai.test.tsx | 83 +++++ .../public/connector_types/gen_ai/gen_ai.tsx | 61 ++++ .../public/connector_types/gen_ai/index.ts | 8 + .../public/connector_types/gen_ai/logo.tsx | 27 ++ .../connector_types/gen_ai/params.test.tsx | 146 ++++++++ .../public/connector_types/gen_ai/params.tsx | 90 +++++ .../connector_types/gen_ai/translations.ts | 89 +++++ .../public/connector_types/gen_ai/types.ts | 35 ++ .../public/connector_types/index.ts | 2 + .../connector_types/gen_ai/api_schema.ts | 33 ++ .../connector_types/gen_ai/gen_ai.test.ts | 99 ++++++ .../server/connector_types/gen_ai/gen_ai.ts | 74 ++++ .../connector_types/gen_ai/index.test.ts | 108 ++++++ .../server/connector_types/gen_ai/index.ts | 73 ++++ .../connector_types/gen_ai/render.test.ts | 47 +++ .../server/connector_types/gen_ai/render.ts | 26 ++ .../server/connector_types/index.ts | 2 + .../stack_connectors/server/plugin.test.ts | 29 ++ .../public/common/constants/index.ts | 4 + .../alerting_api_integration/common/config.ts | 1 + .../server/gen_ai_simulation.ts | 67 ++++ .../tests/actions/connector_types/gen_ai.ts | 316 ++++++++++++++++++ .../group2/tests/actions/index.ts | 1 + .../check_registered_connector_types.ts | 1 + .../check_registered_task_types.ts | 1 + 45 files changed, 2094 insertions(+), 17 deletions(-) create mode 100644 docs/management/connectors/action-types/gen-ai.asciidoc create mode 100644 docs/management/connectors/images/gen-ai-connector.png create mode 100644 docs/management/connectors/images/gen-ai-params-test.png create mode 100644 x-pack/plugins/actions/server/sub_action_framework/helpers/validators.test.ts create mode 100644 x-pack/plugins/stack_connectors/common/gen_ai/constants.ts create mode 100644 x-pack/plugins/stack_connectors/common/gen_ai/schema.ts create mode 100644 x-pack/plugins/stack_connectors/common/gen_ai/types.ts create mode 100644 x-pack/plugins/stack_connectors/public/common/index.ts create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.test.tsx create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.tsx create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/constants.ts create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.test.tsx create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.tsx create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/index.ts create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/logo.tsx create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.test.tsx create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.tsx create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/translations.ts create mode 100644 x-pack/plugins/stack_connectors/public/connector_types/gen_ai/types.ts create mode 100644 x-pack/plugins/stack_connectors/server/connector_types/gen_ai/api_schema.ts create mode 100644 x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.test.ts create mode 100644 x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.ts create mode 100644 x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.test.ts create mode 100644 x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts create mode 100644 x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.test.ts create mode 100644 x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.ts create mode 100644 x-pack/test/alerting_api_integration/common/plugins/actions_simulators/server/gen_ai_simulation.ts create mode 100644 x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/connector_types/gen_ai.ts diff --git a/docs/management/action-types.asciidoc b/docs/management/action-types.asciidoc index 4e9adbd8c8e7..40963e765b5c 100644 --- a/docs/management/action-types.asciidoc +++ b/docs/management/action-types.asciidoc @@ -78,6 +78,11 @@ a| <> a| <> | Trigger a Torq workflow. + +a| <> + +| Send a request to OpenAI. + |=== [NOTE] diff --git a/docs/management/connectors/action-types/gen-ai.asciidoc b/docs/management/connectors/action-types/gen-ai.asciidoc new file mode 100644 index 000000000000..dda7ebc3e190 --- /dev/null +++ b/docs/management/connectors/action-types/gen-ai.asciidoc @@ -0,0 +1,89 @@ +[[gen-ai-action-type]] +== Generative AI connector and action +++++ +Generative AI +++++ + +The Generative AI connector uses https://github.com/axios/axios[axios] to send a POST request to an OpenAI provider, either OpenAI or Azure OpenAI. The connector uses the <> to send the request. + +[float] +[[define-gen-ai-ui]] +=== Create connectors in {kib} + +You can create connectors in *{stack-manage-app} > {connectors-ui}*. For example: + +[role="screenshot"] +image::management/connectors/images/gen-ai-connector.png[Generative AI connector] + +[float] +[[gen-ai-connector-configuration]] +==== Connector configuration + +Generative AI connectors have the following configuration properties: + +Name:: The name of the connector. +API Provider:: The OpenAI API provider, either OpenAI or Azure OpenAI. +API URL:: The OpenAI request URL. +API Key:: The OpenAI or Azure OpenAI API key for authentication. + +[float] +[[preconfigured-gen-ai-configuration]] +=== Create preconfigured connectors + +If you are running {kib} on-prem, you can define connectors by +adding `xpack.actions.preconfigured` settings to your `kibana.yml` file. +For example: + +[source,text] +-- +xpack.actions.preconfigured: + my-gen-ai: + name: preconfigured-gen-ai-connector-type + actionTypeId: .gen-ai + config: + apiUrl: https://api.openai.com/v1/chat/completions + apiProvider: 'Azure OpenAI' + secrets: + apiKey: superlongapikey +-- + +Config defines information for the connector type. + +`apiProvider`:: A string that corresponds to *OpenAI API Provider*. +`apiUrl`:: A URL string that corresponds to the *OpenAI API URL*. + +Secrets defines sensitive information for the connector type. + +`apiKey`:: A string that corresponds to *OpenAI API Key*. + +[float] +[[gen-ai-action-configuration]] +=== Test connectors + +You can test connectors with the <> or +as you're creating or editing the connector in {kib}. For example: + +[role="screenshot"] +image::management/connectors/images/gen-ai-params-test.png[Generative AI params test] + +The Generative AI actions have the following configuration properties. + +Body:: A JSON payload sent to the OpenAI API URL. For example: ++ +[source,text] +-- +{ + "model": "gpt-3.5-turbo", + "messages": [ + { + "role": "user", + "content": "Hello world" + } + ] +} +-- +[float] +[[gen-ai-connector-networking-configuration]] +=== Connector networking configuration + +Use the <> to customize connector networking configurations, such as proxies, certificates, or TLS settings. You can set configurations that apply to all your connectors or use `xpack.actions.customHostSettings` to set per-host configurations. \ No newline at end of file diff --git a/docs/management/connectors/images/gen-ai-connector.png b/docs/management/connectors/images/gen-ai-connector.png new file mode 100644 index 0000000000000000000000000000000000000000..7306f6b28383c41c54a34f84963a41067febe46f GIT binary patch literal 198821 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≥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 tZ8h*jI#1;M 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 K<)Vw$A^!&&;G>ZM literal 0 HcmV?d00001 diff --git a/docs/management/connectors/index.asciidoc b/docs/management/connectors/index.asciidoc index 86adf5d49581..25a6ec1d042c 100644 --- a/docs/management/connectors/index.asciidoc +++ b/docs/management/connectors/index.asciidoc @@ -16,4 +16,5 @@ include::action-types/torq.asciidoc[leveloffset=+1] include::action-types/webhook.asciidoc[leveloffset=+1] include::action-types/cases-webhook.asciidoc[leveloffset=+1] include::action-types/xmatters.asciidoc[leveloffset=+1] +include::action-types/gen-ai.asciidoc[leveloffset=+1] include::pre-configured-connectors.asciidoc[leveloffset=+1] diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index 7cebc648ca13..c749c074483c 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -138,7 +138,7 @@ WARNING: This feature is available in {kib} 7.17.4 and 8.3.0 onwards but is not A boolean value indicating that a footer with a relevant link should be added to emails sent as alerting actions. Default: true. `xpack.actions.enabledActionTypes` {ess-icon}:: -A list of action types that are enabled. It defaults to `[*]`, enabling all types. The names for built-in {kib} action types are prefixed with a `.` and include: `.email`, `.index`, `.jira`, `.opsgenie`, `.pagerduty`, `.resilient`, `.server-log`, `.servicenow`, .`servicenow-itom`, `.servicenow-sir`, `.slack`, `.swimlane`, `.teams`, `.tines`, `.torq`, `.xmatters`, and `.webhook`. An empty list `[]` will disable all action types. +A list of action types that are enabled. It defaults to `[*]`, enabling all types. The names for built-in {kib} action types are prefixed with a `.` and include: `.email`, `.index`, `.jira`, `.opsgenie`, `.pagerduty`, `.resilient`, `.server-log`, `.servicenow`, .`servicenow-itom`, `.servicenow-sir`, `.slack`, `.swimlane`, `.teams`, `.tines`, `.torq`, `.xmatters`, `.gen-ai`, and `.webhook`. An empty list `[]` will disable all action types. + Disabled action types will not appear as an option when creating new connectors, but existing connectors and actions of that type will remain in {kib} and will not function. diff --git a/x-pack/plugins/actions/common/connector_feature_config.test.ts b/x-pack/plugins/actions/common/connector_feature_config.test.ts index 5aea0a7c72bd..cb571dfa8714 100644 --- a/x-pack/plugins/actions/common/connector_feature_config.test.ts +++ b/x-pack/plugins/actions/common/connector_feature_config.test.ts @@ -13,7 +13,7 @@ import { describe('areValidFeatures', () => { it('returns true when all inputs are valid features', () => { - expect(areValidFeatures(['alerting', 'cases'])).toBeTruthy(); + expect(areValidFeatures(['alerting', 'cases', 'general'])).toBeTruthy(); }); it('returns true when only one input and it is a valid feature', () => { @@ -42,9 +42,10 @@ describe('getConnectorFeatureName', () => { describe('getConnectorCompatibility', () => { it('returns the compatibility list for valid feature ids', () => { - expect(getConnectorCompatibility(['alerting', 'cases', 'uptime', 'siem'])).toEqual([ + expect(getConnectorCompatibility(['alerting', 'cases', 'uptime', 'siem', 'general'])).toEqual([ 'Alerting Rules', 'Cases', + 'General', ]); }); diff --git a/x-pack/plugins/actions/common/connector_feature_config.ts b/x-pack/plugins/actions/common/connector_feature_config.ts index 6e9adab5de5a..27c035546882 100644 --- a/x-pack/plugins/actions/common/connector_feature_config.ts +++ b/x-pack/plugins/actions/common/connector_feature_config.ts @@ -25,6 +25,14 @@ export const AlertingConnectorFeatureId = 'alerting'; export const CasesConnectorFeatureId = 'cases'; export const UptimeConnectorFeatureId = 'uptime'; export const SecurityConnectorFeatureId = 'siem'; +export const GeneralConnectorFeatureId = 'general'; + +const compatibilityGeneral = i18n.translate( + 'xpack.actions.availableConnectorFeatures.compatibility.general', + { + defaultMessage: 'General', + } +); const compatibilityAlertingRules = i18n.translate( 'xpack.actions.availableConnectorFeatures.compatibility.alertingRules', @@ -72,11 +80,18 @@ export const SecuritySolutionFeature: ConnectorFeatureConfig = { compatibility: compatibilityAlertingRules, }; +export const GeneralFeature: ConnectorFeatureConfig = { + id: GeneralConnectorFeatureId, + name: compatibilityGeneral, + compatibility: compatibilityGeneral, +}; + const AllAvailableConnectorFeatures = { [AlertingConnectorFeature.id]: AlertingConnectorFeature, [CasesConnectorFeature.id]: CasesConnectorFeature, [UptimeConnectorFeature.id]: UptimeConnectorFeature, [SecuritySolutionFeature.id]: SecuritySolutionFeature, + [GeneralFeature.id]: GeneralFeature, }; export function areValidFeatures(ids: string[]) { diff --git a/x-pack/plugins/actions/common/types.ts b/x-pack/plugins/actions/common/types.ts index fe52e1db5b28..275a757597d2 100644 --- a/x-pack/plugins/actions/common/types.ts +++ b/x-pack/plugins/actions/common/types.ts @@ -12,6 +12,7 @@ export { CasesConnectorFeatureId, UptimeConnectorFeatureId, SecurityConnectorFeatureId, + GeneralConnectorFeatureId, } from './connector_feature_config'; export interface ActionType { id: string; diff --git a/x-pack/plugins/actions/server/sub_action_framework/helpers/validators.test.ts b/x-pack/plugins/actions/server/sub_action_framework/helpers/validators.test.ts new file mode 100644 index 000000000000..4c9d2c1ddf50 --- /dev/null +++ b/x-pack/plugins/actions/server/sub_action_framework/helpers/validators.test.ts @@ -0,0 +1,32 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { assertURL } from './validators'; + +describe('Validators', () => { + describe('assertURL function', () => { + it('valid URL with a valid protocol and hostname does not throw an error', () => { + expect(() => assertURL('https://www.example.com')).not.toThrow(); + }); + + it('invalid URL throws an error with a relevant message', () => { + expect(() => assertURL('invalidurl')).toThrowError('Invalid URL'); + }); + + it('URL with an invalid protocol throws an error with a relevant message', () => { + expect(() => assertURL('ftp://www.example.com')).toThrowError('Invalid protocol'); + }); + + it('function handles case sensitivity of protocols correctly', () => { + expect(() => assertURL('hTtPs://www.example.com')).not.toThrow(); + }); + + it('function handles URLs with query parameters and fragment identifiers correctly', () => { + expect(() => assertURL('https://www.example.com/path?query=value#fragment')).not.toThrow(); + }); + }); +}); diff --git a/x-pack/plugins/actions/server/sub_action_framework/helpers/validators.ts b/x-pack/plugins/actions/server/sub_action_framework/helpers/validators.ts index 7618fef0f3ea..6ca20386d764 100644 --- a/x-pack/plugins/actions/server/sub_action_framework/helpers/validators.ts +++ b/x-pack/plugins/actions/server/sub_action_framework/helpers/validators.ts @@ -9,6 +9,23 @@ import { i18n } from '@kbn/i18n'; import { get } from 'lodash'; import { ValidatorServices } from '../../types'; +const validProtocols: string[] = ['http:', 'https:']; +export const assertURL = (url: string) => { + try { + const parsedUrl = new URL(url); + + if (!parsedUrl.hostname) { + throw new Error(`URL must contain hostname`); + } + + if (!validProtocols.includes(parsedUrl.protocol)) { + throw new Error(`Invalid protocol`); + } + } catch (error) { + throw new Error(`URL Error: ${error.message}`); + } +}; + export const urlAllowListValidator = (urlKey: string) => { return (obj: T, validatorServices: ValidatorServices) => { const { configurationUtilities } = validatorServices; diff --git a/x-pack/plugins/actions/server/sub_action_framework/sub_action_connector.ts b/x-pack/plugins/actions/server/sub_action_framework/sub_action_connector.ts index 5b8a9fdcbf1c..043eb3585c3a 100644 --- a/x-pack/plugins/actions/server/sub_action_framework/sub_action_connector.ts +++ b/x-pack/plugins/actions/server/sub_action_framework/sub_action_connector.ts @@ -9,6 +9,7 @@ import { isPlainObject, isEmpty } from 'lodash'; import { Type } from '@kbn/config-schema'; import { Logger } from '@kbn/logging'; import axios, { AxiosInstance, AxiosResponse, AxiosError, AxiosRequestHeaders } from 'axios'; +import { assertURL } from './helpers/validators'; import { ActionsConfigurationUtilities } from '../actions_config'; import { SubAction, SubActionRequestParams } from './types'; import { ServiceParams } from './types'; @@ -24,7 +25,6 @@ const isAxiosError = (error: unknown): error is AxiosError => (error as AxiosErr export abstract class SubActionConnector { [k: string]: ((params: unknown) => unknown) | unknown; private axiosInstance: AxiosInstance; - private validProtocols: string[] = ['http:', 'https:']; private subActions: Map = new Map(); private configurationUtilities: ActionsConfigurationUtilities; protected logger: Logger; @@ -56,19 +56,7 @@ export abstract class SubActionConnector { } private assertURL(url: string) { - try { - const parsedUrl = new URL(url); - - if (!parsedUrl.hostname) { - throw new Error('URL must contain hostname'); - } - - if (!this.validProtocols.includes(parsedUrl.protocol)) { - throw new Error('Invalid protocol'); - } - } catch (error) { - throw new Error(`URL Error: ${error.message}`); - } + assertURL(url); } private ensureUriAllowed(url: string) { diff --git a/x-pack/plugins/stack_connectors/common/gen_ai/constants.ts b/x-pack/plugins/stack_connectors/common/gen_ai/constants.ts new file mode 100644 index 000000000000..8ed871ef4575 --- /dev/null +++ b/x-pack/plugins/stack_connectors/common/gen_ai/constants.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const GEN_AI_TITLE = i18n.translate( + 'xpack.stackConnectors.components.genAi.connectorTypeTitle', + { + defaultMessage: 'Generative AI', + } +); +export const GEN_AI_CONNECTOR_ID = '.gen-ai'; +export enum SUB_ACTION { + RUN = 'run', + TEST = 'test', +} +export enum OpenAiProviderType { + OpenAi = 'OpenAI', + AzureAi = 'Azure OpenAI', +} diff --git a/x-pack/plugins/stack_connectors/common/gen_ai/schema.ts b/x-pack/plugins/stack_connectors/common/gen_ai/schema.ts new file mode 100644 index 000000000000..f3b1f510231b --- /dev/null +++ b/x-pack/plugins/stack_connectors/common/gen_ai/schema.ts @@ -0,0 +1,22 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +// Connector schema +export const GenAiConfigSchema = schema.object({ + apiProvider: schema.string(), + apiUrl: schema.string(), +}); + +export const GenAiSecretsSchema = schema.object({ apiKey: schema.string() }); + +// Run action schema +export const GenAiRunActionParamsSchema = schema.object({ + body: schema.string(), +}); +export const GenAiRunActionResponseSchema = schema.object({}, { unknowns: 'ignore' }); diff --git a/x-pack/plugins/stack_connectors/common/gen_ai/types.ts b/x-pack/plugins/stack_connectors/common/gen_ai/types.ts new file mode 100644 index 000000000000..9f27aafa0b3a --- /dev/null +++ b/x-pack/plugins/stack_connectors/common/gen_ai/types.ts @@ -0,0 +1,19 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeOf } from '@kbn/config-schema'; +import { + GenAiConfigSchema, + GenAiSecretsSchema, + GenAiRunActionParamsSchema, + GenAiRunActionResponseSchema, +} from './schema'; + +export type GenAiConfig = TypeOf; +export type GenAiSecrets = TypeOf; +export type GenAiRunActionParams = TypeOf; +export type GenAiRunActionResponse = TypeOf; diff --git a/x-pack/plugins/stack_connectors/kibana.jsonc b/x-pack/plugins/stack_connectors/kibana.jsonc index 7e6d894e4fd4..dc4023890d65 100644 --- a/x-pack/plugins/stack_connectors/kibana.jsonc +++ b/x-pack/plugins/stack_connectors/kibana.jsonc @@ -14,6 +14,9 @@ "actions", "esUiShared", "triggersActionsUi" + ], + "extraPublicDirs": [ + "public/common" ] } } diff --git a/x-pack/plugins/stack_connectors/public/common/index.ts b/x-pack/plugins/stack_connectors/public/common/index.ts new file mode 100644 index 000000000000..aad68b20ad5c --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/common/index.ts @@ -0,0 +1,11 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import GenAiLogo from '../connector_types/gen_ai/logo'; + +export { GEN_AI_CONNECTOR_ID } from '../../common/gen_ai/constants'; +export { GenAiLogo }; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.test.tsx b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.test.tsx new file mode 100644 index 000000000000..5376daa5027b --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.test.tsx @@ -0,0 +1,195 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import GenerativeAiConnectorFields from './connector'; +import { ConnectorFormTestProvider } from '../lib/test_utils'; +import { act, render, waitFor } from '@testing-library/react'; +import userEvent from '@testing-library/user-event'; +import { OpenAiProviderType } from '../../../common/gen_ai/constants'; + +describe('GenerativeAiConnectorFields renders', () => { + test('open ai connector fields are rendered', async () => { + const actionConnector = { + actionTypeId: '.gen-ai', + name: 'genAi', + config: { + apiUrl: 'https://openaiurl.com', + apiProvider: OpenAiProviderType.OpenAi, + }, + secrets: { + apiKey: 'thats-a-nice-looking-key', + }, + isDeprecated: false, + }; + + const { getAllByTestId } = render( + + {}} + /> + + ); + expect(getAllByTestId('config.apiUrl-input')[0]).toBeInTheDocument(); + expect(getAllByTestId('config.apiUrl-input')[0]).toHaveValue(actionConnector.config.apiUrl); + expect(getAllByTestId('config.apiProvider-select')[0]).toBeInTheDocument(); + expect(getAllByTestId('config.apiProvider-select')[0]).toHaveValue( + actionConnector.config.apiProvider + ); + expect(getAllByTestId('open-ai-api-doc')[0]).toBeInTheDocument(); + expect(getAllByTestId('open-ai-api-keys-doc')[0]).toBeInTheDocument(); + }); + + test('azure ai connector fields are rendered', async () => { + const actionConnector = { + actionTypeId: '.gen-ai', + name: 'genAi', + config: { + apiUrl: 'https://azureaiurl.com', + apiProvider: OpenAiProviderType.AzureAi, + }, + secrets: { + apiKey: 'thats-a-nice-looking-key', + }, + isDeprecated: false, + }; + + const { getAllByTestId } = render( + + {}} + /> + + ); + + expect(getAllByTestId('config.apiUrl-input')[0]).toBeInTheDocument(); + expect(getAllByTestId('config.apiUrl-input')[0]).toHaveValue(actionConnector.config.apiUrl); + expect(getAllByTestId('config.apiProvider-select')[0]).toBeInTheDocument(); + expect(getAllByTestId('config.apiProvider-select')[0]).toHaveValue( + actionConnector.config.apiProvider + ); + expect(getAllByTestId('azure-ai-api-doc')[0]).toBeInTheDocument(); + expect(getAllByTestId('azure-ai-api-keys-doc')[0]).toBeInTheDocument(); + }); + + describe('Validation', () => { + const onSubmit = jest.fn(); + const actionConnector = { + actionTypeId: '.gen-ai', + name: 'genAi', + config: { + apiUrl: 'https://openaiurl.com', + apiProvider: OpenAiProviderType.OpenAi, + }, + secrets: { + apiKey: 'thats-a-nice-looking-key', + }, + isDeprecated: false, + }; + + beforeEach(() => { + jest.clearAllMocks(); + }); + + it('connector validation succeeds when connector config is valid', async () => { + const { getByTestId } = render( + + {}} + /> + + ); + + await act(async () => { + userEvent.click(getByTestId('form-test-provide-submit')); + }); + + await waitFor(async () => { + expect(onSubmit).toHaveBeenCalled(); + }); + + expect(onSubmit).toBeCalledWith({ + data: actionConnector, + isValid: true, + }); + }); + + it('validates correctly if the apiUrl is empty', async () => { + const connector = { + ...actionConnector, + config: { + ...actionConnector.config, + apiUrl: '', + }, + }; + + const res = render( + + {}} + /> + + ); + + await act(async () => { + userEvent.click(res.getByTestId('form-test-provide-submit')); + }); + await waitFor(async () => { + expect(onSubmit).toHaveBeenCalled(); + }); + + expect(onSubmit).toHaveBeenCalledWith({ data: {}, isValid: false }); + }); + + const tests: Array<[string, string]> = [ + ['config.apiUrl-input', 'not-valid'], + ['secrets.apiKey-input', ''], + ]; + it.each(tests)('validates correctly %p', async (field, value) => { + const connector = { + ...actionConnector, + config: { + ...actionConnector.config, + headers: [], + }, + }; + + const res = render( + + {}} + /> + + ); + + await act(async () => { + await userEvent.type(res.getByTestId(field), `{selectall}{backspace}${value}`, { + delay: 10, + }); + }); + + await act(async () => { + userEvent.click(res.getByTestId('form-test-provide-submit')); + }); + await waitFor(async () => { + expect(onSubmit).toHaveBeenCalled(); + }); + + expect(onSubmit).toHaveBeenCalledWith({ data: {}, isValid: false }); + }); + }); +}); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.tsx b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.tsx new file mode 100644 index 000000000000..f75edba2d57b --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.tsx @@ -0,0 +1,207 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useMemo } from 'react'; +import { + ActionConnectorFieldsProps, + ConfigFieldSchema, + SecretsFieldSchema, + SimpleConnectorForm, +} from '@kbn/triggers-actions-ui-plugin/public'; +import { SelectField } from '@kbn/es-ui-shared-plugin/static/forms/components'; +import { EuiLink, EuiSpacer } from '@elastic/eui'; +import { FormattedMessage } from '@kbn/i18n-react'; +import { + UseField, + useFormContext, + useFormData, +} from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; +import { fieldValidators } from '@kbn/es-ui-shared-plugin/static/forms/helpers'; +import { OpenAiProviderType } from '../../../common/gen_ai/constants'; +import * as i18n from './translations'; +import { DEFAULT_URL, DEFAULT_URL_AZURE } from './constants'; +const { emptyField } = fieldValidators; + +const openAiConfig: ConfigFieldSchema[] = [ + { + id: 'apiUrl', + label: i18n.API_URL_LABEL, + isUrlField: true, + defaultValue: DEFAULT_URL, + helpText: ( + + {`${i18n.OPEN_AI} ${i18n.DOCUMENTATION}`} + + ), + }} + /> + ), + }, +]; + +const azureAiConfig: ConfigFieldSchema[] = [ + { + id: 'apiUrl', + label: i18n.API_URL_LABEL, + isUrlField: true, + defaultValue: DEFAULT_URL_AZURE, + helpText: ( + + {`${i18n.AZURE_AI} ${i18n.DOCUMENTATION}`} + + ), + }} + /> + ), + }, +]; + +const openAiSecrets: SecretsFieldSchema[] = [ + { + id: 'apiKey', + label: i18n.API_KEY_LABEL, + isPasswordField: true, + helpText: ( + + {`${i18n.OPEN_AI} ${i18n.DOCUMENTATION}`} + + ), + }} + /> + ), + }, +]; + +const azureAiSecrets: SecretsFieldSchema[] = [ + { + id: 'apiKey', + label: i18n.API_KEY_LABEL, + isPasswordField: true, + helpText: ( + + {`${i18n.AZURE_AI} ${i18n.DOCUMENTATION}`} + + ), + }} + /> + ), + }, +]; + +const providerOptions = [ + { + value: OpenAiProviderType.OpenAi, + text: i18n.OPEN_AI, + label: i18n.OPEN_AI, + }, + { + value: OpenAiProviderType.AzureAi, + text: i18n.AZURE_AI, + label: i18n.AZURE_AI, + }, +]; + +const GenerativeAiConnectorFields: React.FC = ({ + readOnly, + isEdit, +}) => { + const { getFieldDefaultValue } = useFormContext(); + const [{ config }] = useFormData({ + watch: ['config.apiProvider'], + }); + + const selectedProviderDefaultValue = useMemo( + () => + getFieldDefaultValue('config.apiProvider') ?? OpenAiProviderType.OpenAi, + [getFieldDefaultValue] + ); + + return ( + <> + + + {config != null && config.apiProvider === OpenAiProviderType.OpenAi && ( + + )} + {/* ^v These are intentionally not if/else because of the way the `config.defaultValue` renders */} + {config != null && config.apiProvider === OpenAiProviderType.AzureAi && ( + + )} + + ); +}; + +// eslint-disable-next-line import/no-default-export +export { GenerativeAiConnectorFields as default }; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/constants.ts b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/constants.ts new file mode 100644 index 000000000000..66210eaf1a75 --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/constants.ts @@ -0,0 +1,24 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export const DEFAULT_URL = 'https://api.openai.com/v1/chat/completions' as const; +export const DEFAULT_URL_AZURE = + 'https://{your-resource-name}.openai.azure.com/openai/deployments/{deployment-id}/completions?api-version={api-version}' as const; + +export const DEFAULT_BODY = `{ + "model":"gpt-3.5-turbo", + "messages": [{ + "role":"user", + "content":"Hello world" + }] +}`; +export const DEFAULT_BODY_AZURE = `{ + "messages": [{ + "role":"user", + "content":"Hello world" + }] +}`; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.test.tsx b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.test.tsx new file mode 100644 index 000000000000..efa0d5ce82fe --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.test.tsx @@ -0,0 +1,83 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { TypeRegistry } from '@kbn/triggers-actions-ui-plugin/public/application/type_registry'; +import { registerConnectorTypes } from '..'; +import type { ActionTypeModel } from '@kbn/triggers-actions-ui-plugin/public/types'; +import { registrationServicesMock } from '../../mocks'; +import { SUB_ACTION } from '../../../common/gen_ai/constants'; + +const ACTION_TYPE_ID = '.gen-ai'; +let actionTypeModel: ActionTypeModel; + +beforeAll(() => { + const connectorTypeRegistry = new TypeRegistry(); + registerConnectorTypes({ connectorTypeRegistry, services: registrationServicesMock }); + const getResult = connectorTypeRegistry.get(ACTION_TYPE_ID); + if (getResult !== null) { + actionTypeModel = getResult; + } +}); + +describe('actionTypeRegistry.get() works', () => { + test('connector type static data is as expected', () => { + expect(actionTypeModel.id).toEqual(ACTION_TYPE_ID); + expect(actionTypeModel.selectMessage).toBe('Send a request to generative AI systems.'); + expect(actionTypeModel.actionTypeTitle).toBe('Generative AI'); + }); +}); + +describe('gen ai action params validation', () => { + test('action params validation succeeds when action params is valid', async () => { + const actionParams = { + subAction: SUB_ACTION.RUN, + subActionParams: { body: '{"message": "test"}' }, + }; + + expect(await actionTypeModel.validateParams(actionParams)).toEqual({ + errors: { body: [], subAction: [] }, + }); + }); + + test('params validation fails when body is not an object', async () => { + const actionParams = { + subAction: SUB_ACTION.RUN, + subActionParams: { body: 'message {test}' }, + }; + + expect(await actionTypeModel.validateParams(actionParams)).toEqual({ + errors: { body: ['Body does not have a valid JSON format.'], subAction: [] }, + }); + }); + + test('params validation fails when subAction is missing', async () => { + const actionParams = { + subActionParams: { body: '{"message": "test"}' }, + }; + + expect(await actionTypeModel.validateParams(actionParams)).toEqual({ + errors: { + body: [], + subAction: ['Action is required.'], + }, + }); + }); + + test('params validation fails when subActionParams is missing', async () => { + const actionParams = { + subAction: SUB_ACTION.RUN, + subActionParams: {}, + }; + + expect(await actionTypeModel.validateParams(actionParams)).toEqual({ + errors: { + body: ['Body is required.'], + subAction: [], + }, + }); + }); +}); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.tsx b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.tsx new file mode 100644 index 000000000000..b326d59cc9c6 --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.tsx @@ -0,0 +1,61 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { lazy } from 'react'; +import { i18n } from '@kbn/i18n'; +import type { GenericValidationResult } from '@kbn/triggers-actions-ui-plugin/public/types'; +import { SUB_ACTION } from '../../../common/gen_ai/constants'; +import { GEN_AI_CONNECTOR_ID, GEN_AI_TITLE } from '../../../common/gen_ai/constants'; +import { GenerativeAiActionParams, GenerativeAiConnector } from './types'; + +interface ValidationErrors { + subAction: string[]; + body: string[]; +} +export function getConnectorType(): GenerativeAiConnector { + return { + id: GEN_AI_CONNECTOR_ID, + iconClass: lazy(() => import('./logo')), + selectMessage: i18n.translate('xpack.stackConnectors.components.genAi.selectMessageText', { + defaultMessage: 'Send a request to generative AI systems.', + }), + actionTypeTitle: GEN_AI_TITLE, + validateParams: async ( + actionParams: GenerativeAiActionParams + ): Promise> => { + const { subAction, subActionParams } = actionParams; + const translations = await import('./translations'); + const errors: ValidationErrors = { + body: [], + subAction: [], + }; + + if (subAction === SUB_ACTION.TEST || subAction === SUB_ACTION.RUN) { + if (!subActionParams.body?.length) { + errors.body.push(translations.BODY_REQUIRED); + } else { + try { + JSON.parse(subActionParams.body); + } catch { + errors.body.push(translations.BODY_INVALID); + } + } + } + if (errors.body.length) return { errors }; + + // The internal "subAction" param should always be valid, ensure it is only if "subActionParams" are valid + if (!subAction) { + errors.subAction.push(translations.ACTION_REQUIRED); + } else if (subAction !== SUB_ACTION.RUN && subAction !== SUB_ACTION.TEST) { + errors.subAction.push(translations.INVALID_ACTION); + } + return { errors }; + }, + actionConnectorFields: lazy(() => import('./connector')), + actionParamsFields: lazy(() => import('./params')), + }; +} diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/index.ts b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/index.ts new file mode 100644 index 000000000000..dea9dbeaef3d --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/index.ts @@ -0,0 +1,8 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +export { getConnectorType as getGenerativeAiConnectorType } from './gen_ai'; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/logo.tsx b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/logo.tsx new file mode 100644 index 000000000000..80cbbf6e1402 --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/logo.tsx @@ -0,0 +1,27 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { LogoProps } from '../types'; + +const Logo = (props: LogoProps) => ( + + OpenAI icon + + +); + +// eslint-disable-next-line import/no-default-export +export { Logo as default }; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.test.tsx b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.test.tsx new file mode 100644 index 000000000000..a1260e32c841 --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.test.tsx @@ -0,0 +1,146 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React from 'react'; +import { fireEvent, render } from '@testing-library/react'; +import GenerativeAiParamsFields from './params'; +import { MockCodeEditor } from '@kbn/triggers-actions-ui-plugin/public/application/code_editor.mock'; +import { OpenAiProviderType, SUB_ACTION } from '../../../common/gen_ai/constants'; +import { DEFAULT_BODY, DEFAULT_BODY_AZURE, DEFAULT_URL } from './constants'; + +const kibanaReactPath = '../../../../../../src/plugins/kibana_react/public'; + +jest.mock(kibanaReactPath, () => { + const original = jest.requireActual(kibanaReactPath); + return { + ...original, + CodeEditor: (props: any) => { + return ; + }, + }; +}); +const messageVariables = [ + { + name: 'myVar', + description: 'My variable description', + useWithTripleBracesInTemplates: true, + }, +]; + +describe('Gen AI Params Fields renders', () => { + test('all params fields are rendered', () => { + const actionParams = { + subAction: SUB_ACTION.RUN, + subActionParams: { body: '{"message": "test"}' }, + }; + + const { getByTestId } = render( + {}} + index={0} + messageVariables={messageVariables} + /> + ); + expect(getByTestId('bodyJsonEditor')).toBeInTheDocument(); + expect(getByTestId('bodyJsonEditor')).toHaveProperty('value', '{"message": "test"}'); + expect(getByTestId('bodyAddVariableButton')).toBeInTheDocument(); + }); + test.each([OpenAiProviderType.OpenAi, OpenAiProviderType.AzureAi])( + 'useEffect handles the case when subAction and subActionParams are undefined and apiProvider is %p', + (apiProvider) => { + const actionParams = { + subAction: undefined, + subActionParams: undefined, + }; + const editAction = jest.fn(); + const errors = {}; + const actionConnector = { + secrets: { + apiKey: 'apiKey', + }, + id: 'test', + actionTypeId: '.gen-ai', + isPreconfigured: false, + isDeprecated: false, + name: 'My GenAI Connector', + config: { + apiProvider, + apiUrl: DEFAULT_URL, + }, + }; + render( + + ); + expect(editAction).toHaveBeenCalledTimes(2); + expect(editAction).toHaveBeenCalledWith('subAction', SUB_ACTION.RUN, 0); + if (apiProvider === OpenAiProviderType.OpenAi) { + expect(editAction).toHaveBeenCalledWith('subActionParams', { body: DEFAULT_BODY }, 0); + } + if (apiProvider === OpenAiProviderType.AzureAi) { + expect(editAction).toHaveBeenCalledWith('subActionParams', { body: DEFAULT_BODY_AZURE }, 0); + } + } + ); + + it('handles the case when subAction only is undefined', () => { + const actionParams = { + subAction: undefined, + subActionParams: { + body: '{"key": "value"}', + }, + }; + const editAction = jest.fn(); + const errors = {}; + render( + + ); + expect(editAction).toHaveBeenCalledTimes(1); + expect(editAction).toHaveBeenCalledWith('subAction', SUB_ACTION.RUN, 0); + }); + + it('calls editAction function with the correct arguments ', () => { + const actionParams = { + subAction: SUB_ACTION.RUN, + subActionParams: { + body: '{"key": "value"}', + }, + }; + const editAction = jest.fn(); + const errors = {}; + const { getByTestId } = render( + + ); + const jsonEditor = getByTestId('bodyJsonEditor'); + fireEvent.change(jsonEditor, { target: { value: '{"new_key": "new_value"}' } }); + expect(editAction).toHaveBeenCalledWith( + 'subActionParams', + { body: '{"new_key": "new_value"}' }, + 0 + ); + }); +}); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.tsx b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.tsx new file mode 100644 index 000000000000..3ad883d1a248 --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.tsx @@ -0,0 +1,90 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import React, { useCallback, useEffect, useMemo } from 'react'; +import { i18n } from '@kbn/i18n'; +import type { ActionParamsProps } from '@kbn/triggers-actions-ui-plugin/public'; +import { + ActionConnectorMode, + JsonEditorWithMessageVariables, +} from '@kbn/triggers-actions-ui-plugin/public'; +import { DEFAULT_BODY, DEFAULT_BODY_AZURE } from './constants'; +import { OpenAiProviderType, SUB_ACTION } from '../../../common/gen_ai/constants'; +import { GenerativeAiActionConnector, GenerativeAiActionParams } from './types'; + +const GenerativeAiParamsFields: React.FunctionComponent< + ActionParamsProps +> = ({ + actionConnector, + actionParams, + editAction, + index, + messageVariables, + executionMode, + errors, +}) => { + const { subAction, subActionParams } = actionParams; + + const { body } = subActionParams ?? {}; + + const typedActionConnector = actionConnector as unknown as GenerativeAiActionConnector; + + const isTest = useMemo(() => executionMode === ActionConnectorMode.Test, [executionMode]); + + useEffect(() => { + if (!subAction) { + editAction('subAction', isTest ? SUB_ACTION.TEST : SUB_ACTION.RUN, index); + } + }, [editAction, index, isTest, subAction]); + + useEffect(() => { + if (!subActionParams) { + // default to OpenAiProviderType.OpenAi sample data + let sampleBody = DEFAULT_BODY; + + if (typedActionConnector?.config?.apiProvider === OpenAiProviderType.AzureAi) { + // update sample data if AzureAi + sampleBody = DEFAULT_BODY_AZURE; + } + editAction('subActionParams', { body: sampleBody }, index); + } + }, [typedActionConnector?.config?.apiProvider, editAction, index, subActionParams]); + + const editSubActionParams = useCallback( + (params: GenerativeAiActionParams['subActionParams']) => { + editAction('subActionParams', { ...subActionParams, ...params }, index); + }, + [editAction, index, subActionParams] + ); + + return ( + { + editSubActionParams({ body: json }); + }} + onBlur={() => { + if (!body) { + editSubActionParams({ body: '' }); + } + }} + data-test-subj="genAi-bodyJsonEditor" + /> + ); +}; + +// eslint-disable-next-line import/no-default-export +export { GenerativeAiParamsFields as default }; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/translations.ts b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/translations.ts new file mode 100644 index 000000000000..6bc911ffe5fa --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/translations.ts @@ -0,0 +1,89 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; + +export const API_URL_LABEL = i18n.translate( + 'xpack.stackConnectors.components.genAi.apiUrlTextFieldLabel', + { + defaultMessage: 'URL', + } +); + +export const API_KEY_LABEL = i18n.translate('xpack.stackConnectors.components.genAi.apiKeySecret', { + defaultMessage: 'API Key', +}); + +export const API_PROVIDER_HEADING = i18n.translate( + 'xpack.stackConnectors.components.genAi.providerHeading', + { + defaultMessage: 'OpenAI provider', + } +); + +export const API_PROVIDER_LABEL = i18n.translate( + 'xpack.stackConnectors.components.genAi.apiProviderLabel', + { + defaultMessage: 'Select an OpenAI provider', + } +); + +export const OPEN_AI = i18n.translate('xpack.stackConnectors.components.genAi.openAi', { + defaultMessage: 'OpenAI', +}); + +export const AZURE_AI = i18n.translate('xpack.stackConnectors.components.genAi.azureAi', { + defaultMessage: 'Azure OpenAI', +}); + +export const DOCUMENTATION = i18n.translate( + 'xpack.stackConnectors.components.genAi.documentation', + { + defaultMessage: 'documentation', + } +); + +export const URL_LABEL = i18n.translate( + 'xpack.stackConnectors.components.genAi.urlTextFieldLabel', + { + defaultMessage: 'URL', + } +); + +export const BODY_REQUIRED = i18n.translate( + 'xpack.stackConnectors.components.genAi.error.requiredGenerativeAiBodyText', + { + defaultMessage: 'Body is required.', + } +); +export const BODY_INVALID = i18n.translate( + 'xpack.stackConnectors.security.genAi.params.error.invalidBodyText', + { + defaultMessage: 'Body does not have a valid JSON format.', + } +); + +export const ACTION_REQUIRED = i18n.translate( + 'xpack.stackConnectors.security.genAi.params.error.requiredActionText', + { + defaultMessage: 'Action is required.', + } +); + +export const INVALID_ACTION = i18n.translate( + 'xpack.stackConnectors.security.genAi.params.error.invalidActionText', + { + defaultMessage: 'Invalid action name.', + } +); + +export const API_PROVIDER_REQUIRED = i18n.translate( + 'xpack.stackConnectors.components.genAi.error.requiredApiProviderText', + { + defaultMessage: 'API provider is required.', + } +); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/types.ts b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/types.ts new file mode 100644 index 000000000000..d86508c750bc --- /dev/null +++ b/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/types.ts @@ -0,0 +1,35 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ActionTypeModel as ConnectorTypeModel } from '@kbn/triggers-actions-ui-plugin/public'; +import { UserConfiguredActionConnector } from '@kbn/triggers-actions-ui-plugin/public/types'; +import { OpenAiProviderType, SUB_ACTION } from '../../../common/gen_ai/constants'; +import { GenAiRunActionParams } from '../../../common/gen_ai/types'; + +export interface GenerativeAiActionParams { + subAction: SUB_ACTION.RUN | SUB_ACTION.TEST; + subActionParams: GenAiRunActionParams; +} + +export interface GenerativeAiConfig { + apiProvider: OpenAiProviderType; + apiUrl: string; +} + +export interface GenerativeAiSecrets { + apiKey: string; +} + +export type GenerativeAiConnector = ConnectorTypeModel< + GenerativeAiConfig, + GenerativeAiSecrets, + GenerativeAiActionParams +>; +export type GenerativeAiActionConnector = UserConfiguredActionConnector< + GenerativeAiConfig, + GenerativeAiSecrets +>; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/index.ts b/x-pack/plugins/stack_connectors/public/connector_types/index.ts index 2cedad5996a8..c0cec0382b4e 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/index.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/index.ts @@ -11,6 +11,7 @@ import { getCasesWebhookConnectorType } from './cases_webhook'; import { getEmailConnectorType } from './email'; import { getIndexConnectorType } from './es_index'; import { getJiraConnectorType } from './jira'; +import { getGenerativeAiConnectorType } from './gen_ai'; import { getOpsgenieConnectorType } from './opsgenie'; import { getPagerDutyConnectorType } from './pagerduty'; import { getResilientConnectorType } from './resilient'; @@ -57,6 +58,7 @@ export function registerConnectorTypes({ connectorTypeRegistry.register(getJiraConnectorType()); connectorTypeRegistry.register(getResilientConnectorType()); connectorTypeRegistry.register(getOpsgenieConnectorType()); + connectorTypeRegistry.register(getGenerativeAiConnectorType()); connectorTypeRegistry.register(getTeamsConnectorType()); connectorTypeRegistry.register(getTorqConnectorType()); connectorTypeRegistry.register(getTinesConnectorType()); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/api_schema.ts b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/api_schema.ts new file mode 100644 index 000000000000..e6aab4be10d6 --- /dev/null +++ b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/api_schema.ts @@ -0,0 +1,33 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { schema } from '@kbn/config-schema'; + +export const GenAiBaseApiResponseSchema = schema.object( + { + id: schema.string(), + object: schema.string(), + created: schema.number(), + model: schema.string(), + usage: schema.object({ + prompt_tokens: schema.number(), + completion_tokens: schema.number(), + total_tokens: schema.number(), + }), + choices: schema.arrayOf( + schema.object({ + message: schema.object({ + role: schema.string(), + content: schema.string(), + }), + finish_reason: schema.string(), + index: schema.number(), + }) + ), + }, + { unknowns: 'ignore' } +); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.test.ts new file mode 100644 index 000000000000..267f07ea38f1 --- /dev/null +++ b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.test.ts @@ -0,0 +1,99 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { GenAiConnector } from './gen_ai'; +import { GenAiBaseApiResponseSchema } from './api_schema'; +import { actionsConfigMock } from '@kbn/actions-plugin/server/actions_config.mock'; +import { GEN_AI_CONNECTOR_ID, OpenAiProviderType } from '../../../common/gen_ai/constants'; +import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; +import { actionsMock } from '@kbn/actions-plugin/server/mocks'; + +describe('GenAiConnector', () => { + const sampleBody = JSON.stringify({ + model: 'gpt-3.5-turbo', + messages: [ + { + role: 'user', + content: 'Hello world', + }, + ], + }); + const mockResponse = { data: { result: 'success' } }; + const mockRequest = jest.fn().mockResolvedValue(mockResponse); + const mockError = jest.fn().mockImplementation(() => { + throw new Error('API Error'); + }); + + describe('OpenAI', () => { + const connector = new GenAiConnector({ + configurationUtilities: actionsConfigMock.create(), + connector: { id: '1', type: GEN_AI_CONNECTOR_ID }, + config: { apiUrl: 'https://example.com/api', apiProvider: OpenAiProviderType.OpenAi }, + secrets: { apiKey: '123' }, + logger: loggingSystemMock.createLogger(), + services: actionsMock.createServices(), + }); + beforeEach(() => { + // @ts-ignore + connector.request = mockRequest; + jest.clearAllMocks(); + }); + it('the OpenAI API call is successful with correct parameters', async () => { + const response = await connector.runApi({ body: sampleBody }); + expect(mockRequest).toBeCalledTimes(1); + expect(mockRequest).toHaveBeenCalledWith({ + url: 'https://example.com/api', + method: 'post', + responseSchema: GenAiBaseApiResponseSchema, + data: sampleBody, + headers: { + Authorization: 'Bearer 123', + 'content-type': 'application/json', + }, + }); + expect(response).toEqual({ result: 'success' }); + }); + + it('errors during API calls are properly handled', async () => { + // @ts-ignore + connector.request = mockError; + + await expect(connector.runApi({ body: sampleBody })).rejects.toThrow('API Error'); + }); + }); + + describe('AzureAI', () => { + const connector = new GenAiConnector({ + configurationUtilities: actionsConfigMock.create(), + connector: { id: '1', type: GEN_AI_CONNECTOR_ID }, + config: { apiUrl: 'https://example.com/api', apiProvider: OpenAiProviderType.AzureAi }, + secrets: { apiKey: '123' }, + logger: loggingSystemMock.createLogger(), + services: actionsMock.createServices(), + }); + beforeEach(() => { + // @ts-ignore + connector.request = mockRequest; + jest.clearAllMocks(); + }); + it('the AzureAI API call is successful with correct parameters', async () => { + const response = await connector.runApi({ body: sampleBody }); + expect(mockRequest).toBeCalledTimes(1); + expect(mockRequest).toHaveBeenCalledWith({ + url: 'https://example.com/api', + method: 'post', + responseSchema: GenAiBaseApiResponseSchema, + data: sampleBody, + headers: { + 'api-key': '123', + 'content-type': 'application/json', + }, + }); + expect(response).toEqual({ result: 'success' }); + }); + }); +}); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.ts b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.ts new file mode 100644 index 000000000000..928dde648061 --- /dev/null +++ b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.ts @@ -0,0 +1,74 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ServiceParams, SubActionConnector } from '@kbn/actions-plugin/server'; +import type { AxiosError } from 'axios'; +import { GenAiRunActionParamsSchema } from '../../../common/gen_ai/schema'; +import type { + GenAiConfig, + GenAiSecrets, + GenAiRunActionParams, + GenAiRunActionResponse, +} from '../../../common/gen_ai/types'; +import { GenAiBaseApiResponseSchema } from './api_schema'; +import { OpenAiProviderType, SUB_ACTION } from '../../../common/gen_ai/constants'; + +export class GenAiConnector extends SubActionConnector { + private url; + private provider; + private key; + + constructor(params: ServiceParams) { + super(params); + + this.url = this.config.apiUrl; + this.provider = this.config.apiProvider; + this.key = this.secrets.apiKey; + + this.registerSubActions(); + } + + private registerSubActions() { + this.registerSubAction({ + name: SUB_ACTION.RUN, + method: 'runApi', + schema: GenAiRunActionParamsSchema, + }); + + this.registerSubAction({ + name: SUB_ACTION.TEST, + method: 'runApi', + schema: GenAiRunActionParamsSchema, + }); + } + + protected getResponseErrorMessage(error: AxiosError): string { + if (!error.response?.status) { + return 'Unknown API Error'; + } + if (error.response.status === 401) { + return 'Unauthorized API Error'; + } + return `API Error: ${error.response?.status} - ${error.response?.statusText}`; + } + + public async runApi({ body }: GenAiRunActionParams): Promise { + const response = await this.request({ + url: this.url, + method: 'post', + responseSchema: GenAiBaseApiResponseSchema, + data: body, + headers: { + ...(this.provider === OpenAiProviderType.OpenAi + ? { Authorization: `Bearer ${this.key}` } + : { ['api-key']: this.key }), + ['content-type']: 'application/json', + }, + }); + return response.data; + } +} diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.test.ts new file mode 100644 index 000000000000..bf279a1739f8 --- /dev/null +++ b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.test.ts @@ -0,0 +1,108 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { actionsConfigMock } from '@kbn/actions-plugin/server/actions_config.mock'; +import { ActionsConfigurationUtilities } from '@kbn/actions-plugin/server/actions_config'; +import axios from 'axios'; +import { configValidator, getConnectorType } from '.'; +import { GenAiConfig, GenAiSecrets } from '../../../common/gen_ai/types'; +import { SubActionConnectorType } from '@kbn/actions-plugin/server/sub_action_framework/types'; +import { OpenAiProviderType } from '../../../common/gen_ai/constants'; + +jest.mock('axios'); +jest.mock('@kbn/actions-plugin/server/lib/axios_utils', () => { + const originalUtils = jest.requireActual('@kbn/actions-plugin/server/lib/axios_utils'); + return { + ...originalUtils, + request: jest.fn(), + patch: jest.fn(), + }; +}); + +axios.create = jest.fn(() => axios); + +axios.create = jest.fn(() => axios); + +let connectorType: SubActionConnectorType; +let configurationUtilities: jest.Mocked; + +describe('Generative AI Connector', () => { + beforeEach(() => { + configurationUtilities = actionsConfigMock.create(); + connectorType = getConnectorType(); + }); + test('exposes the connector as `Generative AI` with id `.gen-ai`', () => { + expect(connectorType.id).toEqual('.gen-ai'); + expect(connectorType.name).toEqual('Generative AI'); + }); + describe('config validation', () => { + test('config validation passes when only required fields are provided', () => { + const config: GenAiConfig = { + apiUrl: 'https://api.openai.com/v1/chat/completions', + apiProvider: OpenAiProviderType.OpenAi, + }; + + expect(configValidator(config, { configurationUtilities })).toEqual(config); + }); + + test('config validation failed when a url is invalid', () => { + const config: GenAiConfig = { + apiUrl: 'example.com/do-something', + apiProvider: OpenAiProviderType.OpenAi, + }; + expect(() => { + configValidator(config, { configurationUtilities }); + }).toThrowErrorMatchingInlineSnapshot( + '"Error configuring Generative AI action: Error: URL Error: Invalid URL: example.com/do-something"' + ); + }); + + test('config validation failed when the OpenAI API provider is empty', () => { + const config: GenAiConfig = { + apiUrl: 'https://api.openai.com/v1/chat/completions', + apiProvider: '', + }; + expect(() => { + configValidator(config, { configurationUtilities }); + }).toThrowErrorMatchingInlineSnapshot( + '"Error configuring Generative AI action: Error: API Provider is not supported"' + ); + }); + + test('config validation failed when the OpenAI API provider is invalid', () => { + const config: GenAiConfig = { + apiUrl: 'https://api.openai.com/v1/chat/completions', + apiProvider: 'bad-one', + }; + expect(() => { + configValidator(config, { configurationUtilities }); + }).toThrowErrorMatchingInlineSnapshot( + '"Error configuring Generative AI action: Error: API Provider is not supported: bad-one"' + ); + }); + + test('config validation returns an error if the specified URL is not added to allowedHosts', () => { + const configUtils = { + ...actionsConfigMock.create(), + ensureUriAllowed: (_: string) => { + throw new Error(`target url is not present in allowedHosts`); + }, + }; + + const config: GenAiConfig = { + apiUrl: 'http://mylisteningserver.com:9200/endpoint', + apiProvider: OpenAiProviderType.OpenAi, + }; + + expect(() => { + configValidator(config, { configurationUtilities: configUtils }); + }).toThrowErrorMatchingInlineSnapshot( + `"Error configuring Generative AI action: Error: error validating url: target url is not present in allowedHosts"` + ); + }); + }); +}); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts new file mode 100644 index 000000000000..36e8c198fe69 --- /dev/null +++ b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts @@ -0,0 +1,73 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { i18n } from '@kbn/i18n'; +import { + SubActionConnectorType, + ValidatorType, +} from '@kbn/actions-plugin/server/sub_action_framework/types'; +import { GeneralConnectorFeatureId } 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'; +import { + GEN_AI_CONNECTOR_ID, + GEN_AI_TITLE, + OpenAiProviderType, +} from '../../../common/gen_ai/constants'; +import { GenAiConfigSchema, GenAiSecretsSchema } from '../../../common/gen_ai/schema'; +import { GenAiConfig, GenAiSecrets } from '../../../common/gen_ai/types'; +import { GenAiConnector } from './gen_ai'; +import { renderParameterTemplates } from './render'; + +export const getConnectorType = (): SubActionConnectorType => ({ + id: GEN_AI_CONNECTOR_ID, + name: GEN_AI_TITLE, + Service: GenAiConnector, + schema: { + config: GenAiConfigSchema, + secrets: GenAiSecretsSchema, + }, + validators: [{ type: ValidatorType.CONFIG, validator: configValidator }], + supportedFeatureIds: [GeneralConnectorFeatureId], + minimumLicenseRequired: 'platinum' as const, + renderParameterTemplates, +}); + +export const configValidator = ( + configObject: GenAiConfig, + validatorServices: ValidatorServices +) => { + try { + assertURL(configObject.apiUrl); + urlAllowListValidator('apiUrl')(configObject, validatorServices); + + if ( + configObject.apiProvider !== OpenAiProviderType.OpenAi && + configObject.apiProvider !== OpenAiProviderType.AzureAi + ) { + throw new Error( + `API Provider is not supported${ + configObject.apiProvider && configObject.apiProvider.length + ? `: ${configObject.apiProvider}` + : `` + }` + ); + } + + return configObject; + } catch (err) { + throw new Error( + i18n.translate('xpack.stackConnectors.genAi.configurationErrorApiProvider', { + defaultMessage: 'Error configuring Generative AI action: {err}', + values: { + err, + }, + }) + ); + } +}; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.test.ts new file mode 100644 index 000000000000..301e096ad35b --- /dev/null +++ b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.test.ts @@ -0,0 +1,47 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { renderParameterTemplates } from './render'; +import Mustache from 'mustache'; + +const params = { + subAction: 'run', + subActionParams: { + body: '{"domain":"{{domain}}"}', + }, +}; + +const variables = { domain: 'm0zepcuuu2' }; + +describe('GenAI - renderParameterTemplates', () => { + it('should not render body on test action', () => { + const testParams = { subAction: 'test', subActionParams: { body: 'test_json' } }; + const result = renderParameterTemplates(testParams, variables); + expect(result).toEqual(testParams); + }); + + it('should rendered body with variables', () => { + const result = renderParameterTemplates(params, variables); + + expect(result.subActionParams.body).toEqual( + JSON.stringify({ + ...variables, + }) + ); + }); + + it('should render error body', () => { + const errorMessage = 'test error'; + jest.spyOn(Mustache, 'render').mockImplementation(() => { + throw new Error(errorMessage); + }); + const result = renderParameterTemplates(params, variables); + expect(result.subActionParams.body).toEqual( + 'error rendering mustache template "{"domain":"{{domain}}"}": test error' + ); + }); +}); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.ts b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.ts new file mode 100644 index 000000000000..aae342a5acd8 --- /dev/null +++ b/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.ts @@ -0,0 +1,26 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import { ExecutorParams } from '@kbn/actions-plugin/server/sub_action_framework/types'; +import { renderMustacheString } from '@kbn/actions-plugin/server/lib/mustache_renderer'; +import { RenderParameterTemplates } from '@kbn/actions-plugin/server/types'; +import { SUB_ACTION } from '../../../common/gen_ai/constants'; + +export const renderParameterTemplates: RenderParameterTemplates = ( + params, + variables +) => { + if (params?.subAction !== SUB_ACTION.RUN && params?.subAction !== SUB_ACTION.TEST) return params; + + return { + ...params, + subActionParams: { + ...params.subActionParams, + body: renderMustacheString(params.subActionParams.body as string, variables, 'json'), + }, + }; +}; diff --git a/x-pack/plugins/stack_connectors/server/connector_types/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/index.ts index 0cd9a3b5a719..8bf9486499cf 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/index.ts @@ -17,6 +17,7 @@ import { getTinesConnectorType } from './tines'; import { getActionType as getTorqConnectorType } from './torq'; import { getConnectorType as getEmailConnectorType } from './email'; import { getConnectorType as getIndexConnectorType } from './es_index'; +import { getConnectorType as getGenerativeAiConnectorType } from './gen_ai'; import { getConnectorType as getPagerDutyConnectorType } from './pagerduty'; import { getConnectorType as getSwimlaneConnectorType } from './swimlane'; import { getConnectorType as getServerLogConnectorType } from './server_log'; @@ -98,4 +99,5 @@ export function registerConnectorTypes({ actions.registerSubActionConnectorType(getOpsgenieConnectorType()); actions.registerSubActionConnectorType(getTinesConnectorType()); + actions.registerSubActionConnectorType(getGenerativeAiConnectorType()); } diff --git a/x-pack/plugins/stack_connectors/server/plugin.test.ts b/x-pack/plugins/stack_connectors/server/plugin.test.ts index a572970e0be1..d84b416f6dda 100644 --- a/x-pack/plugins/stack_connectors/server/plugin.test.ts +++ b/x-pack/plugins/stack_connectors/server/plugin.test.ts @@ -131,6 +131,35 @@ describe('Stack Connectors Plugin', () => { name: 'Microsoft Teams', }) ); + expect(actionsSetup.registerType).toHaveBeenNthCalledWith( + 17, + expect.objectContaining({ + id: '.torq', + name: 'Torq', + }) + ); + expect(actionsSetup.registerSubActionConnectorType).toHaveBeenCalledTimes(3); + expect(actionsSetup.registerSubActionConnectorType).toHaveBeenNthCalledWith( + 1, + expect.objectContaining({ + id: '.opsgenie', + name: 'Opsgenie', + }) + ); + expect(actionsSetup.registerSubActionConnectorType).toHaveBeenNthCalledWith( + 2, + expect.objectContaining({ + id: '.tines', + name: 'Tines', + }) + ); + expect(actionsSetup.registerSubActionConnectorType).toHaveBeenNthCalledWith( + 3, + expect.objectContaining({ + id: '.gen-ai', + name: 'Generative AI', + }) + ); }); }); }); diff --git a/x-pack/plugins/triggers_actions_ui/public/common/constants/index.ts b/x-pack/plugins/triggers_actions_ui/public/common/constants/index.ts index 1d93811d7ecd..261780d6dcf0 100644 --- a/x-pack/plugins/triggers_actions_ui/public/common/constants/index.ts +++ b/x-pack/plugins/triggers_actions_ui/public/common/constants/index.ts @@ -7,6 +7,10 @@ export { COMPARATORS, builtInComparators } from './comparators'; export { AGGREGATION_TYPES, builtInAggregationTypes } from './aggregation_types'; +export { loadAllActions, loadActionTypes } from '../../application/lib/action_connector_api'; +export { ConnectorAddModal } from '../../application/sections/action_connector_form'; +export type { ActionConnector } from '../..'; + export { builtInGroupByTypes } from './group_by_types'; export * from './action_frequency_types'; diff --git a/x-pack/test/alerting_api_integration/common/config.ts b/x-pack/test/alerting_api_integration/common/config.ts index d418b268f69c..cc1d41e48778 100644 --- a/x-pack/test/alerting_api_integration/common/config.ts +++ b/x-pack/test/alerting_api_integration/common/config.ts @@ -44,6 +44,7 @@ const enabledActionTypes = [ '.servicenow-itom', '.jira', '.resilient', + '.gen-ai', '.slack', '.slack_api', '.tines', diff --git a/x-pack/test/alerting_api_integration/common/plugins/actions_simulators/server/gen_ai_simulation.ts b/x-pack/test/alerting_api_integration/common/plugins/actions_simulators/server/gen_ai_simulation.ts new file mode 100644 index 000000000000..b10c5b6aa5f7 --- /dev/null +++ b/x-pack/test/alerting_api_integration/common/plugins/actions_simulators/server/gen_ai_simulation.ts @@ -0,0 +1,67 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import http from 'http'; + +import { ProxyArgs, Simulator } from './simulator'; + +export class GenAiSimulator extends Simulator { + private readonly returnError: boolean; + + constructor({ returnError = false, proxy }: { returnError?: boolean; proxy?: ProxyArgs }) { + super(proxy); + + this.returnError = returnError; + } + + public async handler( + request: http.IncomingMessage, + response: http.ServerResponse, + data: Record + ) { + if (this.returnError) { + return GenAiSimulator.sendErrorResponse(response); + } + + return GenAiSimulator.sendResponse(response); + } + + private static sendResponse(response: http.ServerResponse) { + response.statusCode = 202; + response.setHeader('Content-Type', 'application/json'); + response.end(JSON.stringify(genAiSuccessResponse, null, 4)); + } + + private static sendErrorResponse(response: http.ServerResponse) { + response.statusCode = 422; + response.setHeader('Content-Type', 'application/json;charset=UTF-8'); + response.end(JSON.stringify(genAiFailedResponse, null, 4)); + } +} + +export const genAiSuccessResponse = { + id: 'chatcmpl-7Gruzw7iTrb9X5mmQ533cSOGZU5Kh', + object: 'chat.completion', + created: 1684254865, + model: 'gpt-3.5-turbo-0301', + usage: { prompt_tokens: 10, completion_tokens: 10, total_tokens: 20 }, + choices: [ + { + message: { role: 'assistant', content: 'Hello there! How may I assist you today?' }, + finish_reason: 'stop', + index: 0, + }, + ], +}; +export const genAiFailedResponse = { + error: { + message: 'The model `bad model` does not exist', + type: 'invalid_request_error', + param: null, + code: null, + }, +}; diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/connector_types/gen_ai.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/connector_types/gen_ai.ts new file mode 100644 index 000000000000..14101b338ba8 --- /dev/null +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/connector_types/gen_ai.ts @@ -0,0 +1,316 @@ +/* + * Copyright Elasticsearch B.V. and/or licensed to Elasticsearch B.V. under one + * or more contributor license agreements. Licensed under the Elastic License + * 2.0; you may not use this file except in compliance with the Elastic License + * 2.0. + */ + +import expect from '@kbn/expect'; + +import { + GenAiSimulator, + genAiSuccessResponse, +} from '@kbn/actions-simulators-plugin/server/gen_ai_simulation'; +import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; + +const connectorTypeId = '.gen-ai'; +const name = 'A genAi action'; +const secrets = { + apiKey: 'genAiApiKey', +}; + +const defaultConfig = { apiProvider: 'OpenAI' }; + +// eslint-disable-next-line import/no-default-export +export default function genAiTest({ getService }: FtrProviderContext) { + const supertest = getService('supertest'); + const configService = getService('config'); + + const createConnector = async (apiUrl: string) => { + const { body } = await supertest + .post('/api/actions/connector') + .set('kbn-xsrf', 'foo') + .send({ + name, + connector_type_id: connectorTypeId, + config: { ...defaultConfig, apiUrl }, + secrets, + }) + .expect(200); + + return body.id; + }; + + describe('GenAi', () => { + describe('action creation', () => { + const simulator = new GenAiSimulator({ + returnError: false, + proxy: { + config: configService.get('kbnTestServer.serverArgs'), + }, + }); + const config = { ...defaultConfig, apiUrl: '' }; + + before(async () => { + config.apiUrl = await simulator.start(); + }); + + after(() => { + simulator.close(); + }); + + it('should return 200 when creating the connector', async () => { + const { body: createdAction } = await supertest + .post('/api/actions/connector') + .set('kbn-xsrf', 'foo') + .send({ + name, + connector_type_id: connectorTypeId, + config, + secrets, + }) + .expect(200); + + expect(createdAction).to.eql({ + id: createdAction.id, + is_preconfigured: false, + is_deprecated: false, + name, + connector_type_id: connectorTypeId, + is_missing_secrets: false, + config, + }); + }); + + it('should return 400 Bad Request when creating the connector without the apiProvider', async () => { + await supertest + .post('/api/actions/connector') + .set('kbn-xsrf', 'foo') + .send({ + name: 'A GenAi action', + connector_type_id: '.gen-ai', + config: { + apiUrl: config.apiUrl, + }, + secrets: { + apiKey: '123', + }, + }) + .expect(400) + .then((resp: any) => { + expect(resp.body).to.eql({ + statusCode: 400, + error: 'Bad Request', + message: + 'error validating action type config: [apiProvider]: expected value of type [string] but got [undefined]', + }); + }); + }); + + it('should return 400 Bad Request when creating the connector without the apiUrl', async () => { + await supertest + .post('/api/actions/connector') + .set('kbn-xsrf', 'foo') + .send({ + name, + connector_type_id: connectorTypeId, + config: defaultConfig, + secrets, + }) + .expect(400) + .then((resp: any) => { + expect(resp.body).to.eql({ + statusCode: 400, + error: 'Bad Request', + message: + 'error validating action type config: [apiUrl]: expected value of type [string] but got [undefined]', + }); + }); + }); + + it('should return 400 Bad Request when creating the connector with a apiUrl that is not allowed', async () => { + await supertest + .post('/api/actions/connector') + .set('kbn-xsrf', 'foo') + .send({ + name, + connector_type_id: connectorTypeId, + config: { + ...defaultConfig, + apiUrl: 'http://genAi.mynonexistent.com', + }, + secrets, + }) + .expect(400) + .then((resp: any) => { + expect(resp.body).to.eql({ + statusCode: 400, + error: 'Bad Request', + message: + 'error validating action type config: Error configuring Generative AI action: Error: error validating url: target url "http://genAi.mynonexistent.com" is not added to the Kibana config xpack.actions.allowedHosts', + }); + }); + }); + + it('should return 400 Bad Request when creating the connector without secrets', async () => { + await supertest + .post('/api/actions/connector') + .set('kbn-xsrf', 'foo') + .send({ + name, + connector_type_id: connectorTypeId, + config, + }) + .expect(400) + .then((resp: any) => { + expect(resp.body).to.eql({ + statusCode: 400, + error: 'Bad Request', + message: + 'error validating action type secrets: [apiKey]: expected value of type [string] but got [undefined]', + }); + }); + }); + }); + + describe('executor', () => { + describe('validation', () => { + const simulator = new GenAiSimulator({ + proxy: { + config: configService.get('kbnTestServer.serverArgs'), + }, + }); + let genAiActionId: string; + + before(async () => { + const apiUrl = await simulator.start(); + genAiActionId = await createConnector(apiUrl); + }); + + after(() => { + simulator.close(); + }); + + it('should fail when the params is empty', async () => { + const { body } = await supertest + .post(`/api/actions/connector/${genAiActionId}/_execute`) + .set('kbn-xsrf', 'foo') + .send({ + params: {}, + }); + expect(200); + + expect(body).to.eql({ + status: 'error', + connector_id: genAiActionId, + message: + 'error validating action params: [subAction]: expected value of type [string] but got [undefined]', + retry: false, + }); + }); + + it('should fail when the subAction is invalid', async () => { + const { body } = await supertest + .post(`/api/actions/connector/${genAiActionId}/_execute`) + .set('kbn-xsrf', 'foo') + .send({ + params: { subAction: 'invalidAction' }, + }) + .expect(200); + + expect(body).to.eql({ + connector_id: genAiActionId, + status: 'error', + retry: true, + message: 'an error occurred while running the action', + service_message: `Sub action "invalidAction" is not registered. Connector id: ${genAiActionId}. Connector name: Generative AI. Connector type: .gen-ai`, + }); + }); + }); + + describe('execution', () => { + describe('successful response simulator', () => { + const simulator = new GenAiSimulator({ + proxy: { + config: configService.get('kbnTestServer.serverArgs'), + }, + }); + let apiUrl: string; + let genAiActionId: string; + + before(async () => { + apiUrl = await simulator.start(); + genAiActionId = await createConnector(apiUrl); + }); + + after(() => { + simulator.close(); + }); + + it('should send a stringified JSON object', async () => { + const { body } = await supertest + .post(`/api/actions/connector/${genAiActionId}/_execute`) + .set('kbn-xsrf', 'foo') + .send({ + params: { + subAction: 'test', + subActionParams: { + body: '{"model":"gpt-3.5-turbo","messages":[{"role":"user","content":"Hello world"}]}', + }, + }, + }) + .expect(200); + + expect(simulator.requestData).to.eql({ + model: 'gpt-3.5-turbo', + messages: [{ role: 'user', content: 'Hello world' }], + }); + expect(body).to.eql({ + status: 'ok', + connector_id: genAiActionId, + data: genAiSuccessResponse, + }); + }); + }); + + describe('error response simulator', () => { + const simulator = new GenAiSimulator({ + returnError: true, + proxy: { + config: configService.get('kbnTestServer.serverArgs'), + }, + }); + + let genAiActionId: string; + + before(async () => { + const apiUrl = await simulator.start(); + genAiActionId = await createConnector(apiUrl); + }); + + after(() => { + simulator.close(); + }); + + it('should return a failure when error happens', async () => { + const { body } = await supertest + .post(`/api/actions/connector/${genAiActionId}/_execute`) + .set('kbn-xsrf', 'foo') + .send({ + params: {}, + }) + .expect(200); + + expect(body).to.eql({ + status: 'error', + connector_id: genAiActionId, + message: + 'error validating action params: [subAction]: expected value of type [string] but got [undefined]', + retry: false, + }); + }); + }); + }); + }); + }); +} diff --git a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/index.ts b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/index.ts index 05bd4da72c19..d66e2a563014 100644 --- a/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/index.ts +++ b/x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/index.ts @@ -38,6 +38,7 @@ export default function connectorsTests({ loadTestFile, getService }: FtrProvide loadTestFile(require.resolve('./connector_types/xmatters')); loadTestFile(require.resolve('./connector_types/tines')); loadTestFile(require.resolve('./connector_types/torq')); + loadTestFile(require.resolve('./connector_types/gen_ai')); loadTestFile(require.resolve('./create')); loadTestFile(require.resolve('./delete')); loadTestFile(require.resolve('./execute')); diff --git a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/check_registered_connector_types.ts b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/check_registered_connector_types.ts index f0578f6dbd7c..4ef9363f0315 100644 --- a/x-pack/test/alerting_api_integration/spaces_only/tests/actions/check_registered_connector_types.ts +++ b/x-pack/test/alerting_api_integration/spaces_only/tests/actions/check_registered_connector_types.ts @@ -47,6 +47,7 @@ export default function createRegisteredConnectorTypeTests({ getService }: FtrPr '.tines', '.torq', '.opsgenie', + '.gen-ai', ].sort() ); }); diff --git a/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts b/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts index 6bc6b02013ed..edd751eedfad 100644 --- a/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts +++ b/x-pack/test/plugin_api_integration/test_suites/task_manager/check_registered_task_types.ts @@ -47,6 +47,7 @@ export default function ({ getService }: FtrProviderContext) { 'UPTIME:SyntheticsService:Sync-Saved-Monitor-Objects', 'actions:.cases-webhook', 'actions:.email', + 'actions:.gen-ai', 'actions:.index', 'actions:.jira', 'actions:.opsgenie',