diff --git a/doc/api/graphql/reference/index.md b/doc/api/graphql/reference/index.md index a89f3495dcdd5bcf026c264561f7f5467275bdb5..66352ebc26af737cce5922e992194bf95e1b906c 100644 --- a/doc/api/graphql/reference/index.md +++ b/doc/api/graphql/reference/index.md @@ -37746,17 +37746,9 @@ AI features that can be configured in the settings. | <a id="aifeaturescode_completions"></a>`CODE_COMPLETIONS` | Code completion feature setting. | | <a id="aifeaturescode_generations"></a>`CODE_GENERATIONS` | Code generation feature setting. | | <a id="aifeaturesduo_chat"></a>`DUO_CHAT` | Duo chat feature setting. | -| <a id="aifeaturesduo_chat_ci_editor_assistant"></a>`DUO_CHAT_CI_EDITOR_ASSISTANT` | Duo chat ci editor assistant feature setting. | -| <a id="aifeaturesduo_chat_epic_reader"></a>`DUO_CHAT_EPIC_READER` | Duo chat epic reader feature setting. | | <a id="aifeaturesduo_chat_explain_code"></a>`DUO_CHAT_EXPLAIN_CODE` | Duo chat explain code feature setting. | -| <a id="aifeaturesduo_chat_explain_vulnerability"></a>`DUO_CHAT_EXPLAIN_VULNERABILITY` | Duo chat explain vulnerability feature setting. | | <a id="aifeaturesduo_chat_fix_code"></a>`DUO_CHAT_FIX_CODE` | Duo chat fix code feature setting. | -| <a id="aifeaturesduo_chat_gitlab_documentation"></a>`DUO_CHAT_GITLAB_DOCUMENTATION` | Duo chat gitlab documentation feature setting. | -| <a id="aifeaturesduo_chat_issue_reader"></a>`DUO_CHAT_ISSUE_READER` | Duo chat issue reader feature setting. | -| <a id="aifeaturesduo_chat_merge_request_reader"></a>`DUO_CHAT_MERGE_REQUEST_READER` | Duo chat merge request reader feature setting. | | <a id="aifeaturesduo_chat_refactor_code"></a>`DUO_CHAT_REFACTOR_CODE` | Duo chat refactor code feature setting. | -| <a id="aifeaturesduo_chat_summarize_comments"></a>`DUO_CHAT_SUMMARIZE_COMMENTS` | Duo chat summarize comment feature setting. | -| <a id="aifeaturesduo_chat_troubleshoot_job"></a>`DUO_CHAT_TROUBLESHOOT_JOB` | Duo chat troubleshoot job feature setting. | | <a id="aifeaturesduo_chat_write_tests"></a>`DUO_CHAT_WRITE_TESTS` | Duo chat write test feature setting. | ### `AiMessageRole` diff --git a/ee/app/models/ai/feature_setting.rb b/ee/app/models/ai/feature_setting.rb index 356b069bce6f70b8f8d432a5d100e91e8ae58966..baaff28f863625c7ed44e687f704990a847ff57d 100644 --- a/ee/app/models/ai/feature_setting.rb +++ b/ee/app/models/ai/feature_setting.rb @@ -11,18 +11,10 @@ class FeatureSetting < ApplicationRecord }.freeze FLAGGED_FEATURES = { - duo_chat_issue_reader: 3, - duo_chat_gitlab_documentation: 4, - duo_chat_epic_reader: 5, - duo_chat_ci_editor_assistant: 6, - duo_chat_explain_code: 7, - duo_chat_write_tests: 8, - duo_chat_refactor_code: 9, - duo_chat_fix_code: 10, - duo_chat_explain_vulnerability: 11, - duo_chat_troubleshoot_job: 12, - duo_chat_summarize_comments: 13, - duo_chat_merge_request_reader: 14 + duo_chat_explain_code: 3, + duo_chat_write_tests: 4, + duo_chat_refactor_code: 5, + duo_chat_fix_code: 6 }.freeze FEATURE_METADATA_PATH = Rails.root.join('ee/lib/gitlab/ai/feature_settings/feature_metadata.yml') diff --git a/ee/lib/gitlab/ai/feature_settings/feature_metadata.yml b/ee/lib/gitlab/ai/feature_settings/feature_metadata.yml index 5709e78fb203d5a5c028264cf9865a6272462413..fb77d597ec5ed34c65f177acada28c5147664afb 100644 --- a/ee/lib/gitlab/ai/feature_settings/feature_metadata.yml +++ b/ee/lib/gitlab/ai/feature_settings/feature_metadata.yml @@ -25,7 +25,35 @@ code_completions: - claude_3 - gpt duo_chat: - title: — + title: General Chat + release_state: BETA + main_feature: GitLab Duo Chat + compatible_llms: + - mistral + - claude_3 +duo_chat_explain_code: + title: Explain Code + release_state: BETA + main_feature: GitLab Duo Chat + compatible_llms: + - mistral + - claude_3 +duo_chat_write_tests: + title: Write Test + release_state: BETA + main_feature: GitLab Duo Chat + compatible_llms: + - mistral + - claude_3 +duo_chat_refactor_code: + title: Refactor Code + release_state: BETA + main_feature: GitLab Duo Chat + compatible_llms: + - mistral + - claude_3 +duo_chat_fix_code: + title: Fix Code release_state: BETA main_feature: GitLab Duo Chat compatible_llms: diff --git a/ee/lib/gitlab/graphql/representation/ai_feature_setting.rb b/ee/lib/gitlab/graphql/representation/ai_feature_setting.rb index d71597fbb0a836a9698b860769044c17bbfbe6e1..91fb5eb587ab2360d2319322e37527a3ebc2ac17 100644 --- a/ee/lib/gitlab/graphql/representation/ai_feature_setting.rb +++ b/ee/lib/gitlab/graphql/representation/ai_feature_setting.rb @@ -17,7 +17,9 @@ def decorate_with_valid_models(feature_settings) indexed_self_hosted_models = ::Ai::SelfHostedModel.all.group_by(&:model) feature_settings.map do |feature_setting| - valid_models = feature_setting.compatible_llms.flat_map do |model| + compatible_llms = feature_setting.compatible_llms || [] + + valid_models = compatible_llms.flat_map do |model| indexed_self_hosted_models[model] || [] end