gitlab-cloud-connector 0.1.1 → 0.2.2

Sign up to get free protection for your applications and to get access to all the features.
Files changed (66) hide show
  1. checksums.yaml +4 -4
  2. data/CONTRIBUTING.md +9 -0
  3. data/Makefile +1 -1
  4. data/README.md +12 -20
  5. data/config/backend_services/ai_gateway_agent.yml +5 -0
  6. data/config/backend_services/observability.yml +5 -0
  7. data/config/backend_services/security_gateway.yml +5 -0
  8. data/config/schemas/add_on_schema.json +15 -0
  9. data/config/schemas/backend_service_schema.json +26 -0
  10. data/config/schemas/license_type_schema.json +15 -0
  11. data/config/schemas/unit_primitive_schema.json +87 -0
  12. data/config/unit_primitives/agent_quick_actions.yml +9 -0
  13. data/config/unit_primitives/ask_build.yml +11 -0
  14. data/config/unit_primitives/ask_commit.yml +11 -0
  15. data/config/unit_primitives/ask_epic.yml +12 -0
  16. data/config/unit_primitives/ask_issue.yml +12 -0
  17. data/config/unit_primitives/ask_merge_request.yml +13 -0
  18. data/config/unit_primitives/categorize_duo_chat_question.yml +10 -0
  19. data/config/{config/unit_primitives → unit_primitives}/code_suggestions.yml +3 -7
  20. data/config/unit_primitives/complete_code.yml +15 -0
  21. data/config/{config/unit_primitives → unit_primitives}/documentation_search.yml +1 -9
  22. data/config/{config/unit_primitives → unit_primitives}/duo_chat.yml +2 -7
  23. data/config/unit_primitives/duo_workflow_execute_workflow.yml +10 -0
  24. data/config/unit_primitives/duo_workflow_generate_token.yml +10 -0
  25. data/config/unit_primitives/explain_code.yml +11 -0
  26. data/config/unit_primitives/explain_vulnerability.yml +13 -0
  27. data/config/unit_primitives/fix_code.yml +12 -0
  28. data/config/unit_primitives/generate_code.yml +15 -0
  29. data/config/unit_primitives/generate_commit_message.yml +12 -0
  30. data/config/unit_primitives/generate_cube_query.yml +9 -0
  31. data/config/unit_primitives/generate_issue_description.yml +11 -0
  32. data/config/{config/unit_primitives → unit_primitives}/glab_ask_git_command.yml +3 -9
  33. data/config/unit_primitives/include_dependency_context.yml +12 -0
  34. data/config/unit_primitives/include_file_context.yml +12 -0
  35. data/config/unit_primitives/include_issue_context.yml +11 -0
  36. data/config/unit_primitives/include_local_git_context.yml +11 -0
  37. data/config/unit_primitives/include_merge_request_context.yml +11 -0
  38. data/config/unit_primitives/include_snippet_context.yml +12 -0
  39. data/config/unit_primitives/observability_all.yml +7 -0
  40. data/config/unit_primitives/refactor_code.yml +12 -0
  41. data/config/unit_primitives/resolve_vulnerability.yml +12 -0
  42. data/config/unit_primitives/review_merge_request.yml +10 -0
  43. data/config/unit_primitives/security_scans.yml +7 -0
  44. data/config/unit_primitives/semantic_search_issue.yml +9 -0
  45. data/config/unit_primitives/summarize_comments.yml +10 -0
  46. data/config/unit_primitives/summarize_issue_discussions.yml +9 -0
  47. data/config/unit_primitives/summarize_merge_request.yml +10 -0
  48. data/config/unit_primitives/summarize_new_merge_request.yml +11 -0
  49. data/config/unit_primitives/summarize_review.yml +11 -0
  50. data/config/{config/unit_primitives → unit_primitives}/troubleshoot_job.yml +3 -10
  51. data/config/unit_primitives/write_tests.yml +11 -0
  52. data/lib/cloud_connector.rb +10 -0
  53. data/lib/gitlab/cloud_connector/json_web_token.rb +59 -0
  54. data/lib/gitlab/cloud_connector/version.rb +1 -1
  55. metadata +85 -18
  56. data/CHANGELOG.md +0 -5
  57. data/config/config/unit_primitives/explain_vulnerability.yml +0 -19
  58. data/config/config/unit_primitives/generate_commit_message.yml +0 -19
  59. data/config/config/unit_primitives/resolve_vulnerability.yml +0 -19
  60. data/config/config/unit_primitives/summarize_comments.yml +0 -19
  61. /data/config/{config/add_ons → add_ons}/duo_enterprise.yml +0 -0
  62. /data/config/{config/add_ons → add_ons}/duo_pro.yml +0 -0
  63. /data/config/{config/backend_services → backend_services}/ai_gateway.yml +0 -0
  64. /data/config/{config/backend_services → backend_services}/duo_workflow_service.yml +0 -0
  65. /data/config/{config/license_types → license_types}/premium.yml +0 -0
  66. /data/config/{config/license_types → license_types}/ultimate.yml +0 -0
checksums.yaml CHANGED
@@ -1,7 +1,7 @@
1
1
  ---
2
2
  SHA256:
3
- metadata.gz: ef484dd6688a77fb53285cb64da089ff4741c2dd45915cc5b3c1c93a99403612
4
- data.tar.gz: c53d6956e07d9840c73d311059925663cb6fb726bbf69a37248a37f5ea845a2b
3
+ metadata.gz: 5c57fb113278c2e577aad185c79e45c5e640495c12a9bc0b48afbd925aa7c74a
4
+ data.tar.gz: 4639436cc983b23598ff7f46a58c87d502c36030f5a06becb339a97460a2889e
5
5
  SHA512:
6
- metadata.gz: bb3b18c295b9f03d4ba08e955104b0e24274e95738387298304aeff89c237deedee58f52d495a4e1c2c508f3bdac94ac267604f35d62e4bab8ca86092e5e4b95
7
- data.tar.gz: 56a742ad75a4093c244110f9d0029a46de8556e8e46e8a80b330bc5869a2647d5ca1d7fa37c951bc07ae16161c0a0a9bfe1f626be2402d9c95c9ebe13f35c3fd
6
+ metadata.gz: 0030a33d736c6cfbd1f0af157a3627cc541ad3d379275c0649a78786881f12cefe06e316ca6d80bbf74a5cbdc34d728861312af8494efa376d85e3810b416765
7
+ data.tar.gz: d02c56fd8f8c79b3f64decc114be325c07bae61b7b15a6fbf741d1ed5de7b4cf2c7c9de9a616f3228a9202e1028e5fbe8cf3551ff83e92d9a44c490270ad689b
data/CONTRIBUTING.md CHANGED
@@ -1,3 +1,12 @@
1
+ ## Making changes to this repository
2
+
3
+ We welcome contributions. When making changes:
4
+
5
+ 1. Follow good git commit practices. Summarize the change concisely in the commit title,
6
+ and add relevant details in the commit body.
7
+ 1. Add a [changelog trailer](https://docs.gitlab.com/ee/user/project/changelogs.html) where it applies.
8
+ 1. Open a merge request.
9
+
1
10
  ## Developer Certificate of Origin and License
2
11
 
3
12
  By contributing to GitLab B.V., you accept and agree to the following terms and
data/Makefile CHANGED
@@ -21,7 +21,7 @@ copy-assets:
21
21
  @if [ -d "${RUBY_DIR}/config" ]; then rm -rf ${RUBY_DIR}/config; fi
22
22
  # Copy required assets
23
23
  @mkdir -p ${RUBY_DIR}/config
24
- @cp -r ${ROOT_DIR}/config ${RUBY_DIR}/config
24
+ @cp -r ${ROOT_DIR}/config/* ${RUBY_DIR}/config
25
25
  @cp ${ROOT_DIR}/LICENSE ${RUBY_DIR}/
26
26
  @cp ${ROOT_DIR}/CONTRIBUTING.md ${RUBY_DIR}/
27
27
 
data/README.md CHANGED
@@ -1,29 +1,21 @@
1
- # Gitlab::CloudConnector
1
+ # gitlab-cloud-connector (Ruby)
2
2
 
3
- Gitlab Cloud Connector is shared library that contains Unit Primitives configuration and Cloud Connector libraries that are shared for GitLab projects.
3
+ Ruby gem containing shared code for Cloud Connector token issuers (GitLab, CustomersDot).
4
4
 
5
- ## Installation
5
+ ## Usage
6
6
 
7
- Install the gem and add to the application's Gemfile by executing:
7
+ We expect Bundler is used to manage dependencies. To add the dependency, add it to `Gemfile`:
8
8
 
9
- $ bundle add gitlab-cloud-connector
10
-
11
- If bundler is not being used to manage dependencies, install the gem by executing:
12
-
13
- $ gem install gitlab-cloud-connector
9
+ ```Gemfile
10
+ gem "gitlab-cloud-connector", "~> 0.1.1", require: 'cloud_connector'
11
+ ```
14
12
 
15
13
  ## Release Process
16
14
 
17
- We release `gitlab-cloud-connector` on an ad-hoc basis. There is no regularity to when
18
- we release, we just release when we make a change - no matter the size of the
19
- change.
15
+ See [Release Process](../../README.md#release-process)
20
16
 
21
- To release a new version:
17
+ Once the new gem version is visible on [RubyGems.org](https://rubygems.org/gems/gitlab-cloud-connector),
18
+ it is recommended to update [GitLab's `Gemfile`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/Gemfile)
19
+ and [Customers Dot's `Gemfile`](https://gitlab.com/gitlab-org/customers-gitlab-com/-/blob/main/Gemfile) to bump the `gitlab-cloud-connector`
20
+ Ruby gem to the new version also. See [Usage](#usage) for how to do this.
22
21
 
23
- 1. Create a Merge Request.
24
- 1. Use Merge Request template [Release.md](https://gitlab.com/gitlab-org/ruby/gems/gitlab-cloud-connector/-/blob/master/.gitlab/merge_request_templates/Release.md).
25
- 1. Follow the instructions.
26
- 1. After the Merge Request has been merged, a new gem version is [published automatically](https://gitlab.com/gitlab-org/components/gem-release).
27
- 1. Once the new gem version is visible on [RubyGems.org](https://rubygems.org/gems/gitlab-cloud-connector),
28
- it is recommended to update [GitLab's `Gemfile`](https://gitlab.com/gitlab-org/gitlab/-/blob/master/Gemfile)
29
- and [Customers Dot's `Gemfile`](https://gitlab.com/gitlab-org/customers-gitlab-com) to bump the `gitlab-cloud-connector` Ruby gem to the new version also.
@@ -0,0 +1,5 @@
1
+ ---
2
+ name: ai_gateway_agent
3
+ project_url: unknown
4
+ group: group::ai framework
5
+ jwt_aud: gitlab-ai-gateway-agent
@@ -0,0 +1,5 @@
1
+ ---
2
+ name: observability
3
+ project_url: https://gitlab.com/gitlab-org/opstrace/opstrace
4
+ group: group:observability
5
+ jwt_aud: gitlab-observability-backend
@@ -0,0 +1,5 @@
1
+ ---
2
+ name: security_gateway
3
+ project_url: https://gitlab.com/gitlab-org/secure/sast-scanner-service
4
+ group: group::static analysis
5
+ jwt_aud: gitlab-security-gateway
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-06/schema#",
3
+ "type": "object",
4
+ "required": ["name"],
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "pattern": "^[a-z0-9]+(_[a-z0-9]+)*$"
9
+ },
10
+ "description": {
11
+ "type": "string"
12
+ }
13
+ },
14
+ "additionalProperties": false
15
+ }
@@ -0,0 +1,26 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-06/schema#",
3
+ "type": "object",
4
+ "required": ["name", "project_url", "jwt_aud"],
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "pattern": "^[a-z0-9]+(_[a-z0-9]+)*"
9
+ },
10
+ "description": {
11
+ "type": "string"
12
+ },
13
+ "project_url": {
14
+ "type": "string",
15
+ "format": "url"
16
+ },
17
+ "group": {
18
+ "type": "string"
19
+ },
20
+ "jwt_aud": {
21
+ "type": "string",
22
+ "pattern": "^gitlab-[a-z0-9]+(-[a-z0-9]+)*$"
23
+ }
24
+ },
25
+ "additionalProperties": false
26
+ }
@@ -0,0 +1,15 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-06/schema#",
3
+ "type": "object",
4
+ "required": ["name"],
5
+ "properties": {
6
+ "name": {
7
+ "type": "string",
8
+ "pattern": "^[a-z0-9]+(_[a-z0-9]+)*$"
9
+ },
10
+ "description": {
11
+ "type": "string"
12
+ }
13
+ },
14
+ "additionalProperties": false
15
+ }
@@ -0,0 +1,87 @@
1
+ {
2
+ "$schema": "http://json-schema.org/draft-06/schema#",
3
+ "type": "object",
4
+ "required": [
5
+ "name",
6
+ "description",
7
+ "group",
8
+ "feature_category",
9
+ "backend_services"
10
+ ],
11
+ "properties": {
12
+ "add_ons": {
13
+ "type": "array",
14
+ "items": {
15
+ "type": "string"
16
+ }
17
+ },
18
+ "backend_services": {
19
+ "type": "array",
20
+ "items": {
21
+ "type": "string"
22
+ }
23
+ },
24
+ "cut_off_date": {
25
+ "description": "After this date, unit primitive has no free access",
26
+ "type": "time", "format": "date-time"
27
+ },
28
+ "deprecated_by_url": {
29
+ "description": "URL of merge request where the unit primitive was deprecated",
30
+ "type": "string"
31
+ },
32
+ "deprecation_message": {
33
+ "description": "Message explaining why the unit primitive is deprecated and any additional context",
34
+ "type": "string"
35
+ },
36
+ "description": {
37
+ "description": "Description of the unit primitive",
38
+ "type": "string"
39
+ },
40
+ "documentation_url": {
41
+ "description": "URL of documentation for introduced Unit Primitive",
42
+ "type": "string"
43
+ },
44
+ "feature_category": {
45
+ "description": "The feature category that introduced the unit primitive",
46
+ "type": "string"
47
+ },
48
+ "group": {
49
+ "description": "The group that introduced the unit primitive, e.g. \"group::cloud connector\"",
50
+ "type": "string"
51
+ },
52
+ "introduced_by_url": {
53
+ "description": "URL of merge request introducing the Unit Primitive",
54
+ "type": "string"
55
+ },
56
+ "license_types": {
57
+ "type": "array",
58
+ "items": {
59
+ "type": "string"
60
+ }
61
+ },
62
+ "milestone": {
63
+ "description": "Milestone in which the Unit Primitive was introduced",
64
+ "type": "string"
65
+ },
66
+ "min_gitlab_version": {
67
+ "description": "Minimum gitlab version required to use this Unit Primitive",
68
+ "type": "string",
69
+ "pattern": "\\A(\\d+\\.\\d+)"
70
+ },
71
+ "min_gitlab_version_for_free_access": {
72
+ "description": "Minimum gitlab version required to use this Unit Primitive while it has free access",
73
+ "type": "string",
74
+ "pattern": "\\A(\\d+\\.\\d+)"
75
+ },
76
+ "name": {
77
+ "description": "Name of the unit primitive",
78
+ "type": "string",
79
+ "pattern": "^[a-z0-9]+(_[a-z0-9]+)*$"
80
+ },
81
+ "unit_primitive_issue_url": {
82
+ "description": "Url of original unit primitive issue",
83
+ "type": "string"
84
+ }
85
+ },
86
+ "additionalProperties": false
87
+ }
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: agent_quick_actions
3
+ description: 'Quick actions for agent.'
4
+ group: group::duo_chat
5
+ feature_category: duo_chat
6
+ backend_services:
7
+ - ai_gateway_agent
8
+ license_types:
9
+ - ultimate
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: ask_build
3
+ description: Ask questions about GitLab builds.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#ask-about-cicd
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: ask_commit
3
+ description: Ask questions about GitLab commits.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#ask-about-a-specific-commit
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: ask_epic
3
+ description: Ask questions about GitLab epics.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#ask-about-a-specific-epic
8
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10890/diffs
9
+ backend_services:
10
+ - ai_gateway
11
+ add_ons:
12
+ - duo_enterprise
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: ask_issue
3
+ description: Ask questions about GitLab issues.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#ask-about-a-specific-issue
8
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10890/diffs
9
+ backend_services:
10
+ - ai_gateway
11
+ add_ons:
12
+ - duo_enterprise
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: ask_merge_request
3
+ description: Ask questions about GitLab merge reuest.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10899
8
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo_chat/examples.html#ask-about-a-specific-merge-request
9
+ unit_primitive_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/485499
10
+ backend_services:
11
+ - ai_gateway
12
+ add_ons:
13
+ - duo_enterprise
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: categorize_duo_chat_question
3
+ description: This should not be an unit primitive
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::project management
6
+ feature_category: team_planning
7
+ backend_services:
8
+ - ai_gateway
9
+ add_ons:
10
+ - duo_enterprise
@@ -2,18 +2,14 @@
2
2
  name: code_suggestions
3
3
  description: Helps you write code more efficiently by generating code and showing suggestions as you type.
4
4
  cut_off_date: 2024-02-15T00:00:00+00:00
5
- min_gitlab_version_for_free_access:
6
5
  min_gitlab_version: '16.8'
7
- unit_primitive_issue_url:
8
- introduced_by_url:
9
- documentation_url:
10
6
  group: group::code suggestions
11
7
  feature_category: code_suggestions
8
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#code-suggestions
9
+ deprecated_by_url: https://gitlab.com/gitlab-org/cloud-connector/gitlab-cloud-connector/-/merge_requests/47
10
+ deprecation_message: This unit primitive is deprecated, please use code_create or code_generate unit primitives.
12
11
  backend_services:
13
12
  - ai_gateway
14
13
  add_ons:
15
14
  - duo_pro
16
15
  - duo_enterprise
17
- license_types:
18
- - premium
19
- - ultimate
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: complete_code
3
+ description: Helps you write code more efficiently by showing code suggestions as you type.
4
+ cut_off_date: 2024-02-15T00:00:00+00:00
5
+ min_gitlab_version: "16.8"
6
+ unit_primitive_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/497813
7
+ introduced_by_url: https://gitlab.com/gitlab-org/cloud-connector/gitlab-cloud-connector/-/merge_requests/46
8
+ documentation_url: https://docs.gitlab.com/ee/user/project/repository/code_suggestions/#code-completion
9
+ group: group::code suggestions
10
+ feature_category: code_suggestions
11
+ backend_services:
12
+ - ai_gateway
13
+ add_ons:
14
+ - duo_pro
15
+ - duo_enterprise
@@ -1,12 +1,7 @@
1
1
  ---
2
2
  name: documentation_search
3
3
  description: Perform semantic search on gitlab documentations for a given query.
4
- cut_off_date:
5
- min_gitlab_version_for_free_access: '16.8'
6
- min_gitlab_version: '16.9'
7
- unit_primitive_issue_url:
8
- introduced_by_url:
9
- documentation_url:
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
10
5
  group: group::duo_chat
11
6
  feature_category: duo_chat
12
7
  backend_services:
@@ -14,6 +9,3 @@ backend_services:
14
9
  add_ons:
15
10
  - duo_pro
16
11
  - duo_enterprise
17
- license_types:
18
- - premium
19
- - ultimate
@@ -1,19 +1,14 @@
1
1
  ---
2
2
  name: duo_chat
3
3
  description: Ask various GitLab-related questions and tasks.
4
- cut_off_date:
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
5
  min_gitlab_version_for_free_access: '16.8'
6
6
  min_gitlab_version: '16.9'
7
- unit_primitive_issue_url:
8
- introduced_by_url:
9
- documentation_url:
10
7
  group: group::duo_chat
11
8
  feature_category: duo_chat
9
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#gitlab-duo-chat
12
10
  backend_services:
13
11
  - ai_gateway
14
12
  add_ons:
15
13
  - duo_pro
16
14
  - duo_enterprise
17
- license_types:
18
- - premium
19
- - ultimate
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: duo_workflow_execute_workflow
3
+ description: Automate tasks and help increase productivity in your development workflow by using GitLab Duo Workflow.
4
+ group: group::duo workflow
5
+ feature_category: duo_workflow
6
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#gitlab-duo-workflow
7
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10734
8
+ unit_primitive_issue_url: https://gitlab.com/gitlab-org/duo-workflow/duo-workflow-service/-/issues/17
9
+ backend_services:
10
+ - duo_workflow_service
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: duo_workflow_generate_token
3
+ description: Automate tasks and help increase productivity in your development workflow by using GitLab Duo Workflow.
4
+ group: group::duo workflow
5
+ feature_category: duo_workflow
6
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#gitlab-duo-workflow
7
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10734
8
+ unit_primitive_issue_url: https://gitlab.com/gitlab-org/duo-workflow/duo-workflow-service/-/issues/17
9
+ backend_services:
10
+ - duo_workflow_service
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: explain_code
3
+ description: Explain function or method of the selected code.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::source code
6
+ feature_category: source_code_management
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#code-explanation
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
@@ -0,0 +1,13 @@
1
+ ---
2
+ name: explain_vulnerability
3
+ description: Explain a security vulnerability of the given CVE or code.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::threat insights
6
+ feature_category: vulnerability_management
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#vulnerability-explanation
8
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10344
9
+ unit_primitive_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/470958
10
+ backend_services:
11
+ - ai_gateway
12
+ add_ons:
13
+ - duo_enterprise
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: fix_code
3
+ description: Fix the selected code.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#fix-code
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
12
+ - duo_pro
@@ -0,0 +1,15 @@
1
+ ---
2
+ name: generate_code
3
+ description: Helps you write code more efficiently by generating code as you type.
4
+ cut_off_date: 2024-02-15T00:00:00+00:00
5
+ min_gitlab_version: "16.8"
6
+ unit_primitive_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/497813
7
+ introduced_by_url: https://gitlab.com/gitlab-org/cloud-connector/gitlab-cloud-connector/-/merge_requests/46
8
+ documentation_url: https://docs.gitlab.com/ee/user/project/repository/code_suggestions/#code-generation
9
+ group: group::code suggestions
10
+ feature_category: code_suggestions
11
+ backend_services:
12
+ - ai_gateway
13
+ add_ons:
14
+ - duo_pro
15
+ - duo_enterprise
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: generate_commit_message
3
+ description: Generate a Git commit message.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::code review
6
+ feature_category: code_review_workflow
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#merge-commit-message-generation
8
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10371
9
+ backend_services:
10
+ - ai_gateway
11
+ add_ons:
12
+ - duo_enterprise
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: generate_cube_query
3
+ description: Convert plain text questions about event data in to a structured query in JSON format.
4
+ group: group::platform insights
5
+ feature_category: product_analytics_visualization
6
+ backend_services:
7
+ - ai_gateway
8
+ add_ons:
9
+ - duo_enterprise
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: generate_issue_description
3
+ description: Generate an issue description.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::project management
6
+ feature_category: team_planning
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#issue-description-generation
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
@@ -1,19 +1,13 @@
1
1
  ---
2
2
  name: glab_ask_git_command
3
3
  description: Discover or recall git commands when and where you need them.
4
- cut_off_date:
5
- min_gitlab_version_for_free_access: '17.2'
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
6
5
  min_gitlab_version: '17.2'
7
- unit_primitive_issue_url:
8
- introduced_by_url:
9
- documentation_url:
10
6
  group: group::code review
11
7
  feature_category: code_review_workflow
8
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#gitlab-duo-for-the-cli
9
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10298
12
10
  backend_services:
13
11
  - ai_gateway
14
12
  add_ons:
15
- - duo_pro
16
13
  - duo_enterprise
17
- license_types:
18
- - premium
19
- - ultimate
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: include_dependency_context
3
+ description: Include dependency context in the prompt.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ unit_primitive_issue_url: https://gitlab.com/gitlab-org/gitlab/-/issues/491740
8
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/11140
9
+ backend_services:
10
+ - ai_gateway
11
+ add_ons:
12
+ - duo_enterprise
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: include_file_context
3
+ description: Include file context in the prompt.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/168327/
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
12
+ - duo_pro
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: include_issue_context
3
+ description: Include issue context in the prompt.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/168327/
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: include_local_git_context
3
+ description: Include local git context (Git Diffs/Commits) in the prompt.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/172401
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: include_merge_request_context
3
+ description: Include merge request context in the prompt.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/168327/
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: include_snippet_context
3
+ description: Include snippet context in the prompt.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ introduced_by_url: https://gitlab.com/gitlab-org/gitlab/-/merge_requests/168327/
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
12
+ - duo_pro
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: observability_all
3
+ description: Observability unit primitive.
4
+ group: group::platform insights
5
+ feature_category: observability
6
+ backend_services:
7
+ - observability
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: refactor_code
3
+ description: Refactor the selected code.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#refactor-code
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
12
+ - duo_pro
@@ -0,0 +1,12 @@
1
+ ---
2
+ name: resolve_vulnerability
3
+ description: Write code that fixes the vulnerability.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::threat insights
6
+ feature_category: vulnerability_management
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#vulnerability-resolution
8
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10457
9
+ backend_services:
10
+ - ai_gateway
11
+ add_ons:
12
+ - duo_enterprise
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: review_merge_request
3
+ description: Review new hunk and old hunk of a merge request diff.
4
+ group: group::code review
5
+ feature_category: code_review_workflow
6
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#code-review
7
+ backend_services:
8
+ - ai_gateway
9
+ add_ons:
10
+ - duo_enterprise
@@ -0,0 +1,7 @@
1
+ ---
2
+ name: security_scans
3
+ description: Used to check your source code for known vulnerabilities.
4
+ group: group::static analysis
5
+ feature_category: static_application_security_testing
6
+ backend_services:
7
+ - security_gateway
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: semantic_search_issue
3
+ description: Perform semantic search on gitlab issues for a given query.
4
+ group: group::global search
5
+ feature_category: global_search
6
+ backend_services:
7
+ - ai_gateway
8
+ add_ons:
9
+ - duo_enterprise
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: summarize_comments
3
+ description: Summarize comments of the issue or epic.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::project management
6
+ feature_category: team_planning
7
+ backend_services:
8
+ - ai_gateway
9
+ add_ons:
10
+ - duo_enterprise
@@ -0,0 +1,9 @@
1
+ ---
2
+ name: summarize_issue_discussions
3
+ description: Summarize discussions of the issue from the comments.
4
+ group: group::code review
5
+ feature_category: code_review_workflow
6
+ backend_services:
7
+ - ai_gateway
8
+ add_ons:
9
+ - duo_enterprise
@@ -0,0 +1,10 @@
1
+ ---
2
+ name: summarize_merge_request
3
+ description: Summarize merge request from the comments.
4
+ group: group::code review
5
+ feature_category: code_review_workflow
6
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#merge-request-summary
7
+ backend_services:
8
+ - ai_gateway
9
+ add_ons:
10
+ - duo_enterprise
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: summarize_new_merge_request
3
+ description: Summarizes the changes for a new merge request based on the diff.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00 # this is the cut_off date used for duo_enterprise rollout (feature requires duo_enterprise add_on in order to be used).
5
+ group: group::code review
6
+ feature_category: code_review_workflow
7
+ introduced_by_url: gitlab.com/gitlab-org/cloud-connector/gitlab-cloud-connector/-/merge_requests/54
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: summarize_review
3
+ description: Summarize open reviews in merge requests.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::code review
6
+ feature_category: code_review_workflow
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#code-review-summary
8
+ backend_services:
9
+ - ai_gateway
10
+ add_ons:
11
+ - duo_enterprise
@@ -1,19 +1,12 @@
1
1
  ---
2
2
  name: troubleshoot_job
3
3
  description: Troubleshoot why a GitLab CI job failed and suggest a fix for it.
4
- cut_off_date:
5
- min_gitlab_version_for_free_access: '17.2'
6
- min_gitlab_version: '17.2'
7
- unit_primitive_issue_url:
8
- introduced_by_url:
9
- documentation_url:
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
10
5
  group: group::pipeline execution
11
6
  feature_category: continuous_integration
7
+ documentation_url: https://docs.gitlab.com/ee/user/gitlab_duo/#root-cause-analysis
8
+ introduced_by_url: https://gitlab.com/gitlab-org/customers-gitlab-com/-/merge_requests/10457
12
9
  backend_services:
13
10
  - ai_gateway
14
11
  add_ons:
15
- - duo_pro
16
12
  - duo_enterprise
17
- license_types:
18
- - premium
19
- - ultimate
@@ -0,0 +1,11 @@
1
+ ---
2
+ name: write_tests
3
+ description: Write tests for the selected code.
4
+ cut_off_date: 2024-10-17T00:00:00+00:00
5
+ group: group::duo_chat
6
+ feature_category: duo_chat
7
+ backend_services:
8
+ - ai_gateway
9
+ add_ons:
10
+ - duo_pro
11
+ - duo_enterprise
@@ -0,0 +1,10 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'active_support'
4
+ require 'active_support/time'
5
+
6
+ module Gitlab
7
+ module CloudConnector
8
+ autoload(:JsonWebToken, 'gitlab/cloud_connector/json_web_token.rb')
9
+ end
10
+ end
@@ -0,0 +1,59 @@
1
+ # frozen_string_literal: true
2
+
3
+ require 'jwt'
4
+
5
+ module Gitlab
6
+ module CloudConnector
7
+ class JsonWebToken
8
+ SIGNING_ALGORITHM = 'RS256'
9
+ NOT_BEFORE_TIME_SEC = 5.seconds.to_i
10
+
11
+ attr_reader :issued_at, :expires_at
12
+
13
+ def initialize(issuer:, audience:, subject:, realm:, scopes:, ttl:, extra_claims: {})
14
+ @id = SecureRandom.uuid
15
+ @audience = audience
16
+ @subject = subject
17
+ @issuer = issuer
18
+ @issued_at = Time.current.to_i
19
+ @not_before = @issued_at - NOT_BEFORE_TIME_SEC
20
+ @expires_at = (@issued_at + ttl).to_i
21
+ @realm = realm
22
+ @scopes = scopes
23
+ @extra_claims = extra_claims
24
+ end
25
+
26
+ # jwk:
27
+ # The key (pair) as an instance of JWT::JWK.
28
+ #
29
+ # Returns a signed and Base64-encoded JSON Web Token string, to be
30
+ # written to the HTTP Authorization header field.
31
+ def encode(jwk)
32
+ header_fields = { typ: 'JWT', kid: jwk.kid }
33
+
34
+ JWT.encode(payload, jwk.signing_key, SIGNING_ALGORITHM, header_fields)
35
+ end
36
+
37
+ def payload
38
+ {
39
+ jti: @id,
40
+ aud: @audience,
41
+ sub: @subject,
42
+ iss: @issuer,
43
+ iat: @issued_at,
44
+ nbf: @not_before,
45
+ exp: @expires_at
46
+ }.merge(cloud_connector_claims)
47
+ end
48
+
49
+ private
50
+
51
+ def cloud_connector_claims
52
+ {
53
+ gitlab_realm: @realm,
54
+ scopes: @scopes
55
+ }.merge(@extra_claims)
56
+ end
57
+ end
58
+ end
59
+ end
@@ -2,6 +2,6 @@
2
2
 
3
3
  module Gitlab
4
4
  module CloudConnector
5
- VERSION = '0.1.1'
5
+ VERSION = '0.2.2'
6
6
  end
7
7
  end
metadata CHANGED
@@ -1,15 +1,43 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: gitlab-cloud-connector
3
3
  version: !ruby/object:Gem::Version
4
- version: 0.1.1
4
+ version: 0.2.2
5
5
  platform: ruby
6
6
  authors:
7
7
  - Nikola Milojevic
8
8
  autorequire:
9
9
  bindir: exe
10
10
  cert_chain: []
11
- date: 2024-10-11 00:00:00.000000000 Z
11
+ date: 2024-11-28 00:00:00.000000000 Z
12
12
  dependencies:
13
+ - !ruby/object:Gem::Dependency
14
+ name: activesupport
15
+ requirement: !ruby/object:Gem::Requirement
16
+ requirements:
17
+ - - "~>"
18
+ - !ruby/object:Gem::Version
19
+ version: '7.0'
20
+ type: :runtime
21
+ prerelease: false
22
+ version_requirements: !ruby/object:Gem::Requirement
23
+ requirements:
24
+ - - "~>"
25
+ - !ruby/object:Gem::Version
26
+ version: '7.0'
27
+ - !ruby/object:Gem::Dependency
28
+ name: jwt
29
+ requirement: !ruby/object:Gem::Requirement
30
+ requirements:
31
+ - - "~>"
32
+ - !ruby/object:Gem::Version
33
+ version: 2.9.3
34
+ type: :runtime
35
+ prerelease: false
36
+ version_requirements: !ruby/object:Gem::Requirement
37
+ requirements:
38
+ - - "~>"
39
+ - !ruby/object:Gem::Version
40
+ version: 2.9.3
13
41
  - !ruby/object:Gem::Dependency
14
42
  name: gitlab-styles
15
43
  requirement: !ruby/object:Gem::Requirement
@@ -62,27 +90,66 @@ extra_rdoc_files: []
62
90
  files:
63
91
  - ".rspec"
64
92
  - ".rubocop.yml"
65
- - CHANGELOG.md
66
93
  - CONTRIBUTING.md
67
94
  - LICENSE
68
95
  - Makefile
69
96
  - README.md
70
97
  - Rakefile
71
- - config/config/add_ons/duo_enterprise.yml
72
- - config/config/add_ons/duo_pro.yml
73
- - config/config/backend_services/ai_gateway.yml
74
- - config/config/backend_services/duo_workflow_service.yml
75
- - config/config/license_types/premium.yml
76
- - config/config/license_types/ultimate.yml
77
- - config/config/unit_primitives/code_suggestions.yml
78
- - config/config/unit_primitives/documentation_search.yml
79
- - config/config/unit_primitives/duo_chat.yml
80
- - config/config/unit_primitives/explain_vulnerability.yml
81
- - config/config/unit_primitives/generate_commit_message.yml
82
- - config/config/unit_primitives/glab_ask_git_command.yml
83
- - config/config/unit_primitives/resolve_vulnerability.yml
84
- - config/config/unit_primitives/summarize_comments.yml
85
- - config/config/unit_primitives/troubleshoot_job.yml
98
+ - config/add_ons/duo_enterprise.yml
99
+ - config/add_ons/duo_pro.yml
100
+ - config/backend_services/ai_gateway.yml
101
+ - config/backend_services/ai_gateway_agent.yml
102
+ - config/backend_services/duo_workflow_service.yml
103
+ - config/backend_services/observability.yml
104
+ - config/backend_services/security_gateway.yml
105
+ - config/license_types/premium.yml
106
+ - config/license_types/ultimate.yml
107
+ - config/schemas/add_on_schema.json
108
+ - config/schemas/backend_service_schema.json
109
+ - config/schemas/license_type_schema.json
110
+ - config/schemas/unit_primitive_schema.json
111
+ - config/unit_primitives/agent_quick_actions.yml
112
+ - config/unit_primitives/ask_build.yml
113
+ - config/unit_primitives/ask_commit.yml
114
+ - config/unit_primitives/ask_epic.yml
115
+ - config/unit_primitives/ask_issue.yml
116
+ - config/unit_primitives/ask_merge_request.yml
117
+ - config/unit_primitives/categorize_duo_chat_question.yml
118
+ - config/unit_primitives/code_suggestions.yml
119
+ - config/unit_primitives/complete_code.yml
120
+ - config/unit_primitives/documentation_search.yml
121
+ - config/unit_primitives/duo_chat.yml
122
+ - config/unit_primitives/duo_workflow_execute_workflow.yml
123
+ - config/unit_primitives/duo_workflow_generate_token.yml
124
+ - config/unit_primitives/explain_code.yml
125
+ - config/unit_primitives/explain_vulnerability.yml
126
+ - config/unit_primitives/fix_code.yml
127
+ - config/unit_primitives/generate_code.yml
128
+ - config/unit_primitives/generate_commit_message.yml
129
+ - config/unit_primitives/generate_cube_query.yml
130
+ - config/unit_primitives/generate_issue_description.yml
131
+ - config/unit_primitives/glab_ask_git_command.yml
132
+ - config/unit_primitives/include_dependency_context.yml
133
+ - config/unit_primitives/include_file_context.yml
134
+ - config/unit_primitives/include_issue_context.yml
135
+ - config/unit_primitives/include_local_git_context.yml
136
+ - config/unit_primitives/include_merge_request_context.yml
137
+ - config/unit_primitives/include_snippet_context.yml
138
+ - config/unit_primitives/observability_all.yml
139
+ - config/unit_primitives/refactor_code.yml
140
+ - config/unit_primitives/resolve_vulnerability.yml
141
+ - config/unit_primitives/review_merge_request.yml
142
+ - config/unit_primitives/security_scans.yml
143
+ - config/unit_primitives/semantic_search_issue.yml
144
+ - config/unit_primitives/summarize_comments.yml
145
+ - config/unit_primitives/summarize_issue_discussions.yml
146
+ - config/unit_primitives/summarize_merge_request.yml
147
+ - config/unit_primitives/summarize_new_merge_request.yml
148
+ - config/unit_primitives/summarize_review.yml
149
+ - config/unit_primitives/troubleshoot_job.yml
150
+ - config/unit_primitives/write_tests.yml
151
+ - lib/cloud_connector.rb
152
+ - lib/gitlab/cloud_connector/json_web_token.rb
86
153
  - lib/gitlab/cloud_connector/version.rb
87
154
  homepage: https://gitlab.com/gitlab-org/cloud-connector/gitlab-cloud-connector
88
155
  licenses:
data/CHANGELOG.md DELETED
@@ -1,5 +0,0 @@
1
- ## [Unreleased]
2
-
3
- ## [0.1.0] - 2024-07-117
4
-
5
- - Initial release
@@ -1,19 +0,0 @@
1
- ---
2
- name: explain_vulnerability
3
- description: Explain a security vulnerability of the given CVE or code.
4
- cut_off_date:
5
- min_gitlab_version_for_free_access: '17.2'
6
- min_gitlab_version: '17.2'
7
- unit_primitive_issue_url:
8
- introduced_by_url:
9
- documentation_url:
10
- group: group::threat insights
11
- feature_category: vulnerability_management
12
- backend_services:
13
- - ai_gateway
14
- add_ons:
15
- - duo_pro
16
- - duo_enterprise
17
- license_types:
18
- - premium
19
- - ultimate
@@ -1,19 +0,0 @@
1
- ---
2
- name: generate_commit_message
3
- description: Generate a Git commit message.
4
- cut_off_date:
5
- min_gitlab_version_for_free_access: '17.2'
6
- min_gitlab_version: '17.2'
7
- unit_primitive_issue_url:
8
- introduced_by_url:
9
- documentation_url:
10
- group: group::code review
11
- feature_category: code_review_workflow
12
- backend_services:
13
- - ai_gateway
14
- add_ons:
15
- - duo_pro
16
- - duo_enterprise
17
- license_types:
18
- - premium
19
- - ultimate
@@ -1,19 +0,0 @@
1
- ---
2
- name: resolve_vulnerability
3
- description: Write code that fixes the vulnerability.
4
- cut_off_date:
5
- min_gitlab_version_for_free_access: '17.2'
6
- min_gitlab_version: '17.2'
7
- unit_primitive_issue_url:
8
- introduced_by_url:
9
- documentation_url:
10
- group: group::threat insights
11
- feature_category: vulnerability_management
12
- backend_services:
13
- - ai_gateway
14
- add_ons:
15
- - duo_pro
16
- - duo_enterprise
17
- license_types:
18
- - premium
19
- - ultimate
@@ -1,19 +0,0 @@
1
- ---
2
- name: summarize_comments
3
- description: Summarize comments of the issue or epic.
4
- cut_off_date:
5
- min_gitlab_version_for_free_access: '17.2'
6
- min_gitlab_version: '17.2'
7
- unit_primitive_issue_url:
8
- introduced_by_url:
9
- documentation_url:
10
- group: group::ai framework
11
- feature_category: ai_abstraction_layer
12
- backend_services:
13
- - ai_gateway
14
- add_ons:
15
- - duo_pro
16
- - duo_enterprise
17
- license_types:
18
- - premium
19
- - ultimate
File without changes