From a81b620a41b1118eef5fa6995f07b2e861b20467 Mon Sep 17 00:00:00 2001 From: Steph Milovic Date: Fri, 29 Sep 2023 09:45:53 -0600 Subject: [PATCH] [Security solution] Rename Generative AI connector to OpenAI (#167519) --- .github/CODEOWNERS | 6 +- api_docs/actions.devdocs.json | 16 ++--- .../connector-apis-passthru.asciidoc | 14 ++--- docs/management/action-types.asciidoc | 2 +- .../{gen-ai.asciidoc => openai.asciidoc} | 24 +++---- docs/management/connectors/index.asciidoc | 2 +- .../pre-configured-connectors.asciidoc | 8 +-- docs/redirects.asciidoc | 5 ++ docs/settings/alert-action-settings.asciidoc | 8 +-- .../README.md | 4 +- .../public/components/list_connector.tsx | 2 +- .../public/components/setup_connector.tsx | 6 +- .../gen_ai_streaming_response_example.tsx | 2 +- .../public/plugin.tsx | 7 +-- .../server/plugin.ts | 2 +- .../impl/assistant/assistant_header/index.tsx | 2 +- .../conversation_selector/index.tsx | 2 +- .../conversation_selector_settings/index.tsx | 2 +- .../impl/assistant/index.tsx | 2 +- .../assistant/settings/assistant_settings.tsx | 2 +- .../settings/assistant_settings_button.tsx | 2 +- .../impl/assistant_context/types.tsx | 2 +- .../connectorland/connector_button/index.tsx | 4 +- .../impl/connectorland/helpers.tsx | 4 +- .../use_load_action_types/index.tsx | 7 ++- .../content/prompts/welcome/translations.ts | 2 +- .../impl/mock/conversation.ts | 2 +- .../common/connector_feature_config.test.ts | 10 ++- .../common/connector_feature_config.ts | 18 +++--- x-pack/plugins/actions/common/types.ts | 2 +- .../plugins/actions/docs/openapi/bundled.json | 10 +-- .../plugins/actions/docs/openapi/bundled.yaml | 12 ++-- .../schemas/config_properties_genai.yaml | 4 +- .../connector_response_properties_genai.yaml | 2 +- .../create_connector_request_genai.yaml | 6 +- .../schemas/secrets_properties_genai.yaml | 4 +- .../update_connector_request_genai.yaml | 4 +- .../server/lib/action_executor.test.ts | 2 +- .../actions/server/lib/action_executor.ts | 6 +- .../observability_ai_assistant/README.md | 2 +- .../components/chat/initial_setup_panel.tsx | 6 +- .../common/{gen_ai => openai}/constants.ts | 4 +- .../common/{gen_ai => openai}/schema.ts | 0 .../common/{gen_ai => openai}/types.ts | 0 .../stack_connectors/public/common/index.ts | 6 +- .../connector_types/d3security/d3security.tsx | 2 +- .../public/connector_types/index.ts | 4 +- .../{gen_ai => openai}/api.test.ts | 2 +- .../connector_types/{gen_ai => openai}/api.ts | 2 +- .../{gen_ai => openai}/connector.test.tsx | 62 ++++--------------- .../{gen_ai => openai}/connector.tsx | 9 +-- .../{gen_ai => openai}/constants.tsx | 10 +-- .../{gen_ai => openai}/index.ts | 2 +- .../{gen_ai => openai}/logo.tsx | 0 .../openai.test.tsx} | 6 +- .../{gen_ai/gen_ai.tsx => openai/openai.tsx} | 16 ++--- .../{gen_ai => openai}/params.test.tsx | 14 ++--- .../{gen_ai => openai}/params.tsx | 14 ++--- .../{gen_ai => openai}/translations.ts | 4 +- .../{gen_ai => openai}/types.ts | 21 +++---- .../use_get_dashboard.test.ts | 2 +- .../{gen_ai => openai}/use_get_dashboard.ts | 0 .../server/connector_types/bedrock/index.ts | 4 +- .../server/connector_types/index.ts | 4 +- .../create_dashboard.test.ts | 0 .../{gen_ai => openai}/create_dashboard.ts | 0 .../{gen_ai => openai}/dashboard.ts | 12 ++-- .../{gen_ai => openai}/index.test.ts | 16 ++--- .../{gen_ai => openai}/index.ts | 24 +++---- .../lib/azure_openai_utils.test.ts | 2 +- .../lib/azure_openai_utils.ts | 2 +- .../lib/openai_utils.test.ts | 2 +- .../{gen_ai => openai}/lib/openai_utils.ts | 2 +- .../{gen_ai => openai}/lib/utils.test.ts | 2 +- .../{gen_ai => openai}/lib/utils.ts | 2 +- .../gen_ai.test.ts => openai/openai.test.ts} | 22 +++---- .../{gen_ai/gen_ai.ts => openai/openai.ts} | 12 ++-- .../{gen_ai => openai}/render.test.ts | 2 +- .../{gen_ai => openai}/render.ts | 2 +- .../translations/translations/fr-FR.json | 3 +- .../translations/translations/ja-JP.json | 3 +- .../translations/translations/zh-CN.json | 3 +- ..._ai_simulation.ts => openai_simulation.ts} | 6 +- .../connector_types/{gen_ai.ts => openai.ts} | 18 +++--- .../group2/tests/actions/index.ts | 2 +- .../generative_ai_connector.ts | 4 +- .../stack_connectors/xmatters_connector.ts | 2 +- 87 files changed, 257 insertions(+), 303 deletions(-) rename docs/management/connectors/action-types/{gen-ai.asciidoc => openai.asciidoc} (65%) rename x-pack/plugins/stack_connectors/common/{gen_ai => openai}/constants.ts (93%) rename x-pack/plugins/stack_connectors/common/{gen_ai => openai}/schema.ts (100%) rename x-pack/plugins/stack_connectors/common/{gen_ai => openai}/types.ts (100%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/api.test.ts (95%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/api.ts (94%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/connector.test.tsx (81%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/connector.tsx (93%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/constants.tsx (96%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/index.ts (76%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/logo.tsx (100%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai/gen_ai.test.tsx => openai/openai.test.tsx} (94%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai/gen_ai.tsx => openai/openai.tsx} (80%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/params.test.tsx (94%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/params.tsx (86%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/translations.ts (94%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/types.ts (59%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/use_get_dashboard.test.ts (98%) rename x-pack/plugins/stack_connectors/public/connector_types/{gen_ai => openai}/use_get_dashboard.ts (100%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/create_dashboard.test.ts (100%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/create_dashboard.ts (100%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/dashboard.ts (97%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/index.test.ts (85%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/index.ts (76%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/lib/azure_openai_utils.test.ts (99%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/lib/azure_openai_utils.ts (97%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/lib/openai_utils.test.ts (99%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/lib/openai_utils.ts (97%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/lib/utils.test.ts (99%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/lib/utils.ts (97%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai/gen_ai.test.ts => openai/openai.test.ts} (97%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai/gen_ai.ts => openai/openai.ts} (96%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/render.test.ts (96%) rename x-pack/plugins/stack_connectors/server/connector_types/{gen_ai => openai}/render.ts (93%) rename x-pack/test/alerting_api_integration/common/plugins/actions_simulators/server/{gen_ai_simulation.ts => openai_simulation.ts} (91%) rename x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/connector_types/{gen_ai.ts => openai.ts} (96%) diff --git a/.github/CODEOWNERS b/.github/CODEOWNERS index 7f8a9fce8b716..908ade51321b5 100644 --- a/.github/CODEOWNERS +++ b/.github/CODEOWNERS @@ -1211,9 +1211,9 @@ x-pack/plugins/cloud_integrations/cloud_full_story/server/config.ts @elastic/kib /x-pack/plugins/security_solution/server/search_strategy/security_solution/factory/users @elastic/security-threat-hunting-explore ## Explore owner connectors -/x-pack/plugins/stack_connectors/public/connector_types/gen_ai @elastic/security-threat-hunting-explore -/x-pack/plugins/stack_connectors/server/connector_types/gen_ai @elastic/security-threat-hunting-explore -/x-pack/plugins/stack_connectors/common/gen_ai @elastic/security-threat-hunting-explore +/x-pack/plugins/stack_connectors/public/connector_types/openai @elastic/security-threat-hunting-explore +/x-pack/plugins/stack_connectors/server/connector_types/openai @elastic/security-threat-hunting-explore +/x-pack/plugins/stack_connectors/common/openai @elastic/security-threat-hunting-explore ## Defend Workflows owner connectors /x-pack/plugins/stack_connectors/public/connector_types/sentinelone @elastic/security-defend-workflows diff --git a/api_docs/actions.devdocs.json b/api_docs/actions.devdocs.json index 4e648524c704d..247840029729f 100644 --- a/api_docs/actions.devdocs.json +++ b/api_docs/actions.devdocs.json @@ -5273,10 +5273,10 @@ }, { "parentPluginId": "actions", - "id": "def-common.GeneralConnectorFeatureId", + "id": "def-common.GenerativeAIConnectorFeatureId", "type": "string", "tags": [], - "label": "GeneralConnectorFeatureId", + "label": "GenerativeAIConnectorFeatureId", "description": [], "signature": [ "\"general\"" @@ -5613,10 +5613,10 @@ }, { "parentPluginId": "actions", - "id": "def-common.GeneralFeature", + "id": "def-common.GenerativeAIFeature", "type": "Object", "tags": [], - "label": "GeneralFeature", + "label": "GenerativeAIFeature", "description": [], "path": "x-pack/plugins/actions/common/connector_feature_config.ts", "deprecated": false, @@ -5624,7 +5624,7 @@ "children": [ { "parentPluginId": "actions", - "id": "def-common.GeneralFeature.id", + "id": "def-common.GenerativeAIFeature.id", "type": "string", "tags": [], "label": "id", @@ -5635,7 +5635,7 @@ }, { "parentPluginId": "actions", - "id": "def-common.GeneralFeature.name", + "id": "def-common.GenerativeAIFeature.name", "type": "string", "tags": [], "label": "name", @@ -5646,7 +5646,7 @@ }, { "parentPluginId": "actions", - "id": "def-common.GeneralFeature.compatibility", + "id": "def-common.GenerativeAIFeature.compatibility", "type": "string", "tags": [], "label": "compatibility", @@ -5769,4 +5769,4 @@ } ] } -} \ No newline at end of file +} diff --git a/docs/api-generated/connectors/connector-apis-passthru.asciidoc b/docs/api-generated/connectors/connector-apis-passthru.asciidoc index fb1a9b87dbcda..d3495cecf9edf 100644 --- a/docs/api-generated/connectors/connector-apis-passthru.asciidoc +++ b/docs/api-generated/connectors/connector-apis-passthru.asciidoc @@ -1004,7 +1004,7 @@ Any modifications made to this file will be overwritten.
  • config_properties_cases_webhook - Connector request properties for Webhook - Case Management connector
  • config_properties_d3security - Connector request properties for a D3 Security connector
  • config_properties_email - Connector request properties for an email connector
  • -
  • config_properties_genai - Connector request properties for a generative AI connector
  • +
  • config_properties_genai - Connector request properties for an OpenAI connector
  • config_properties_genai_oneOf -
  • config_properties_genai_oneOf_1 -
  • config_properties_index - Connector request properties for an index connector
  • @@ -1044,7 +1044,7 @@ Any modifications made to this file will be overwritten.
  • create_connector_request_cases_webhook - Create Webhook - Case Managment connector request
  • create_connector_request_d3security - Create D3 Security connector request
  • create_connector_request_email - Create email connector request
  • -
  • create_connector_request_genai - Create generative AI connector request
  • +
  • create_connector_request_genai - Create OpenAI connector request
  • create_connector_request_index - Create index connector request
  • create_connector_request_jira - Create Jira connector request
  • create_connector_request_opsgenie - Create Opsgenie connector request
  • @@ -1100,7 +1100,7 @@ Any modifications made to this file will be overwritten.
  • secrets_properties_cases_webhook - Connector secrets properties for Webhook - Case Management connector
  • secrets_properties_d3security - Connector secrets properties for a D3 Security connector
  • secrets_properties_email - Connector secrets properties for an email connector
  • -
  • secrets_properties_genai - Connector secrets properties for a generative AI connector
  • +
  • secrets_properties_genai - Connector secrets properties for an OpenAI connector
  • secrets_properties_jira - Connector secrets properties for a Jira connector
  • secrets_properties_opsgenie - Connector secrets properties for an Opsgenie connector
  • secrets_properties_pagerduty - Connector secrets properties for a PagerDuty connector
  • @@ -1432,7 +1432,7 @@ Any modifications made to this file will be overwritten.
    -

    config_properties_genai - Connector request properties for a generative AI connector Up

    +

    config_properties_genai - Connector request properties for an OpenAI connector Up

    Defines properties for connectors when type is .gen-ai.
    apiProvider
    String The OpenAI API provider.
    @@ -1958,8 +1958,8 @@ Any modifications made to this file will be overwritten.
    -

    create_connector_request_genai - Create generative AI connector request Up

    -
    The generative AI connector uses axios to send a POST request to either OpenAI or Azure OpenAPI.
    +

    create_connector_request_genai - Create OpenAI connector request Up

    +
    The OpenAI connector uses axios to send a POST request to either OpenAI or Azure OpenAPI.
    config
    connector_type_id
    String The type of connector.
    @@ -2535,7 +2535,7 @@ Any modifications made to this file will be overwritten.
    -

    secrets_properties_genai - Connector secrets properties for a generative AI connector Up

    +

    secrets_properties_genai - Connector secrets properties for an OpenAI connector Up

    Defines secrets for connectors when type is .gen-ai.
    apiKey (optional)
    String The OpenAI API key.
    diff --git a/docs/management/action-types.asciidoc b/docs/management/action-types.asciidoc index 67dd4e3fd0019..357d0e5de50ea 100644 --- a/docs/management/action-types.asciidoc +++ b/docs/management/action-types.asciidoc @@ -35,7 +35,7 @@ a| <> | Send a message to a Microsoft Teams channel. -a| <> +a| <> | Send a request to OpenAI. diff --git a/docs/management/connectors/action-types/gen-ai.asciidoc b/docs/management/connectors/action-types/openai.asciidoc similarity index 65% rename from docs/management/connectors/action-types/gen-ai.asciidoc rename to docs/management/connectors/action-types/openai.asciidoc index 6388a483e7fc3..49033b92cd740 100644 --- a/docs/management/connectors/action-types/gen-ai.asciidoc +++ b/docs/management/connectors/action-types/openai.asciidoc @@ -1,7 +1,7 @@ -[[gen-ai-action-type]] -== Generative AI connector and action +[[openai-action-type]] +== OpenAI connector and action ++++ -Generative AI +OpenAI ++++ :frontmatter-description: Add a connector that can send requests to an OpenAI provider. :frontmatter-tags-products: [kibana] @@ -9,7 +9,7 @@ :frontmatter-tags-user-goals: [configure] -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. +The OpenAI 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]] @@ -18,14 +18,14 @@ The Generative AI connector uses https://github.com/axios/axios[axios] to send a 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] +image::management/connectors/images/gen-ai-connector.png[OpenAI connector] // NOTE: This is an autogenerated screenshot. Do not edit it directly. [float] -[[gen-ai-connector-configuration]] +[[openai-connector-configuration]] ==== Connector configuration -Generative AI connectors have the following configuration properties: +OpenAI connectors have the following configuration properties: Name:: The name of the connector. OpenAI provider:: The OpenAI API provider, either OpenAI or Azure OpenAI. @@ -41,10 +41,10 @@ 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] +image::management/connectors/images/gen-ai-params-test.png[OpenAI params test] // NOTE: This is an autogenerated screenshot. Do not edit it directly. -The Generative AI actions have the following configuration properties. +The OpenAI actions have the following configuration properties. Body:: A JSON payload sent to the OpenAI API URL. For example: + @@ -61,15 +61,15 @@ Body:: A JSON payload sent to the OpenAI API URL. For example: } -- [float] -[[gen-ai-connector-networking-configuration]] +[[openai-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. [float] -[[gen-ai-connector-token-dashboard]] +[[openai-connector-token-dashboard]] === Token usage dashboard -Once you've created a Generative AI connector, you can monitor its token usage using the *Generative AI Token Usage* dashboard. Select the connector in *{stack-manage-app}* > *{connectors-ui}* to view its details, then click the *View OpenAI Usage Dashboard for "__" Connector* link to open the dashboard. +Once you've created a OpenAI connector, you can monitor its token usage using the *OpenAI Token Usage* dashboard. Select the connector in *{stack-manage-app}* > *{connectors-ui}* to view its details, then click the *View OpenAI Usage Dashboard for "__" Connector* link to open the dashboard. NOTE: To view the dashboard, you need at least `read` and `view_index_metadata` privileges for the `.kibana-event-log-*` index and the `Read` feature privilege for {kib}. You can set up a role with these minimum privileges and assign it to non-admin users who need to view this dashboard. diff --git a/docs/management/connectors/index.asciidoc b/docs/management/connectors/index.asciidoc index e7ef07ba4f737..14cfd57fd3c80 100644 --- a/docs/management/connectors/index.asciidoc +++ b/docs/management/connectors/index.asciidoc @@ -1,11 +1,11 @@ include::action-types/bedrock.asciidoc[leveloffset=+1] include::action-types/d3security.asciidoc[leveloffset=+1] include::action-types/email.asciidoc[leveloffset=+1] -include::action-types/gen-ai.asciidoc[leveloffset=+1] include::action-types/resilient.asciidoc[leveloffset=+1] include::action-types/index.asciidoc[leveloffset=+1] include::action-types/jira.asciidoc[leveloffset=+1] include::action-types/teams.asciidoc[leveloffset=+1] +include::action-types/openai.asciidoc[leveloffset=+1] include::action-types/opsgenie.asciidoc[leveloffset=+1] include::action-types/pagerduty.asciidoc[leveloffset=+1] include::action-types/server-log.asciidoc[leveloffset=+1] diff --git a/docs/management/connectors/pre-configured-connectors.asciidoc b/docs/management/connectors/pre-configured-connectors.asciidoc index 8f40554d5bbf3..79b4e331fa19a 100644 --- a/docs/management/connectors/pre-configured-connectors.asciidoc +++ b/docs/management/connectors/pre-configured-connectors.asciidoc @@ -282,15 +282,15 @@ secrets: [float] [[preconfigured-gen-ai-configuration]] -==== Generative AI connectors +==== OpenAI connectors -The following example creates a <>: +The following example creates a <>: [source,text] -- xpack.actions.preconfigured: - my-gen-ai: - name: preconfigured-gen-ai-connector-type + my-open-ai: + name: preconfigured-openai-connector-type actionTypeId: .gen-ai config: apiUrl: https://api.openai.com/v1/chat/completions <1> diff --git a/docs/redirects.asciidoc b/docs/redirects.asciidoc index f4ac0f11739b0..eac4ff0c800d8 100644 --- a/docs/redirects.asciidoc +++ b/docs/redirects.asciidoc @@ -422,3 +422,8 @@ This page has been deleted. Refer to <>. == Enhancements and bug fixes for 8.10.0 This content has moved. Refer to <> for 8.10.0. + +[role="exclude",id="gen-ai-action-type"] +== Generative AI connector and action + +This connector was renamed. Refer to <>. \ No newline at end of file diff --git a/docs/settings/alert-action-settings.asciidoc b/docs/settings/alert-action-settings.asciidoc index fff867cc65a2a..76b1ebadc98d1 100644 --- a/docs/settings/alert-action-settings.asciidoc +++ b/docs/settings/alert-action-settings.asciidoc @@ -261,13 +261,13 @@ For example: `.email`, `.index`, `.opsgenie`, `.server-log`, `.resilient`, `.sla The configuration details, which are specific to the type of preconfigured connector. `xpack.actions.preconfigured..config.apiProvider`:: -For a <>, specifies the OpenAI API provider, either `OpenAI` or `Azure OpenAI`. +For a <>, specifies the OpenAI API provider, either `OpenAI` or `Azure OpenAI`. `xpack.actions.preconfigured..config.apiUrl`:: A configuration URL that varies by connector: + -- -* For a <>, specifies the OpenAI request URL. +* For a <>, specifies the OpenAI request URL. * For a <>, specifies the {ibm-r} instance URL. * For a <>, specifies the Jira instance URL. * For an <>, specifies the {opsgenie} URL. For example, `https://api.opsgenie.com` or `https://api.eu.opsgenie.com`. @@ -321,7 +321,7 @@ NOTE: If you are using the `xpack.actions.allowedHosts` setting, make sure the h For a <>, specifies a string from the response body of the create case method that corresponds to the external service identifier. `xpack.actions.preconfigured..config.defaultModel`:: -For a <>, specifies the default model to use for requests. It is optional and applicable only when `xpack.actions.preconfigured..config.apiProvider` is `OpenAI`. +For a <>, specifies the default model to use for requests. It is optional and applicable only when `xpack.actions.preconfigured..config.apiProvider` is `OpenAI`. `xpack.actions.preconfigured..config.executionTimeField`:: For an <>, a field that indicates when the document was indexed. @@ -448,7 +448,7 @@ TIP: Sensitive properties, such as passwords, should be stored in the <>, specifies the OpenAI or Azure OpenAI API key for authentication. +* For a <>, specifies the OpenAI or Azure OpenAI API key for authentication. * For an <>, specifies the {opsgenie} API authentication key for HTTP basic authentication. -- diff --git a/x-pack/examples/gen_ai_streaming_response_example/README.md b/x-pack/examples/gen_ai_streaming_response_example/README.md index 30d9b35009304..7bac7351af235 100644 --- a/x-pack/examples/gen_ai_streaming_response_example/README.md +++ b/x-pack/examples/gen_ai_streaming_response_example/README.md @@ -1,5 +1,5 @@ -## Generative AI Connector Streaming Response Example +## OpenAI Connector Streaming Response Example -This example plugin shows you how to stream a response from a Generative AI connector. +This example plugin shows you how to stream a response from a OpenAI connector. To run this example, use the command `yarn start --run-examples`. \ No newline at end of file diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/components/list_connector.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/components/list_connector.tsx index 119a2ddb90d51..06e33429892c1 100644 --- a/x-pack/examples/gen_ai_streaming_response_example/public/components/list_connector.tsx +++ b/x-pack/examples/gen_ai_streaming_response_example/public/components/list_connector.tsx @@ -52,7 +52,7 @@ export const ListConnectors = ({ label={i18n.translate( 'genAiStreamingResponseExample.app.component.selectConnectorLabel', { - defaultMessage: 'Select a Generative AI Connector', + defaultMessage: 'Select an OpenAI Connector', } )} labelAppend={ diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/components/setup_connector.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/components/setup_connector.tsx index 518a0d9ceb3c3..2aafcf1a79031 100644 --- a/x-pack/examples/gen_ai_streaming_response_example/public/components/setup_connector.tsx +++ b/x-pack/examples/gen_ai_streaming_response_example/public/components/setup_connector.tsx @@ -6,7 +6,7 @@ */ import React from 'react'; -import { GenAiLogo } from '@kbn/stack-connectors-plugin/public/common'; +import { OpenAILogo } from '@kbn/stack-connectors-plugin/public/common'; import { EuiFlexGroup, EuiCard, EuiFlexItem, EuiIcon } from '@elastic/eui'; import { i18n } from '@kbn/i18n'; @@ -20,11 +20,11 @@ export const SetupConnector = ({ setIsConnectorModalVisible }: SetupConnectorPro } + icon={} title={i18n.translate( 'genAiStreamingResponseExample.app.component.addConnectorCardTitle', { - defaultMessage: 'Add Generative AI Connector', + defaultMessage: 'Add OpenAI Connector', } )} description={i18n.translate( diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/gen_ai_streaming_response_example.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/gen_ai_streaming_response_example.tsx index 8e671338c1bdb..2f300c49a992d 100644 --- a/x-pack/examples/gen_ai_streaming_response_example/public/gen_ai_streaming_response_example.tsx +++ b/x-pack/examples/gen_ai_streaming_response_example/public/gen_ai_streaming_response_example.tsx @@ -65,7 +65,7 @@ export const GenAiStreamingResponseExampleApp = ({ minimumLicenseRequired: 'platinum', supportedFeatureIds: ['general'], id: '.gen-ai', - name: 'Generative AI', + name: 'OpenAI', enabled: true, }); const [loading, setLoading] = useState(true); diff --git a/x-pack/examples/gen_ai_streaming_response_example/public/plugin.tsx b/x-pack/examples/gen_ai_streaming_response_example/public/plugin.tsx index ccf4fe8aa06b0..23cd797a61d06 100644 --- a/x-pack/examples/gen_ai_streaming_response_example/public/plugin.tsx +++ b/x-pack/examples/gen_ai_streaming_response_example/public/plugin.tsx @@ -37,7 +37,7 @@ export class GenAiStreamingResponseExamplePlugin ) { core.application.register({ id: 'GenAiStreamingResponseExample', - title: 'Generative AI Streaming Response Example', + title: 'OpenAI Streaming Response Example', navLinkStatus: AppNavLinkStatus.hidden, async mount(params: AppMountParameters) { const [coreStart, depsStart] = await core.getStartServices(); @@ -48,9 +48,8 @@ export class GenAiStreamingResponseExamplePlugin developerExamples.register({ appId: 'GenAiStreamingResponseExample', - title: 'Generative AI Streaming Response Example', - description: - 'This example demonstrates how to stream a response from a Generative AI connector', + title: 'OpenAI Streaming Response Example', + description: 'This example demonstrates how to stream a response from an OpenAI connector', }); } diff --git a/x-pack/examples/gen_ai_streaming_response_example/server/plugin.ts b/x-pack/examples/gen_ai_streaming_response_example/server/plugin.ts index 3d4dc4bcf33ab..05f9612bcf73d 100644 --- a/x-pack/examples/gen_ai_streaming_response_example/server/plugin.ts +++ b/x-pack/examples/gen_ai_streaming_response_example/server/plugin.ts @@ -87,7 +87,7 @@ export class GenAiStreamingResponseExamplePlugin implements Plugin { }; } else { throw Boom.badRequest( - `Invalid generative AI connector selected - ${connector.config?.apiProvider} is not a valid provider` + `Invalid OpenAI connector selected - ${connector.config?.apiProvider} is not a valid provider` ); } diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx index 65c3c267e9a8e..e4c4454859d34 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/assistant_header/index.tsx @@ -17,7 +17,7 @@ import { } from '@elastic/eui'; import { css } from '@emotion/react'; import { DocLinksStart } from '@kbn/core-doc-links-browser'; -import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/openai/constants'; import { Conversation } from '../../..'; import { AssistantTitle } from '../assistant_title'; import { ConversationSelector } from '../conversations/conversation_selector'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector/index.tsx index 4891df533fdf1..b68cff6713e91 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector/index.tsx @@ -19,7 +19,7 @@ import React, { useCallback, useEffect, useMemo, useState } from 'react'; import useEvent from 'react-use/lib/useEvent'; import { css } from '@emotion/react'; -import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/openai/constants'; import { Conversation } from '../../../..'; import { useAssistantContext } from '../../../assistant_context'; import * as i18n from './translations'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector_settings/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector_settings/index.tsx index a4618c736eb60..3f26c97f5ad0b 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector_settings/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/conversations/conversation_selector_settings/index.tsx @@ -18,7 +18,7 @@ import { import React, { useCallback, useMemo, useState } from 'react'; import { css } from '@emotion/react'; -import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/openai/constants'; import { Conversation, Prompt } from '../../../..'; import { UseAssistantContext } from '../../../assistant_context'; import * as i18n from './translations'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx index d119526a198c5..cdfd8187e7a2f 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/index.tsx @@ -29,7 +29,7 @@ import { import { createPortal } from 'react-dom'; import { css } from '@emotion/react'; -import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/openai/constants'; import { ActionConnectorProps } from '@kbn/triggers-actions-ui-plugin/public/types'; import { ChatSend } from './chat_send'; import { BlockBotCallToAction } from './block_bot/cta'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx index 1fec8e79af75a..caf8fa77a9b61 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings.tsx @@ -23,7 +23,7 @@ import { // eslint-disable-next-line @kbn/eslint/module_migration import styled from 'styled-components'; import { css } from '@emotion/react'; -import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/openai/constants'; import { Conversation, Prompt, QuickPrompt } from '../../..'; import * as i18n from './translations'; import { useAssistantContext } from '../../assistant_context'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_button.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_button.tsx index 773c68bbccf0e..f559ae8aa76dd 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_button.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant/settings/assistant_settings_button.tsx @@ -8,7 +8,7 @@ import React, { useCallback } from 'react'; import { EuiButtonIcon, EuiToolTip } from '@elastic/eui'; -import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/openai/constants'; import { Conversation } from '../../..'; import { AssistantSettings, CONVERSATIONS_TAB } from './assistant_settings'; import * as i18n from './translations'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx b/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx index 573581091eebf..bf0a20e2b6ea5 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/assistant_context/types.tsx @@ -5,7 +5,7 @@ * 2.0. */ -import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/openai/constants'; export type ConversationRole = 'system' | 'user' | 'assistant'; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_button/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_button/index.tsx index 8db849f64fdf6..8cfeb2ce0efdc 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_button/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/connector_button/index.tsx @@ -8,7 +8,7 @@ import React, { useCallback } from 'react'; import { EuiCard, EuiFlexGroup, EuiFlexItem, EuiIcon } from '@elastic/eui'; -import { GenAiLogo } from '@kbn/stack-connectors-plugin/public/common'; +import { OpenAILogo } from '@kbn/stack-connectors-plugin/public/common'; import * as i18n from '../translations'; import { useAssistantContext } from '../../assistant_context'; @@ -41,7 +41,7 @@ export const ConnectorButton: React.FC = React.memo} + icon={} title={title} description={description} onClick={assistantAvailability.hasConnectorsAllPrivilege ? onClick : undefined} diff --git a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/helpers.tsx b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/helpers.tsx index b5db94fe041d3..9147a6ca83dba 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/helpers.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/helpers.tsx @@ -7,7 +7,7 @@ import type { ActionConnector } from '@kbn/triggers-actions-ui-plugin/public'; import { ActionConnectorProps } from '@kbn/triggers-actions-ui-plugin/public/types'; -import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/openai/constants'; import { ActionTypeModel } from '@kbn/triggers-actions-ui-plugin/public'; interface GenAiConfig { @@ -20,7 +20,7 @@ interface GenAiConfig { * Returns the GenAiConfig for a given ActionConnector. Note that if the connector is preconfigured, * the config will be undefined as the connector is neither available nor editable. * - * TODO: Extract and use separate types from GenAiConfig from '@kbn/stack-connectors-plugin/common/gen_ai/types' + * TODO: Extract and use separate types from GenAiConfig from '@kbn/stack-connectors-plugin/common/openai/types' * * @param connector */ diff --git a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/use_load_action_types/index.tsx b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/use_load_action_types/index.tsx index 796ece694664a..b923471e8c368 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/connectorland/use_load_action_types/index.tsx +++ b/x-pack/packages/kbn-elastic-assistant/impl/connectorland/use_load_action_types/index.tsx @@ -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 { GeneralConnectorFeatureId } from '@kbn/actions-plugin/common'; +import { GenerativeAIConnectorFeatureId } from '@kbn/actions-plugin/common'; import * as i18n from '../translations'; /** @@ -37,7 +37,10 @@ export const useLoadActionTypes = ({ QUERY_KEY, async () => { - const queryResult = await loadActionTypes({ http, featureId: GeneralConnectorFeatureId }); + const queryResult = await loadActionTypes({ + http, + featureId: GenerativeAIConnectorFeatureId, + }); const sortedData = queryResult.sort((a, b) => a.name.localeCompare(b.name)); return sortedData; diff --git a/x-pack/packages/kbn-elastic-assistant/impl/content/prompts/welcome/translations.ts b/x-pack/packages/kbn-elastic-assistant/impl/content/prompts/welcome/translations.ts index 85c355cf4456c..936d27fb1005a 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/content/prompts/welcome/translations.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/content/prompts/welcome/translations.ts @@ -19,7 +19,7 @@ export const WELCOME_GENERAL_2 = i18n.translate( 'xpack.elasticAssistant.securityAssistant.content.prompts.welcome.welcomeGeneral2Prompt', { defaultMessage: - "First things first, we'll need to set up a Generative AI Connector to get this chat experience going! With the Generative AI Connector, you'll be able to configure access to either an Azure OpenAI Service or OpenAI API account, but you better believe you'll be able to deploy your own models within your Elastic Cloud instance and use those here in the future... 😉", + "First things first, we'll need to set up a Generative AI Connector to get this chat experience going! With the Generative AI Connector, you'll be able to configure access to either an OpenAI service or an AWS Bedrock service, but you better believe you'll be able to deploy your own models within your Elastic Cloud instance and use those here in the future... 😉", } ); diff --git a/x-pack/packages/kbn-elastic-assistant/impl/mock/conversation.ts b/x-pack/packages/kbn-elastic-assistant/impl/mock/conversation.ts index 9444350e1a0e1..8e8a099766812 100644 --- a/x-pack/packages/kbn-elastic-assistant/impl/mock/conversation.ts +++ b/x-pack/packages/kbn-elastic-assistant/impl/mock/conversation.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/gen_ai/constants'; +import { OpenAiProviderType } from '@kbn/stack-connectors-plugin/common/openai/constants'; import { Conversation } from '../..'; export const alertConvo: Conversation = { 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 cb571dfa8714d..c12e3db21127f 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', 'general'])).toBeTruthy(); + expect(areValidFeatures(['alerting', 'cases', 'generativeAI'])).toBeTruthy(); }); it('returns true when only one input and it is a valid feature', () => { @@ -42,11 +42,9 @@ describe('getConnectorFeatureName', () => { describe('getConnectorCompatibility', () => { it('returns the compatibility list for valid feature ids', () => { - expect(getConnectorCompatibility(['alerting', 'cases', 'uptime', 'siem', 'general'])).toEqual([ - 'Alerting Rules', - 'Cases', - 'General', - ]); + expect( + getConnectorCompatibility(['alerting', 'cases', 'uptime', 'siem', 'generativeAI']) + ).toEqual(['Alerting Rules', 'Cases', 'Generative AI']); }); it('skips invalid feature ids', () => { diff --git a/x-pack/plugins/actions/common/connector_feature_config.ts b/x-pack/plugins/actions/common/connector_feature_config.ts index 27c035546882b..61a67087da9fa 100644 --- a/x-pack/plugins/actions/common/connector_feature_config.ts +++ b/x-pack/plugins/actions/common/connector_feature_config.ts @@ -25,12 +25,12 @@ export const AlertingConnectorFeatureId = 'alerting'; export const CasesConnectorFeatureId = 'cases'; export const UptimeConnectorFeatureId = 'uptime'; export const SecurityConnectorFeatureId = 'siem'; -export const GeneralConnectorFeatureId = 'general'; +export const GenerativeAIConnectorFeatureId = 'generativeAI'; -const compatibilityGeneral = i18n.translate( - 'xpack.actions.availableConnectorFeatures.compatibility.general', +const compatibilityGenerativeAI = i18n.translate( + 'xpack.actions.availableConnectorFeatures.compatibility.generativeAI', { - defaultMessage: 'General', + defaultMessage: 'Generative AI', } ); @@ -80,10 +80,10 @@ export const SecuritySolutionFeature: ConnectorFeatureConfig = { compatibility: compatibilityAlertingRules, }; -export const GeneralFeature: ConnectorFeatureConfig = { - id: GeneralConnectorFeatureId, - name: compatibilityGeneral, - compatibility: compatibilityGeneral, +export const GenerativeAIFeature: ConnectorFeatureConfig = { + id: GenerativeAIConnectorFeatureId, + name: compatibilityGenerativeAI, + compatibility: compatibilityGenerativeAI, }; const AllAvailableConnectorFeatures = { @@ -91,7 +91,7 @@ const AllAvailableConnectorFeatures = { [CasesConnectorFeature.id]: CasesConnectorFeature, [UptimeConnectorFeature.id]: UptimeConnectorFeature, [SecuritySolutionFeature.id]: SecuritySolutionFeature, - [GeneralFeature.id]: GeneralFeature, + [GenerativeAIFeature.id]: GenerativeAIFeature, }; export function areValidFeatures(ids: string[]) { diff --git a/x-pack/plugins/actions/common/types.ts b/x-pack/plugins/actions/common/types.ts index c3e1b35777fff..44d7516595d19 100644 --- a/x-pack/plugins/actions/common/types.ts +++ b/x-pack/plugins/actions/common/types.ts @@ -12,7 +12,7 @@ export { CasesConnectorFeatureId, UptimeConnectorFeatureId, SecurityConnectorFeatureId, - GeneralConnectorFeatureId, + GenerativeAIConnectorFeatureId, } from './connector_feature_config'; export interface ActionType { id: string; diff --git a/x-pack/plugins/actions/docs/openapi/bundled.json b/x-pack/plugins/actions/docs/openapi/bundled.json index 94efaf061fb4f..801dd78a76936 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.json +++ b/x-pack/plugins/actions/docs/openapi/bundled.json @@ -1768,7 +1768,7 @@ } }, "config_properties_genai": { - "title": "Connector request properties for a generative AI connector", + "title": "Connector request properties for an OpenAI connector", "description": "Defines properties for connectors when type is `.gen-ai`.", "oneOf": [ { @@ -1821,7 +1821,7 @@ } }, "secrets_properties_genai": { - "title": "Connector secrets properties for a generative AI connector", + "title": "Connector secrets properties for an OpenAI connector", "description": "Defines secrets for connectors when type is `.gen-ai`.", "type": "object", "properties": { @@ -1832,8 +1832,8 @@ } }, "create_connector_request_genai": { - "title": "Create generative AI connector request", - "description": "The generative AI connector uses axios to send a POST request to either OpenAI or Azure OpenAPI.\n", + "title": "Create OpenAI connector request", + "description": "The OpenAI connector uses axios to send a POST request to either OpenAI or Azure OpenAPI.\n", "type": "object", "required": [ "config", @@ -5722,4 +5722,4 @@ } } } -} \ No newline at end of file +} diff --git a/x-pack/plugins/actions/docs/openapi/bundled.yaml b/x-pack/plugins/actions/docs/openapi/bundled.yaml index b1ff36d6f3370..63156405da018 100644 --- a/x-pack/plugins/actions/docs/openapi/bundled.yaml +++ b/x-pack/plugins/actions/docs/openapi/bundled.yaml @@ -1031,14 +1031,14 @@ components: type: boolean host: description: | - The host name of the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. + The host name of the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. type: string oauthTokenUrl: type: string nullable: true port: description: | - The port to connect to on the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. + The port to connect to on the service provider. If the `service` is `elastic_cloud` (for Elastic Cloud notifications) or one of Nodemailer's well-known email service providers, this property is ignored. If `service` is `other`, this property must be defined. type: integer secure: description: | @@ -1103,7 +1103,7 @@ components: secrets: $ref: '#/components/schemas/secrets_properties_email' config_properties_genai: - title: Connector request properties for a generative AI connector + title: Connector request properties for an OpenAI connector description: Defines properties for connectors when type is `.gen-ai`. oneOf: - type: object @@ -1138,7 +1138,7 @@ components: discriminator: propertyName: apiProvider secrets_properties_genai: - title: Connector secrets properties for a generative AI connector + title: Connector secrets properties for an OpenAI connector description: Defines secrets for connectors when type is `.gen-ai`. type: object properties: @@ -1146,9 +1146,9 @@ components: type: string description: The OpenAI API key. create_connector_request_genai: - title: Create generative AI connector request + title: Create OpenAI connector request description: | - The generative AI connector uses axios to send a POST request to either OpenAI or Azure OpenAPI. + The OpenAI connector uses axios to send a POST request to either OpenAI or Azure OpenAPI. type: object required: - config diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_genai.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_genai.yaml index ca4388303fd2c..8797f1b330374 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_genai.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/config_properties_genai.yaml @@ -1,4 +1,4 @@ -title: Connector request properties for a generative AI connector +title: Connector request properties for an OpenAI connector description: Defines properties for connectors when type is `.gen-ai`. oneOf: - type: object @@ -29,4 +29,4 @@ oneOf: type: string description: The default model to use for requests. discriminator: - propertyName: apiProvider \ No newline at end of file + propertyName: apiProvider diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_genai.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_genai.yaml index 17e748216639d..928147ed87a69 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_genai.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/connector_response_properties_genai.yaml @@ -1,4 +1,4 @@ -title: Connector response properties for a generative AI connector +title: Connector response properties for an OpenAI connector type: object required: - config diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/create_connector_request_genai.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/create_connector_request_genai.yaml index 9aa605c136bb9..95d65bdb80919 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/create_connector_request_genai.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/create_connector_request_genai.yaml @@ -1,6 +1,6 @@ -title: Create generative AI connector request +title: Create OpenAI connector request description: > - The generative AI connector uses axios to send a POST request to either + The OpenAI connector uses axios to send a POST request to either OpenAI or Azure OpenAPI. type: object required: @@ -22,4 +22,4 @@ properties: description: The display name for the connector. example: my-connector secrets: - $ref: 'secrets_properties_genai.yaml' \ No newline at end of file + $ref: 'secrets_properties_genai.yaml' diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_genai.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_genai.yaml index fae3f0ea131cc..586c50ddbbd37 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_genai.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/secrets_properties_genai.yaml @@ -1,7 +1,7 @@ -title: Connector secrets properties for a generative AI connector +title: Connector secrets properties for an OpenAI connector description: Defines secrets for connectors when type is `.gen-ai`. type: object properties: apiKey: type: string - description: The OpenAI API key. \ No newline at end of file + description: The OpenAI API key. diff --git a/x-pack/plugins/actions/docs/openapi/components/schemas/update_connector_request_genai.yaml b/x-pack/plugins/actions/docs/openapi/components/schemas/update_connector_request_genai.yaml index a7fbf5cb7bcfa..709dea64280dc 100644 --- a/x-pack/plugins/actions/docs/openapi/components/schemas/update_connector_request_genai.yaml +++ b/x-pack/plugins/actions/docs/openapi/components/schemas/update_connector_request_genai.yaml @@ -1,4 +1,4 @@ -title: Update generative AI connector request +title: Update OpenAI connector request type: object required: - config @@ -10,4 +10,4 @@ properties: type: string description: The display name for the connector. secrets: - $ref: 'secrets_properties_genai.yaml' \ No newline at end of file + $ref: 'secrets_properties_genai.yaml' diff --git a/x-pack/plugins/actions/server/lib/action_executor.test.ts b/x-pack/plugins/actions/server/lib/action_executor.test.ts index f0a11b9f90042..a966605bd3a4f 100644 --- a/x-pack/plugins/actions/server/lib/action_executor.test.ts +++ b/x-pack/plugins/actions/server/lib/action_executor.test.ts @@ -1766,7 +1766,7 @@ test('writes to event log for execute and execute start when consumer and relate }); }); -test('writes usage data to event log for gen ai events', async () => { +test('writes usage data to event log for OpenAI events', async () => { const executorMock = setupActionExecutorMock('.gen-ai'); const mockGenAi = { id: 'chatcmpl-7LztF5xsJl2z5jcNpJKvaPm4uWt8x', diff --git a/x-pack/plugins/actions/server/lib/action_executor.ts b/x-pack/plugins/actions/server/lib/action_executor.ts index d5257f4eb8450..d3d57de4cda4e 100644 --- a/x-pack/plugins/actions/server/lib/action_executor.ts +++ b/x-pack/plugins/actions/server/lib/action_executor.ts @@ -286,8 +286,8 @@ export class ActionExecutor { event.event = event.event || {}; - // start gen_ai extension - // add event.kibana.action.execution.gen_ai to event log when GenerativeAi Connector is executed + // start openai extension + // add event.kibana.action.execution.openai to event log when OpenAI Connector is executed if (result.status === 'ok' && actionTypeId === '.gen-ai') { const data = result.data as unknown as { usage: { prompt_tokens?: number; completion_tokens?: number; total_tokens?: number }; @@ -311,7 +311,7 @@ export class ActionExecutor { }, }; } - // end gen_ai extension + // end openai extension const currentUser = security?.authc.getCurrentUser(request); diff --git a/x-pack/plugins/observability_ai_assistant/README.md b/x-pack/plugins/observability_ai_assistant/README.md index 11e6d7d38d659..8d5e166883995 100644 --- a/x-pack/plugins/observability_ai_assistant/README.md +++ b/x-pack/plugins/observability_ai_assistant/README.md @@ -6,7 +6,7 @@ This document gives an overview of the features of the Observability AI Assistan #### **1.1. Configuration** -Users can connect to an LLM using [connectors](https://www.elastic.co/guide/en/kibana/current/action-types.html) - specifically the [Generative AI connector](https://www.elastic.co/guide/en/kibana/current/gen-ai-action-type.html), which currently supports both OpenAI and Azure OpenAI as providers. The connector is Enterprise-only. Users can also leverage [preconfigured connectors](https://www.elastic.co/guide/en/kibana/current/pre-configured-connectors.html), in which case the following should be added to `kibana.yml`: +Users can connect to an LLM using [connectors](https://www.elastic.co/guide/en/kibana/current/action-types.html) - specifically the [OpenAI connector](https://www.elastic.co/guide/en/kibana/current/openai-action-type.html), which currently supports both OpenAI and Azure OpenAI as providers. The connector is Enterprise-only. Users can also leverage [preconfigured connectors](https://www.elastic.co/guide/en/kibana/current/pre-configured-connectors.html), in which case the following should be added to `kibana.yml`: ```yaml xpack.actions.preconfigured: diff --git a/x-pack/plugins/observability_ai_assistant/public/components/chat/initial_setup_panel.tsx b/x-pack/plugins/observability_ai_assistant/public/components/chat/initial_setup_panel.tsx index 281cf46c972bb..b8c99bbfa7cd4 100644 --- a/x-pack/plugins/observability_ai_assistant/public/components/chat/initial_setup_panel.tsx +++ b/x-pack/plugins/observability_ai_assistant/public/components/chat/initial_setup_panel.tsx @@ -143,7 +143,7 @@ export function InitialSetupPanel({ {i18n.translate( 'xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description1', { - defaultMessage: 'Set up a Generative AI connector with your AI provider.', + defaultMessage: 'Set up an OpenAI connector with your AI provider.', } )}

    @@ -153,7 +153,7 @@ export function InitialSetupPanel({ 'xpack.observabilityAiAssistant.initialSetupPanel.setupConnector.description2', { defaultMessage: - 'The Generative AI model needs to support function calls. We strongly recommend using GPT4.', + 'The OpenAI model needs to support function calls. We strongly recommend using GPT4.', } )} diff --git a/x-pack/plugins/stack_connectors/common/gen_ai/constants.ts b/x-pack/plugins/stack_connectors/common/openai/constants.ts similarity index 93% rename from x-pack/plugins/stack_connectors/common/gen_ai/constants.ts rename to x-pack/plugins/stack_connectors/common/openai/constants.ts index 8c8dd84c4e326..db01f52d762cf 100644 --- a/x-pack/plugins/stack_connectors/common/gen_ai/constants.ts +++ b/x-pack/plugins/stack_connectors/common/openai/constants.ts @@ -7,13 +7,13 @@ import { i18n } from '@kbn/i18n'; -export const OPEN_AI_TITLE = i18n.translate( +export const OPENAI_TITLE = i18n.translate( 'xpack.stackConnectors.components.genAi.connectorTypeTitle', { defaultMessage: 'OpenAI', } ); -export const GEN_AI_CONNECTOR_ID = '.gen-ai'; +export const OPENAI_CONNECTOR_ID = '.gen-ai'; export enum SUB_ACTION { RUN = 'run', INVOKE_AI = 'invokeAI', diff --git a/x-pack/plugins/stack_connectors/common/gen_ai/schema.ts b/x-pack/plugins/stack_connectors/common/openai/schema.ts similarity index 100% rename from x-pack/plugins/stack_connectors/common/gen_ai/schema.ts rename to x-pack/plugins/stack_connectors/common/openai/schema.ts diff --git a/x-pack/plugins/stack_connectors/common/gen_ai/types.ts b/x-pack/plugins/stack_connectors/common/openai/types.ts similarity index 100% rename from x-pack/plugins/stack_connectors/common/gen_ai/types.ts rename to x-pack/plugins/stack_connectors/common/openai/types.ts diff --git a/x-pack/plugins/stack_connectors/public/common/index.ts b/x-pack/plugins/stack_connectors/public/common/index.ts index ec0ce2960114b..ec5dd5e69e242 100644 --- a/x-pack/plugins/stack_connectors/public/common/index.ts +++ b/x-pack/plugins/stack_connectors/public/common/index.ts @@ -5,7 +5,7 @@ * 2.0. */ -import GenAiLogo from '../connector_types/gen_ai/logo'; +import OpenAILogo from '../connector_types/openai/logo'; -export { GEN_AI_CONNECTOR_ID, OpenAiProviderType } from '../../common/gen_ai/constants'; -export { GenAiLogo }; +export { OPENAI_CONNECTOR_ID, OpenAiProviderType } from '../../common/openai/constants'; +export { OpenAILogo }; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/d3security/d3security.tsx b/x-pack/plugins/stack_connectors/public/connector_types/d3security/d3security.tsx index 41df7d3aed16d..f3223eb8314f3 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/d3security/d3security.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/d3security/d3security.tsx @@ -8,7 +8,7 @@ import { lazy } from 'react'; import { i18n } from '@kbn/i18n'; import { GenericValidationResult } from '@kbn/triggers-actions-ui-plugin/public/types'; -import { SUB_ACTION } from '../../../common/gen_ai/constants'; +import { SUB_ACTION } from '../../../common/d3security/constants'; import { D3SecurityActionParams, D3SecurityConnector } from './types'; import { D3_SECURITY_CONNECTOR_ID } from '../../../common/d3security/constants'; interface ValidationErrors { 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 20964012607f8..0c024870133dc 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/index.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/index.ts @@ -11,7 +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 { getOpenAIConnectorType } from './openai'; import { getBedrockConnectorType } from './bedrock'; import { getOpsgenieConnectorType } from './opsgenie'; import { getPagerDutyConnectorType } from './pagerduty'; @@ -60,7 +60,7 @@ export function registerConnectorTypes({ connectorTypeRegistry.register(getJiraConnectorType()); connectorTypeRegistry.register(getResilientConnectorType()); connectorTypeRegistry.register(getOpsgenieConnectorType()); - connectorTypeRegistry.register(getGenerativeAiConnectorType()); + connectorTypeRegistry.register(getOpenAIConnectorType()); connectorTypeRegistry.register(getBedrockConnectorType()); connectorTypeRegistry.register(getTeamsConnectorType()); connectorTypeRegistry.register(getTorqConnectorType()); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/api.test.ts b/x-pack/plugins/stack_connectors/public/connector_types/openai/api.test.ts similarity index 95% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/api.test.ts rename to x-pack/plugins/stack_connectors/public/connector_types/openai/api.test.ts index cf1197c487cd9..5ab342a22828b 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/api.test.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/api.test.ts @@ -7,7 +7,7 @@ import { httpServiceMock } from '@kbn/core-http-browser-mocks'; import { getDashboard } from './api'; -import { SUB_ACTION } from '../../../common/gen_ai/constants'; +import { SUB_ACTION } from '../../../common/openai/constants'; const response = { available: true, }; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/api.ts b/x-pack/plugins/stack_connectors/public/connector_types/openai/api.ts similarity index 94% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/api.ts rename to x-pack/plugins/stack_connectors/public/connector_types/openai/api.ts index da35d608239b1..97b0608bb725d 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/api.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/api.ts @@ -7,7 +7,7 @@ import { HttpSetup } from '@kbn/core-http-browser'; import { ActionTypeExecutorResult, BASE_ACTION_API_PATH } from '@kbn/actions-plugin/common'; -import { SUB_ACTION } from '../../../common/gen_ai/constants'; +import { SUB_ACTION } from '../../../common/openai/constants'; import { ConnectorExecutorResult, rewriteResponseToCamelCase } from '../lib/rewrite_response_body'; export async function getDashboard({ 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/openai/connector.test.tsx similarity index 81% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.test.tsx rename to x-pack/plugins/stack_connectors/public/connector_types/openai/connector.test.tsx index 5e561615f0bcf..e88c3fa116153 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.test.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/connector.test.tsx @@ -6,11 +6,11 @@ */ import React from 'react'; -import GenerativeAiConnectorFields from './connector'; +import ConnectorFields from './connector'; import { ConnectorFormTestProvider } from '../lib/test_utils'; import { act, fireEvent, render, waitFor } from '@testing-library/react'; import userEvent from '@testing-library/user-event'; -import { DEFAULT_OPENAI_MODEL, OpenAiProviderType } from '../../../common/gen_ai/constants'; +import { DEFAULT_OPENAI_MODEL, OpenAiProviderType } from '../../../common/openai/constants'; import { useKibana } from '@kbn/triggers-actions-ui-plugin/public'; import { useGetDashboard } from './use_get_dashboard'; @@ -21,7 +21,7 @@ const useKibanaMock = useKibana as jest.Mocked; const mockDashboard = useGetDashboard as jest.Mock; const openAiConnector = { actionTypeId: '.gen-ai', - name: 'genAi', + name: 'OpenAI', id: '123', config: { apiUrl: 'https://openaiurl.com', @@ -46,7 +46,7 @@ const azureConnector = { const navigateToUrl = jest.fn(); -describe('GenerativeAiConnectorFields renders', () => { +describe('ConnectorFields renders', () => { beforeEach(() => { jest.clearAllMocks(); useKibanaMock().services.application.navigateToUrl = navigateToUrl; @@ -57,11 +57,7 @@ describe('GenerativeAiConnectorFields renders', () => { test('open ai connector fields are rendered', async () => { const { getAllByTestId } = render( - {}} - /> + {}} /> ); expect(getAllByTestId('config.apiUrl-input')[0]).toBeInTheDocument(); @@ -77,11 +73,7 @@ describe('GenerativeAiConnectorFields renders', () => { test('azure ai connector fields are rendered', async () => { const { getAllByTestId } = render( - {}} - /> + {}} /> ); expect(getAllByTestId('config.apiUrl-input')[0]).toBeInTheDocument(); @@ -98,11 +90,7 @@ describe('GenerativeAiConnectorFields renders', () => { it('Does not render if isEdit is false and dashboardUrl is defined', async () => { const { queryByTestId } = render( - {}} - /> + {}} /> ); expect(queryByTestId('link-gen-ai-token-dashboard')).not.toBeInTheDocument(); @@ -113,11 +101,7 @@ describe('GenerativeAiConnectorFields renders', () => { })); const { queryByTestId } = render( - {}} - /> + {}} /> ); expect(queryByTestId('link-gen-ai-token-dashboard')).not.toBeInTheDocument(); @@ -125,11 +109,7 @@ describe('GenerativeAiConnectorFields renders', () => { it('Renders if isEdit is true and dashboardUrl is defined', async () => { const { getByTestId } = render( - {}} - /> + {}} /> ); expect(getByTestId('link-gen-ai-token-dashboard')).toBeInTheDocument(); @@ -137,11 +117,7 @@ describe('GenerativeAiConnectorFields renders', () => { it('On click triggers redirect with correct saved object id', async () => { const { getByTestId } = render( - {}} - /> + {}} /> ); fireEvent.click(getByTestId('link-gen-ai-token-dashboard')); @@ -158,11 +134,7 @@ describe('GenerativeAiConnectorFields renders', () => { it('connector validation succeeds when connector config is valid', async () => { const { getByTestId } = render( - {}} - /> + {}} /> ); @@ -191,11 +163,7 @@ describe('GenerativeAiConnectorFields renders', () => { const res = render( - {}} - /> + {}} /> ); @@ -224,11 +192,7 @@ describe('GenerativeAiConnectorFields renders', () => { const res = render( - {}} - /> + {}} /> ); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.tsx b/x-pack/plugins/stack_connectors/public/connector_types/openai/connector.tsx similarity index 93% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.tsx rename to x-pack/plugins/stack_connectors/public/connector_types/openai/connector.tsx index 99b8bb701e60e..516ff9c3e9264 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/connector.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/connector.tsx @@ -19,8 +19,8 @@ import { } from '@kbn/es-ui-shared-plugin/static/forms/hook_form_lib'; import { useKibana } from '@kbn/triggers-actions-ui-plugin/public'; import { fieldValidators } from '@kbn/es-ui-shared-plugin/static/forms/helpers'; +import { OpenAiProviderType } from '../../../common/openai/constants'; import { useGetDashboard } from './use_get_dashboard'; -import { OpenAiProviderType } from '../../../common/gen_ai/constants'; import * as i18n from './translations'; import { azureAiConfig, @@ -31,10 +31,7 @@ import { } from './constants'; const { emptyField } = fieldValidators; -const GenerativeAiConnectorFields: React.FC = ({ - readOnly, - isEdit, -}) => { +const ConnectorFields: React.FC = ({ readOnly, isEdit }) => { const { getFieldDefaultValue } = useFormContext(); const [{ config, id, name }] = useFormData({ watch: ['config.apiProvider'], @@ -117,4 +114,4 @@ const GenerativeAiConnectorFields: React.FC = ({ }; // eslint-disable-next-line import/no-default-export -export { GenerativeAiConnectorFields as default }; +export { ConnectorFields as default }; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/constants.tsx b/x-pack/plugins/stack_connectors/public/connector_types/openai/constants.tsx similarity index 96% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/constants.tsx rename to x-pack/plugins/stack_connectors/public/connector_types/openai/constants.tsx index ab7f18e2be00f..4df722ecfae04 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/constants.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/constants.tsx @@ -9,7 +9,7 @@ import React from 'react'; import { ConfigFieldSchema, SecretsFieldSchema } from '@kbn/triggers-actions-ui-plugin/public'; import { FormattedMessage } from '@kbn/i18n-react'; import { EuiLink } from '@elastic/eui'; -import { DEFAULT_OPENAI_MODEL, OpenAiProviderType } from '../../../common/gen_ai/constants'; +import { DEFAULT_OPENAI_MODEL, OpenAiProviderType } from '../../../common/openai/constants'; import * as i18n from './translations'; export const DEFAULT_URL = 'https://api.openai.com/v1/chat/completions' as const; @@ -46,7 +46,7 @@ export const openAiConfig: ConfigFieldSchema[] = [ href="https://platform.openai.com/docs/api-reference" target="_blank" > - {`${i18n.OPEN_AI} ${i18n.DOCUMENTATION}`} + {`${i18n.OPENAI} ${i18n.DOCUMENTATION}`} ), }} @@ -108,7 +108,7 @@ export const openAiSecrets: SecretsFieldSchema[] = [ href="https://platform.openai.com/account/api-keys" target="_blank" > - {`${i18n.OPEN_AI} ${i18n.DOCUMENTATION}`} + {`${i18n.OPENAI} ${i18n.DOCUMENTATION}`} ), }} @@ -145,8 +145,8 @@ export const azureAiSecrets: SecretsFieldSchema[] = [ export const providerOptions = [ { value: OpenAiProviderType.OpenAi, - text: i18n.OPEN_AI, - label: i18n.OPEN_AI, + text: i18n.OPENAI, + label: i18n.OPENAI, }, { value: OpenAiProviderType.AzureAi, diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/index.ts b/x-pack/plugins/stack_connectors/public/connector_types/openai/index.ts similarity index 76% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/index.ts rename to x-pack/plugins/stack_connectors/public/connector_types/openai/index.ts index dea9dbeaef3d7..8c51a45c58f9f 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/index.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/index.ts @@ -5,4 +5,4 @@ * 2.0. */ -export { getConnectorType as getGenerativeAiConnectorType } from './gen_ai'; +export { getConnectorType as getOpenAIConnectorType } from './openai'; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/logo.tsx b/x-pack/plugins/stack_connectors/public/connector_types/openai/logo.tsx similarity index 100% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/logo.tsx rename to x-pack/plugins/stack_connectors/public/connector_types/openai/logo.tsx 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/openai/openai.test.tsx similarity index 94% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.test.tsx rename to x-pack/plugins/stack_connectors/public/connector_types/openai/openai.test.tsx index 3bed686dca025..49a4d87524f7a 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.test.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/openai.test.tsx @@ -9,7 +9,7 @@ import { TypeRegistry } from '@kbn/triggers-actions-ui-plugin/public/application 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'; +import { SUB_ACTION } from '../../../common/openai/constants'; const ACTION_TYPE_ID = '.gen-ai'; let actionTypeModel: ActionTypeModel; @@ -26,12 +26,12 @@ beforeAll(() => { 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.selectMessage).toBe('Send a request to OpenAI systems.'); expect(actionTypeModel.actionTypeTitle).toBe('OpenAI'); }); }); -describe('gen ai action params validation', () => { +describe('OpenAI action params validation', () => { test('action params validation succeeds when action params is valid', async () => { const actionParams = { subAction: SUB_ACTION.RUN, 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/openai/openai.tsx similarity index 80% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.tsx rename to x-pack/plugins/stack_connectors/public/connector_types/openai/openai.tsx index 7a4c798763c46..83340c90be804 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/gen_ai.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/openai.tsx @@ -8,24 +8,24 @@ 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, OPEN_AI_TITLE } from '../../../common/gen_ai/constants'; -import { GenerativeAiActionParams, GenerativeAiConnector } from './types'; +import { SUB_ACTION } from '../../../common/openai/constants'; +import { OPENAI_CONNECTOR_ID, OPENAI_TITLE } from '../../../common/openai/constants'; +import { ActionParams, OpenAIConnector } from './types'; interface ValidationErrors { subAction: string[]; body: string[]; } -export function getConnectorType(): GenerativeAiConnector { +export function getConnectorType(): OpenAIConnector { return { - id: GEN_AI_CONNECTOR_ID, + id: OPENAI_CONNECTOR_ID, iconClass: lazy(() => import('./logo')), selectMessage: i18n.translate('xpack.stackConnectors.components.genAi.selectMessageText', { - defaultMessage: 'Send a request to generative AI systems.', + defaultMessage: 'Send a request to OpenAI systems.', }), - actionTypeTitle: OPEN_AI_TITLE, + actionTypeTitle: OPENAI_TITLE, validateParams: async ( - actionParams: GenerativeAiActionParams + actionParams: ActionParams ): Promise> => { const { subAction, subActionParams } = actionParams; const translations = await import('./translations'); 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/openai/params.test.tsx similarity index 94% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.test.tsx rename to x-pack/plugins/stack_connectors/public/connector_types/openai/params.test.tsx index ef418bd16965d..cefabe4d3b1aa 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/params.test.tsx +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/params.test.tsx @@ -7,9 +7,9 @@ import React from 'react'; import { fireEvent, render } from '@testing-library/react'; -import GenerativeAiParamsFields from './params'; +import ParamsFields 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 { OpenAiProviderType, SUB_ACTION } from '../../../common/openai/constants'; import { DEFAULT_BODY, DEFAULT_BODY_AZURE, DEFAULT_URL } from './constants'; const kibanaReactPath = '../../../../../../src/plugins/kibana_react/public'; @@ -34,7 +34,7 @@ const messageVariables = [ describe('Gen AI Params Fields renders', () => { test('all params fields are rendered', () => { const { getByTestId } = render( - { isPreconfigured: false, isSystemAction: false as const, isDeprecated: false, - name: 'My GenAI Connector', + name: 'My OpenAI Connector', config: { apiProvider, apiUrl: DEFAULT_URL, }, }; render( - { const editAction = jest.fn(); const errors = {}; render( - { const editAction = jest.fn(); const errors = {}; const { getByTestId } = render( - -> = ({ +const ParamsFields: React.FunctionComponent> = ({ actionConnector, actionParams, editAction, @@ -31,7 +29,7 @@ const GenerativeAiParamsFields: React.FunctionComponent< const { body } = subActionParams ?? {}; - const typedActionConnector = actionConnector as unknown as GenerativeAiActionConnector; + const typedActionConnector = actionConnector as unknown as OpenAIActionConnector; const isTest = useMemo(() => executionMode === ActionConnectorMode.Test, [executionMode]); @@ -55,7 +53,7 @@ const GenerativeAiParamsFields: React.FunctionComponent< }, [typedActionConnector?.config?.apiProvider, editAction, index, subActionParams]); const editSubActionParams = useCallback( - (params: GenerativeAiActionParams['subActionParams']) => { + (params: ActionParams['subActionParams']) => { editAction('subActionParams', { ...subActionParams, ...params }, index); }, [editAction, index, subActionParams] @@ -87,4 +85,4 @@ const GenerativeAiParamsFields: React.FunctionComponent< }; // eslint-disable-next-line import/no-default-export -export { GenerativeAiParamsFields as default }; +export { ParamsFields 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/openai/translations.ts similarity index 94% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/translations.ts rename to x-pack/plugins/stack_connectors/public/connector_types/openai/translations.ts index ef6ccd07d386b..f6cfa4a91cf61 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/translations.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/translations.ts @@ -39,7 +39,7 @@ export const API_PROVIDER_LABEL = i18n.translate( } ); -export const OPEN_AI = i18n.translate('xpack.stackConnectors.components.genAi.openAi', { +export const OPENAI = i18n.translate('xpack.stackConnectors.components.genAi.openAi', { defaultMessage: 'OpenAI', }); @@ -104,6 +104,6 @@ export const USAGE_DASHBOARD_LINK = (apiProvider: string, connectorName: string) export const GET_DASHBOARD_API_ERROR = i18n.translate( 'xpack.stackConnectors.components.genAi.error.dashboardApiError', { - defaultMessage: 'Error finding Generative AI Token Usage Dashboard.', + defaultMessage: 'Error finding OpenAI Token Usage Dashboard.', } ); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/types.ts b/x-pack/plugins/stack_connectors/public/connector_types/openai/types.ts similarity index 59% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/types.ts rename to x-pack/plugins/stack_connectors/public/connector_types/openai/types.ts index ddb0f8e871b19..3ba19c04d13a7 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/types.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/types.ts @@ -7,29 +7,22 @@ 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 { RunActionParams } from '../../../common/gen_ai/types'; +import { OpenAiProviderType, SUB_ACTION } from '../../../common/openai/constants'; +import { RunActionParams } from '../../../common/openai/types'; -export interface GenerativeAiActionParams { +export interface ActionParams { subAction: SUB_ACTION.RUN | SUB_ACTION.TEST; subActionParams: RunActionParams; } -export interface GenerativeAiConfig { +export interface Config { apiProvider: OpenAiProviderType; apiUrl: string; } -export interface GenerativeAiSecrets { +export interface Secrets { apiKey: string; } -export type GenerativeAiConnector = ConnectorTypeModel< - GenerativeAiConfig, - GenerativeAiSecrets, - GenerativeAiActionParams ->; -export type GenerativeAiActionConnector = UserConfiguredActionConnector< - GenerativeAiConfig, - GenerativeAiSecrets ->; +export type OpenAIConnector = ConnectorTypeModel; +export type OpenAIActionConnector = UserConfiguredActionConnector; diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/use_get_dashboard.test.ts b/x-pack/plugins/stack_connectors/public/connector_types/openai/use_get_dashboard.test.ts similarity index 98% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/use_get_dashboard.test.ts rename to x-pack/plugins/stack_connectors/public/connector_types/openai/use_get_dashboard.test.ts index 255e2aba1b000..8e78c522712bd 100644 --- a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/use_get_dashboard.test.ts +++ b/x-pack/plugins/stack_connectors/public/connector_types/openai/use_get_dashboard.test.ts @@ -123,7 +123,7 @@ describe('useGetDashboard_function', () => { await waitForNextUpdate(); expect(result.current.isLoading).toBe(false); expect(mockToasts.addDanger).toHaveBeenCalledWith({ - title: 'Error finding Generative AI Token Usage Dashboard.', + title: 'Error finding OpenAI Token Usage Dashboard.', text: 'Error fetching dashboard', }); }); diff --git a/x-pack/plugins/stack_connectors/public/connector_types/gen_ai/use_get_dashboard.ts b/x-pack/plugins/stack_connectors/public/connector_types/openai/use_get_dashboard.ts similarity index 100% rename from x-pack/plugins/stack_connectors/public/connector_types/gen_ai/use_get_dashboard.ts rename to x-pack/plugins/stack_connectors/public/connector_types/openai/use_get_dashboard.ts diff --git a/x-pack/plugins/stack_connectors/server/connector_types/bedrock/index.ts b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/index.ts index 661771f6df124..11050628203a9 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/bedrock/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/bedrock/index.ts @@ -10,7 +10,7 @@ import { SubActionConnectorType, ValidatorType, } from '@kbn/actions-plugin/server/sub_action_framework/types'; -import { GeneralConnectorFeatureId } from '@kbn/actions-plugin/common'; +import { GenerativeAIConnectorFeatureId } 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 => ( secrets: SecretsSchema, }, validators: [{ type: ValidatorType.CONFIG, validator: configValidator }], - supportedFeatureIds: [GeneralConnectorFeatureId], + supportedFeatureIds: [GenerativeAIConnectorFeatureId], minimumLicenseRequired: 'enterprise' as const, renderParameterTemplates, }); 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 743f2664ed0b5..0117a9d1a7a2a 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/index.ts @@ -17,7 +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 getOpenAIConnectorType } from './openai'; import { getConnectorType as getBedrockConnectorType } from './bedrock'; import { getConnectorType as getPagerDutyConnectorType } from './pagerduty'; import { getConnectorType as getSwimlaneConnectorType } from './swimlane'; @@ -101,7 +101,7 @@ export function registerConnectorTypes({ actions.registerSubActionConnectorType(getOpsgenieConnectorType()); actions.registerSubActionConnectorType(getTinesConnectorType()); - actions.registerSubActionConnectorType(getGenerativeAiConnectorType()); + actions.registerSubActionConnectorType(getOpenAIConnectorType()); actions.registerSubActionConnectorType(getBedrockConnectorType()); actions.registerSubActionConnectorType(getD3SecurityConnectorType()); } diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/create_dashboard.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/create_dashboard.test.ts similarity index 100% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/create_dashboard.test.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/create_dashboard.test.ts diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/create_dashboard.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/create_dashboard.ts similarity index 100% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/create_dashboard.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/create_dashboard.ts diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/dashboard.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/dashboard.ts similarity index 97% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/dashboard.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/dashboard.ts index 6470f088577b7..8503ef9bf59fc 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/dashboard.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/dashboard.ts @@ -9,7 +9,7 @@ import { DashboardAttributes } from '@kbn/dashboard-plugin/common'; import { v4 as uuidv4 } from 'uuid'; import { SavedObject } from '@kbn/core-saved-objects-common/src/server_types'; -export const dashboardTitle = `Generative AI Token Usage`; +export const dashboardTitle = `OpenAI Token Usage`; export const getDashboard = (dashboardId: string): SavedObject => { const ids: Record = { @@ -125,7 +125,7 @@ export const getDashboard = (dashboardId: string): SavedObject { @@ -30,12 +30,12 @@ axios.create = jest.fn(() => axios); let connectorType: SubActionConnectorType; let configurationUtilities: jest.Mocked; -describe('Generative AI Connector', () => { +describe('OpenAI Connector', () => { beforeEach(() => { configurationUtilities = actionsConfigMock.create(); connectorType = getConnectorType(); }); - test('exposes the connector as `Generative AI` with id `.gen-ai`', () => { + test('exposes the connector as `OpenAI` with id `.gen-ai`', () => { expect(connectorType.id).toEqual('.gen-ai'); expect(connectorType.name).toEqual('OpenAI'); }); @@ -59,7 +59,7 @@ describe('Generative AI Connector', () => { expect(() => { configValidator(config, { configurationUtilities }); }).toThrowErrorMatchingInlineSnapshot( - '"Error configuring Generative AI action: Error: URL Error: Invalid URL: example.com/do-something"' + '"Error configuring OpenAI action: Error: URL Error: Invalid URL: example.com/do-something"' ); }); @@ -72,7 +72,7 @@ describe('Generative AI Connector', () => { expect(() => { configValidator(config, { configurationUtilities }); }).toThrowErrorMatchingInlineSnapshot( - '"Error configuring Generative AI action: Error: API Provider is not supported"' + '"Error configuring OpenAI action: Error: API Provider is not supported"' ); }); @@ -85,7 +85,7 @@ describe('Generative AI Connector', () => { expect(() => { configValidator(config, { configurationUtilities }); }).toThrowErrorMatchingInlineSnapshot( - '"Error configuring Generative AI action: Error: API Provider is not supported: bad-one"' + '"Error configuring OpenAI action: Error: API Provider is not supported: bad-one"' ); }); @@ -106,7 +106,7 @@ describe('Generative AI Connector', () => { expect(() => { configValidator(config, { configurationUtilities: configUtils }); }).toThrowErrorMatchingInlineSnapshot( - `"Error configuring Generative AI action: Error: error validating url: target url is not present in allowedHosts"` + `"Error configuring OpenAI 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/openai/index.ts similarity index 76% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/index.ts index cc43a05fd346d..fb6a27b17bad5 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/index.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/index.ts @@ -10,30 +10,30 @@ import { SubActionConnectorType, ValidatorType, } from '@kbn/actions-plugin/server/sub_action_framework/types'; -import { GeneralConnectorFeatureId } from '@kbn/actions-plugin/common'; +import { GenerativeAIConnectorFeatureId } 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, - OPEN_AI_TITLE, + OPENAI_CONNECTOR_ID, + OPENAI_TITLE, OpenAiProviderType, -} from '../../../common/gen_ai/constants'; -import { ConfigSchema, SecretsSchema } from '../../../common/gen_ai/schema'; -import { Config, Secrets } from '../../../common/gen_ai/types'; -import { GenAiConnector } from './gen_ai'; +} from '../../../common/openai/constants'; +import { ConfigSchema, SecretsSchema } from '../../../common/openai/schema'; +import { Config, Secrets } from '../../../common/openai/types'; +import { OpenAIConnector } from './openai'; import { renderParameterTemplates } from './render'; export const getConnectorType = (): SubActionConnectorType => ({ - id: GEN_AI_CONNECTOR_ID, - name: OPEN_AI_TITLE, - Service: GenAiConnector, + id: OPENAI_CONNECTOR_ID, + name: OPENAI_TITLE, + Service: OpenAIConnector, schema: { config: ConfigSchema, secrets: SecretsSchema, }, validators: [{ type: ValidatorType.CONFIG, validator: configValidator }], - supportedFeatureIds: [GeneralConnectorFeatureId], + supportedFeatureIds: [GenerativeAIConnectorFeatureId], minimumLicenseRequired: 'enterprise' as const, renderParameterTemplates, }); @@ -57,7 +57,7 @@ export const configValidator = (configObject: Config, validatorServices: Validat } catch (err) { throw new Error( i18n.translate('xpack.stackConnectors.genAi.configurationErrorApiProvider', { - defaultMessage: 'Error configuring Generative AI action: {err}', + defaultMessage: 'Error configuring OpenAI action: {err}', values: { err, }, diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/azure_openai_utils.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/azure_openai_utils.test.ts similarity index 99% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/azure_openai_utils.test.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/lib/azure_openai_utils.test.ts index 7e064fcd6fc1e..43a9aa83a3f02 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/azure_openai_utils.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/azure_openai_utils.test.ts @@ -14,7 +14,7 @@ import { AZURE_OPENAI_CHAT_URL, AZURE_OPENAI_COMPLETIONS_URL, AZURE_OPENAI_COMPLETIONS_EXTENSIONS_URL, -} from '../../../../common/gen_ai/constants'; +} from '../../../../common/openai/constants'; describe('Azure Open AI Utils', () => { const chatUrl = diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/azure_openai_utils.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/azure_openai_utils.ts similarity index 97% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/azure_openai_utils.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/lib/azure_openai_utils.ts index f892fdbfff093..f39a574554a57 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/azure_openai_utils.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/azure_openai_utils.ts @@ -9,7 +9,7 @@ import { AZURE_OPENAI_CHAT_URL, AZURE_OPENAI_COMPLETIONS_URL, AZURE_OPENAI_COMPLETIONS_EXTENSIONS_URL, -} from '../../../../common/gen_ai/constants'; +} from '../../../../common/openai/constants'; const APIS_ALLOWING_STREAMING = new Set([ AZURE_OPENAI_CHAT_URL, diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/openai_utils.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/openai_utils.test.ts similarity index 99% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/openai_utils.test.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/lib/openai_utils.test.ts index 17e9b2365ae9f..656982525cd0e 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/openai_utils.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/openai_utils.test.ts @@ -10,7 +10,7 @@ import { DEFAULT_OPENAI_MODEL, OPENAI_CHAT_URL, OPENAI_LEGACY_COMPLETION_URL, -} from '../../../../common/gen_ai/constants'; +} from '../../../../common/openai/constants'; describe('Open AI Utils', () => { describe('sanitizeRequest', () => { diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/openai_utils.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/openai_utils.ts similarity index 97% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/openai_utils.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/lib/openai_utils.ts index aacae0d7bc0c6..8bbe8997c7e50 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/openai_utils.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/openai_utils.ts @@ -5,7 +5,7 @@ * 2.0. */ -import { OPENAI_CHAT_URL, OPENAI_LEGACY_COMPLETION_URL } from '../../../../common/gen_ai/constants'; +import { OPENAI_CHAT_URL, OPENAI_LEGACY_COMPLETION_URL } from '../../../../common/openai/constants'; const APIS_ALLOWING_STREAMING = new Set([OPENAI_CHAT_URL, OPENAI_LEGACY_COMPLETION_URL]); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/utils.test.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/utils.test.ts similarity index 99% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/utils.test.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/lib/utils.test.ts index c50b513661ba3..9dffaab3e5e00 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/utils.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/utils.test.ts @@ -10,7 +10,7 @@ import { DEFAULT_OPENAI_MODEL, OpenAiProviderType, OPENAI_CHAT_URL, -} from '../../../../common/gen_ai/constants'; +} from '../../../../common/openai/constants'; import { sanitizeRequest as openAiSanitizeRequest, getRequestWithStreamOption as openAiGetRequestWithStreamOption, diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/utils.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/utils.ts similarity index 97% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/utils.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/lib/utils.ts index d51f85c7aa514..74cf97e95ac06 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/lib/utils.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/lib/utils.ts @@ -7,7 +7,7 @@ import { AxiosResponse, ResponseType } from 'axios'; import { IncomingMessage } from 'http'; -import { OpenAiProviderType } from '../../../../common/gen_ai/constants'; +import { OpenAiProviderType } from '../../../../common/openai/constants'; import { sanitizeRequest as openAiSanitizeRequest, getRequestWithStreamOption as openAiGetRequestWithStreamOption, 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/openai/openai.test.ts similarity index 97% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.test.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/openai.test.ts index 650ff4dd5cdc3..091421435162b 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.test.ts @@ -5,20 +5,20 @@ * 2.0. */ -import { GenAiConnector } from './gen_ai'; +import { OpenAIConnector } from './openai'; import { actionsConfigMock } from '@kbn/actions-plugin/server/actions_config.mock'; import { DEFAULT_OPENAI_MODEL, - GEN_AI_CONNECTOR_ID, + OPENAI_CONNECTOR_ID, OpenAiProviderType, -} from '../../../common/gen_ai/constants'; +} from '../../../common/openai/constants'; import { loggingSystemMock } from '@kbn/core-logging-server-mocks'; import { actionsMock } from '@kbn/actions-plugin/server/mocks'; -import { RunActionResponseSchema, StreamingResponseSchema } from '../../../common/gen_ai/schema'; +import { RunActionResponseSchema, StreamingResponseSchema } from '../../../common/openai/schema'; import { initDashboard } from './create_dashboard'; jest.mock('./create_dashboard'); -describe('GenAiConnector', () => { +describe('OpenAIConnector', () => { let mockRequest: jest.Mock; let mockError: jest.Mock; const mockResponseString = 'Hello! How can I assist you today?'; @@ -46,9 +46,9 @@ describe('GenAiConnector', () => { }); describe('OpenAI', () => { - const connector = new GenAiConnector({ + const connector = new OpenAIConnector({ configurationUtilities: actionsConfigMock.create(), - connector: { id: '1', type: GEN_AI_CONNECTOR_ID }, + connector: { id: '1', type: OPENAI_CONNECTOR_ID }, config: { apiUrl: 'https://api.openai.com/v1/chat/completions', apiProvider: OpenAiProviderType.OpenAi, @@ -285,9 +285,9 @@ describe('GenAiConnector', () => { }); describe('AzureAI', () => { - const connector = new GenAiConnector({ + const connector = new OpenAIConnector({ configurationUtilities: actionsConfigMock.create(), - connector: { id: '1', type: GEN_AI_CONNECTOR_ID }, + connector: { id: '1', type: OPENAI_CONNECTOR_ID }, config: { apiUrl: 'https://My-test-resource-123.openai.azure.com/openai/deployments/NEW-DEPLOYMENT-321/chat/completions?api-version=2023-05-15', @@ -455,9 +455,9 @@ describe('GenAiConnector', () => { }); describe('Token dashboard', () => { - const connector = new GenAiConnector({ + const connector = new OpenAIConnector({ configurationUtilities: actionsConfigMock.create(), - connector: { id: '1', type: GEN_AI_CONNECTOR_ID }, + connector: { id: '1', type: OPENAI_CONNECTOR_ID }, config: { apiUrl: 'https://example.com/api', apiProvider: OpenAiProviderType.AzureAi }, secrets: { apiKey: '123' }, logger: loggingSystemMock.createLogger(), 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/openai/openai.ts similarity index 96% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/openai.ts index 4a0efbe11d472..dec34ac2bb388 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/gen_ai.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/openai.ts @@ -7,7 +7,6 @@ import { ServiceParams, SubActionConnector } from '@kbn/actions-plugin/server'; import type { AxiosError } from 'axios'; -import { initDashboard } from './create_dashboard'; import { RunActionParamsSchema, RunActionResponseSchema, @@ -15,21 +14,22 @@ import { StreamActionParamsSchema, StreamingResponseSchema, InvokeAIActionParamsSchema, -} from '../../../common/gen_ai/schema'; +} from '../../../common/openai/schema'; import type { Config, Secrets, RunActionParams, RunActionResponse, StreamActionParams, -} from '../../../common/gen_ai/types'; -import { SUB_ACTION } from '../../../common/gen_ai/constants'; +} from '../../../common/openai/types'; +import { SUB_ACTION } from '../../../common/openai/constants'; import { DashboardActionParams, DashboardActionResponse, InvokeAIActionParams, InvokeAIActionResponse, -} from '../../../common/gen_ai/types'; +} from '../../../common/openai/types'; +import { initDashboard } from './create_dashboard'; import { getAxiosOptions, getRequestWithStreamOption, @@ -37,7 +37,7 @@ import { sanitizeRequest, } from './lib/utils'; -export class GenAiConnector extends SubActionConnector { +export class OpenAIConnector extends SubActionConnector { private url; private provider; private key; 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/openai/render.test.ts similarity index 96% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.test.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/render.test.ts index 301e096ad35bb..b9fff0362913c 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.test.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/render.test.ts @@ -17,7 +17,7 @@ const params = { const variables = { domain: 'm0zepcuuu2' }; -describe('GenAI - renderParameterTemplates', () => { +describe('OpenAI - renderParameterTemplates', () => { it('should not render body on test action', () => { const testParams = { subAction: 'test', subActionParams: { body: 'test_json' } }; const result = renderParameterTemplates(testParams, variables); diff --git a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.ts b/x-pack/plugins/stack_connectors/server/connector_types/openai/render.ts similarity index 93% rename from x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.ts rename to x-pack/plugins/stack_connectors/server/connector_types/openai/render.ts index aae342a5acd8f..bb2f97d7ca0db 100644 --- a/x-pack/plugins/stack_connectors/server/connector_types/gen_ai/render.ts +++ b/x-pack/plugins/stack_connectors/server/connector_types/openai/render.ts @@ -8,7 +8,7 @@ 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'; +import { SUB_ACTION } from '../../../common/openai/constants'; export const renderParameterTemplates: RenderParameterTemplates = ( params, diff --git a/x-pack/plugins/translations/translations/fr-FR.json b/x-pack/plugins/translations/translations/fr-FR.json index 59dbc72ac62b0..427014326ed71 100644 --- a/x-pack/plugins/translations/translations/fr-FR.json +++ b/x-pack/plugins/translations/translations/fr-FR.json @@ -7076,7 +7076,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.general": "Général", "xpack.actions.availableConnectorFeatures.securitySolution": "Solution de sécurité", "xpack.actions.availableConnectorFeatures.uptime": "Uptime", "xpack.actions.builtin.cases.jiraTitle": "Jira", @@ -39769,4 +39768,4 @@ "xpack.painlessLab.walkthroughButtonLabel": "Présentation", "xpack.serverlessObservability.nav.getStarted": "Démarrer" } -} \ No newline at end of file +} diff --git a/x-pack/plugins/translations/translations/ja-JP.json b/x-pack/plugins/translations/translations/ja-JP.json index 8174504c2c605..b396434aa2f37 100644 --- a/x-pack/plugins/translations/translations/ja-JP.json +++ b/x-pack/plugins/translations/translations/ja-JP.json @@ -7092,7 +7092,6 @@ "xpack.actions.availableConnectorFeatures.cases": "ケース", "xpack.actions.availableConnectorFeatures.compatibility.alertingRules": "アラートルール", "xpack.actions.availableConnectorFeatures.compatibility.cases": "ケース", - "xpack.actions.availableConnectorFeatures.compatibility.general": "一般", "xpack.actions.availableConnectorFeatures.securitySolution": "セキュリティソリューション", "xpack.actions.availableConnectorFeatures.uptime": "アップタイム", "xpack.actions.builtin.cases.jiraTitle": "Jira", @@ -39760,4 +39759,4 @@ "xpack.painlessLab.walkthroughButtonLabel": "実地検証", "xpack.serverlessObservability.nav.getStarted": "使ってみる" } -} \ No newline at end of file +} diff --git a/x-pack/plugins/translations/translations/zh-CN.json b/x-pack/plugins/translations/translations/zh-CN.json index 44791093b7bd5..85371195ebcb1 100644 --- a/x-pack/plugins/translations/translations/zh-CN.json +++ b/x-pack/plugins/translations/translations/zh-CN.json @@ -7091,7 +7091,6 @@ "xpack.actions.availableConnectorFeatures.cases": "案例", "xpack.actions.availableConnectorFeatures.compatibility.alertingRules": "告警规则", "xpack.actions.availableConnectorFeatures.compatibility.cases": "案例", - "xpack.actions.availableConnectorFeatures.compatibility.general": "常规", "xpack.actions.availableConnectorFeatures.securitySolution": "安全解决方案", "xpack.actions.availableConnectorFeatures.uptime": "运行时间", "xpack.actions.builtin.cases.jiraTitle": "Jira", @@ -39754,4 +39753,4 @@ "xpack.painlessLab.walkthroughButtonLabel": "指导", "xpack.serverlessObservability.nav.getStarted": "开始使用" } -} \ No newline at end of file +} 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/openai_simulation.ts similarity index 91% rename from x-pack/test/alerting_api_integration/common/plugins/actions_simulators/server/gen_ai_simulation.ts rename to x-pack/test/alerting_api_integration/common/plugins/actions_simulators/server/openai_simulation.ts index b10c5b6aa5f7c..3ab2c3b0dd54e 100644 --- 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/openai_simulation.ts @@ -9,7 +9,7 @@ import http from 'http'; import { ProxyArgs, Simulator } from './simulator'; -export class GenAiSimulator extends Simulator { +export class OpenAISimulator extends Simulator { private readonly returnError: boolean; constructor({ returnError = false, proxy }: { returnError?: boolean; proxy?: ProxyArgs }) { @@ -24,10 +24,10 @@ export class GenAiSimulator extends Simulator { data: Record ) { if (this.returnError) { - return GenAiSimulator.sendErrorResponse(response); + return OpenAISimulator.sendErrorResponse(response); } - return GenAiSimulator.sendResponse(response); + return OpenAISimulator.sendResponse(response); } private static sendResponse(response: http.ServerResponse) { 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/openai.ts similarity index 96% rename from x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/connector_types/gen_ai.ts rename to x-pack/test/alerting_api_integration/security_and_spaces/group2/tests/actions/connector_types/openai.ts index 5cfe992171dac..c4f8d1078002c 100644 --- 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/openai.ts @@ -8,9 +8,9 @@ import expect from '@kbn/expect'; import { - GenAiSimulator, + OpenAISimulator, genAiSuccessResponse, -} from '@kbn/actions-simulators-plugin/server/gen_ai_simulation'; +} from '@kbn/actions-simulators-plugin/server/openai_simulation'; import { FtrProviderContext } from '../../../../../common/ftr_provider_context'; import { getUrlPrefix, ObjectRemover } from '../../../../../common/lib'; @@ -51,7 +51,7 @@ export default function genAiTest({ getService }: FtrProviderContext) { objectRemover.removeAll(); }); describe('action creation', () => { - const simulator = new GenAiSimulator({ + const simulator = new OpenAISimulator({ returnError: false, proxy: { config: configService.get('kbnTestServer.serverArgs'), @@ -189,7 +189,7 @@ export default function genAiTest({ getService }: FtrProviderContext) { 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', + 'error validating action type config: Error configuring OpenAI action: Error: error validating url: target url "http://genAi.mynonexistent.com" is not added to the Kibana config xpack.actions.allowedHosts', }); }); }); @@ -217,7 +217,7 @@ export default function genAiTest({ getService }: FtrProviderContext) { describe('executor', () => { describe('validation', () => { - const simulator = new GenAiSimulator({ + const simulator = new OpenAISimulator({ proxy: { config: configService.get('kbnTestServer.serverArgs'), }, @@ -272,7 +272,7 @@ export default function genAiTest({ getService }: FtrProviderContext) { describe('execution', () => { describe('successful response simulator', () => { - const simulator = new GenAiSimulator({ + const simulator = new OpenAISimulator({ proxy: { config: configService.get('kbnTestServer.serverArgs'), }, @@ -313,7 +313,7 @@ export default function genAiTest({ getService }: FtrProviderContext) { data: genAiSuccessResponse, }); }); - describe('gen ai dashboard', () => { + describe('OpenAI dashboard', () => { const dashboardId = 'specific-dashboard-id-default'; it('should not create a dashboard when user does not have kibana event log permissions', async () => { @@ -377,7 +377,7 @@ export default function genAiTest({ getService }: FtrProviderContext) { }); }); describe('non-default space simulator', () => { - const simulator = new GenAiSimulator({ + const simulator = new OpenAISimulator({ proxy: { config: configService.get('kbnTestServer.serverArgs'), }, @@ -428,7 +428,7 @@ export default function genAiTest({ getService }: FtrProviderContext) { }); describe('error response simulator', () => { - const simulator = new GenAiSimulator({ + const simulator = new OpenAISimulator({ returnError: true, proxy: { config: configService.get('kbnTestServer.serverArgs'), 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 fd667f8f1025a..e9fc2cbeb7c00 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 @@ -39,7 +39,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('./connector_types/openai')); loadTestFile(require.resolve('./connector_types/d3security')); loadTestFile(require.resolve('./connector_types/bedrock')); loadTestFile(require.resolve('./create')); diff --git a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/generative_ai_connector.ts b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/generative_ai_connector.ts index 69fa2448a7818..4dc7d6d3fa26e 100644 --- a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/generative_ai_connector.ts +++ b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/generative_ai_connector.ts @@ -21,13 +21,13 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { `"content": "You are a cyber security analyst using Elastic Security. I would like you to evaluate the event below and format your output neatly in markdown syntax. Add your description, an accuracy rating, and a threat rating."\n` + `}]`; - describe('generative ai connector', function () { + describe('OpenAI connector', function () { beforeEach(async () => { await pageObjects.common.navigateToApp('connectors'); await pageObjects.header.waitUntilLoadingHasFinished(); }); - it('generative ai connector screenshots', async () => { + it('OpenAI connector screenshots', async () => { await pageObjects.common.navigateToApp('connectors'); await pageObjects.header.waitUntilLoadingHasFinished(); await actions.common.openNewConnectorForm('gen-ai'); diff --git a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/xmatters_connector.ts b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/xmatters_connector.ts index 80aafd27dc63b..709d9bdfae76e 100644 --- a/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/xmatters_connector.ts +++ b/x-pack/test/screenshot_creation/apps/response_ops_docs/stack_connectors/xmatters_connector.ts @@ -20,7 +20,7 @@ export default function ({ getService, getPageObjects }: FtrProviderContext) { await pageObjects.header.waitUntilLoadingHasFinished(); }); - it('generative ai connector screenshots', async () => { + it('xmatters connector screenshots', async () => { await pageObjects.common.navigateToApp('connectors'); await pageObjects.header.waitUntilLoadingHasFinished(); await actions.common.openNewConnectorForm('xmatters');