From eb042a5e74b93f10cb6d72b0c43391e8218a84bd Mon Sep 17 00:00:00 2001 From: Anna Springfield Date: Wed, 7 May 2025 00:18:51 -0500 Subject: [PATCH 1/2] Add 'repository' context type and feature flag --- Gemfile | 2 +- Gemfile.lock | 2 +- Gemfile.next.lock | 2 +- doc/api/graphql/reference/_index.md | 1 + doc/development/cloud_connector/configuration.md | 1 + .../beta/duo_include_context_repository.yml | 9 +++++++++ ee/lib/ai/additional_context.rb | 3 ++- .../ai/user_available_features_resolver_spec.rb | 3 ++- .../types/ai/additional_context_category_enum_spec.rb | 2 +- 9 files changed, 19 insertions(+), 6 deletions(-) create mode 100644 ee/config/feature_flags/beta/duo_include_context_repository.yml diff --git a/Gemfile b/Gemfile index 7787127da6c08d..2c4cbd9d24fe1a 100644 --- a/Gemfile +++ b/Gemfile @@ -759,4 +759,4 @@ gem 'paper_trail', '~> 15.0', feature_category: :shared gem "i18n_data", "~> 0.13.1", feature_category: :system_access -gem "gitlab-cloud-connector", "~> 1.5", require: 'gitlab/cloud_connector', feature_category: :cloud_connector +gem "gitlab-cloud-connector", "~> 1.11", require: 'gitlab/cloud_connector', feature_category: :cloud_connector diff --git a/Gemfile.lock b/Gemfile.lock index ba846aa128a7bc..1bcdf95d289021 100644 --- a/Gemfile.lock +++ b/Gemfile.lock @@ -2162,7 +2162,7 @@ DEPENDENCIES gitlab-active-context! gitlab-backup-cli! gitlab-chronic (~> 0.10.5) - gitlab-cloud-connector (~> 1.5) + gitlab-cloud-connector (~> 1.11) gitlab-dangerfiles (~> 4.9.0) gitlab-duo-workflow-service-client (~> 0.1)! gitlab-experiment (~> 0.9.1) diff --git a/Gemfile.next.lock b/Gemfile.next.lock index ba846aa128a7bc..1bcdf95d289021 100644 --- a/Gemfile.next.lock +++ b/Gemfile.next.lock @@ -2162,7 +2162,7 @@ DEPENDENCIES gitlab-active-context! gitlab-backup-cli! gitlab-chronic (~> 0.10.5) - gitlab-cloud-connector (~> 1.5) + gitlab-cloud-connector (~> 1.11) gitlab-dangerfiles (~> 4.9.0) gitlab-duo-workflow-service-client (~> 0.1)! gitlab-experiment (~> 0.9.1) diff --git a/doc/api/graphql/reference/_index.md b/doc/api/graphql/reference/_index.md index d59312c6122ff6..a395044cd6edf8 100644 --- a/doc/api/graphql/reference/_index.md +++ b/doc/api/graphql/reference/_index.md @@ -42356,6 +42356,7 @@ The category of the additional context. | `MERGE_REQUEST` | Merge_request content category. | | `SNIPPET` | Snippet content category. | | `TERMINAL` | Terminal content category. | +| `REPOSITORY` | Repository content category. | ### `AiConversationsThreadsConversationType` diff --git a/doc/development/cloud_connector/configuration.md b/doc/development/cloud_connector/configuration.md index f51446a922d181..e513d1611e33f7 100644 --- a/doc/development/cloud_connector/configuration.md +++ b/doc/development/cloud_connector/configuration.md @@ -177,6 +177,7 @@ unit_primitives: - include_merge_request_context - include_snippet_context - include_terminal_context + - include_repository_context - refactor_code - write_tests ``` diff --git a/ee/config/feature_flags/beta/duo_include_context_repository.yml b/ee/config/feature_flags/beta/duo_include_context_repository.yml new file mode 100644 index 00000000000000..368ada3b557d61 --- /dev/null +++ b/ee/config/feature_flags/beta/duo_include_context_repository.yml @@ -0,0 +1,9 @@ +--- +name: duo_include_context_repository +feature_issue_url: https://gitlab.com/groups/gitlab-org/-/epics/16910 +introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/190454 +rollout_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/540543 +milestone: '18.0' +group: group::code creation +type: beta +default_enabled: false diff --git a/ee/lib/ai/additional_context.rb b/ee/lib/ai/additional_context.rb index 6b9f5a83be1367..b23e6ad5e0125b 100644 --- a/ee/lib/ai/additional_context.rb +++ b/ee/lib/ai/additional_context.rb @@ -27,7 +27,8 @@ module AdditionalContext issue: 'issue', dependency: 'dependency', local_git: 'local_git', - terminal: 'terminal' + terminal: 'terminal', + repository: 'repository' }.freeze MAX_BODY_SIZE = ::API::CodeSuggestions::MAX_BODY_SIZE diff --git a/ee/spec/graphql/resolvers/ai/user_available_features_resolver_spec.rb b/ee/spec/graphql/resolvers/ai/user_available_features_resolver_spec.rb index b1644f82212bca..9ef06d243a68d7 100644 --- a/ee/spec/graphql/resolvers/ai/user_available_features_resolver_spec.rb +++ b/ee/spec/graphql/resolvers/ai/user_available_features_resolver_spec.rb @@ -65,7 +65,8 @@ duo_include_context_issue: 'include_issue_context', duo_include_context_dependency: 'include_dependency_context', duo_include_context_local_git: 'include_local_git_context', - duo_include_context_terminal: 'include_terminal_context' + duo_include_context_terminal: 'include_terminal_context', + duo_include_context_repository: 'include_repository_context' } already_enabled_context = %w[include_file_context].freeze diff --git a/ee/spec/graphql/types/ai/additional_context_category_enum_spec.rb b/ee/spec/graphql/types/ai/additional_context_category_enum_spec.rb index 5be6608d8e9c84..d8b54d6ecd346e 100644 --- a/ee/spec/graphql/types/ai/additional_context_category_enum_spec.rb +++ b/ee/spec/graphql/types/ai/additional_context_category_enum_spec.rb @@ -5,6 +5,6 @@ RSpec.describe GitlabSchema.types['AiAdditionalContextCategory'], feature_category: :duo_chat do it 'exposes all additional context categories' do expect(described_class.values.keys).to match_array(%w[FILE SNIPPET MERGE_REQUEST ISSUE DEPENDENCY LOCAL_GIT - TERMINAL]) + TERMINAL REPOSITORY]) end end -- GitLab From 03c6afe237f1cc1a8a84d34af1f8fc99fec6c8ce Mon Sep 17 00:00:00 2001 From: Anna Springfield Date: Wed, 7 May 2025 12:11:14 -0500 Subject: [PATCH 2/2] Fix docs using compilation script --- doc/api/graphql/reference/_index.md | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/doc/api/graphql/reference/_index.md b/doc/api/graphql/reference/_index.md index a395044cd6edf8..00b93648cb789e 100644 --- a/doc/api/graphql/reference/_index.md +++ b/doc/api/graphql/reference/_index.md @@ -42354,9 +42354,9 @@ The category of the additional context. | `ISSUE` | Issue content category. | | `LOCAL_GIT` | Local_git content category. | | `MERGE_REQUEST` | Merge_request content category. | +| `REPOSITORY` | Repository content category. | | `SNIPPET` | Snippet content category. | | `TERMINAL` | Terminal content category. | -| `REPOSITORY` | Repository content category. | ### `AiConversationsThreadsConversationType` -- GitLab