@structured-world/gitlab-mcp 6.31.2 → 6.32.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -3,6 +3,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.ToolAvailability = void 0;
4
4
  const ConnectionManager_1 = require("./ConnectionManager");
5
5
  const logger_1 = require("../logger");
6
+ const version_1 = require("../utils/version");
6
7
  class ToolAvailability {
7
8
  static TIER_ORDER = {
8
9
  free: 0,
@@ -10,525 +11,557 @@ class ToolAvailability {
10
11
  ultimate: 2,
11
12
  };
12
13
  static toolRequirements = {
13
- list_projects: { minVersion: 8.0, requiredTier: "free" },
14
- get_project: { minVersion: 8.0, requiredTier: "free" },
15
- create_project: { minVersion: 8.0, requiredTier: "free" },
16
- update_project: { minVersion: 8.0, requiredTier: "free" },
17
- delete_project: { minVersion: 8.0, requiredTier: "free" },
18
- fork_project: { minVersion: 8.0, requiredTier: "free" },
19
- archive_project: { minVersion: 8.0, requiredTier: "free" },
20
- unarchive_project: { minVersion: 8.0, requiredTier: "free" },
21
- list_branches: { minVersion: 8.0, requiredTier: "free" },
22
- get_branch: { minVersion: 8.0, requiredTier: "free" },
23
- create_branch: { minVersion: 8.0, requiredTier: "free" },
24
- delete_branch: { minVersion: 8.0, requiredTier: "free" },
25
- protect_branch: { minVersion: 8.0, requiredTier: "free" },
26
- unprotect_branch: { minVersion: 8.0, requiredTier: "free" },
27
- list_commits: { minVersion: 8.0, requiredTier: "free" },
28
- get_commit: { minVersion: 8.0, requiredTier: "free" },
29
- get_commit_diff: { minVersion: 8.0, requiredTier: "free" },
30
- get_branch_diffs: { minVersion: 8.0, requiredTier: "free" },
31
- cherry_pick_commit: { minVersion: 8.15, requiredTier: "free" },
32
- revert_commit: { minVersion: 8.15, requiredTier: "free" },
33
- get_file_contents: { minVersion: 8.0, requiredTier: "free" },
34
- create_or_update_file: { minVersion: 8.0, requiredTier: "free" },
35
- delete_file: { minVersion: 8.0, requiredTier: "free" },
36
- get_raw_file: { minVersion: 8.0, requiredTier: "free" },
37
- get_file_blame: { minVersion: 8.0, requiredTier: "free" },
38
- get_repository_tree: { minVersion: 8.0, requiredTier: "free" },
39
- search_repositories: { minVersion: 8.0, requiredTier: "free" },
40
- list_namespaces: { minVersion: 9.0, requiredTier: "free" },
41
- get_namespace: { minVersion: 9.0, requiredTier: "free" },
42
- upload_markdown: { minVersion: 8.0, requiredTier: "free" },
43
- list_merge_requests: { minVersion: 8.0, requiredTier: "free" },
44
- get_merge_request: { minVersion: 8.0, requiredTier: "free" },
45
- create_merge_request: { minVersion: 8.0, requiredTier: "free" },
46
- update_merge_request: { minVersion: 8.0, requiredTier: "free" },
47
- delete_merge_request: { minVersion: 8.0, requiredTier: "free" },
48
- merge_merge_request: { minVersion: 8.0, requiredTier: "free" },
49
- rebase_merge_request: { minVersion: 11.6, requiredTier: "free" },
50
- get_merge_request_diffs: { minVersion: 8.0, requiredTier: "free" },
51
- list_merge_request_diffs: { minVersion: 8.0, requiredTier: "free" },
52
- mr_discussions: { minVersion: 8.0, requiredTier: "free" },
53
- get_draft_note: { minVersion: 13.2, requiredTier: "free" },
54
- list_draft_notes: { minVersion: 13.2, requiredTier: "free" },
55
- create_draft_note: { minVersion: 13.2, requiredTier: "free" },
56
- update_draft_note: { minVersion: 13.2, requiredTier: "free" },
57
- delete_draft_note: { minVersion: 13.2, requiredTier: "free" },
58
- publish_draft_note: { minVersion: 13.2, requiredTier: "free" },
59
- bulk_publish_draft_notes: { minVersion: 13.2, requiredTier: "free" },
60
- cancel_merge_when_pipeline_succeeds: { minVersion: 9.0, requiredTier: "free" },
61
- list_merge_request_commits: { minVersion: 8.0, requiredTier: "free" },
62
- list_merge_request_notes: { minVersion: 8.0, requiredTier: "free" },
63
- create_merge_request_note: { minVersion: 8.0, requiredTier: "free" },
64
- update_merge_request_note: { minVersion: 8.0, requiredTier: "free" },
65
- delete_merge_request_note: { minVersion: 8.0, requiredTier: "free" },
14
+ list_projects: { minVersion: "8.0", requiredTier: "free" },
15
+ get_project: { minVersion: "8.0", requiredTier: "free" },
16
+ create_project: { minVersion: "8.0", requiredTier: "free" },
17
+ update_project: { minVersion: "8.0", requiredTier: "free" },
18
+ delete_project: { minVersion: "8.0", requiredTier: "free" },
19
+ fork_project: { minVersion: "8.0", requiredTier: "free" },
20
+ archive_project: { minVersion: "8.0", requiredTier: "free" },
21
+ unarchive_project: { minVersion: "8.0", requiredTier: "free" },
22
+ list_branches: { minVersion: "8.0", requiredTier: "free" },
23
+ get_branch: { minVersion: "8.0", requiredTier: "free" },
24
+ create_branch: { minVersion: "8.0", requiredTier: "free" },
25
+ delete_branch: { minVersion: "8.0", requiredTier: "free" },
26
+ protect_branch: { minVersion: "8.0", requiredTier: "free" },
27
+ unprotect_branch: { minVersion: "8.0", requiredTier: "free" },
28
+ list_commits: { minVersion: "8.0", requiredTier: "free" },
29
+ get_commit: { minVersion: "8.0", requiredTier: "free" },
30
+ get_commit_diff: { minVersion: "8.0", requiredTier: "free" },
31
+ get_branch_diffs: { minVersion: "8.0", requiredTier: "free" },
32
+ cherry_pick_commit: { minVersion: "8.15", requiredTier: "free" },
33
+ revert_commit: { minVersion: "8.15", requiredTier: "free" },
34
+ get_file_contents: { minVersion: "8.0", requiredTier: "free" },
35
+ create_or_update_file: { minVersion: "8.0", requiredTier: "free" },
36
+ delete_file: { minVersion: "8.0", requiredTier: "free" },
37
+ get_raw_file: { minVersion: "8.0", requiredTier: "free" },
38
+ get_file_blame: { minVersion: "8.0", requiredTier: "free" },
39
+ get_repository_tree: { minVersion: "8.0", requiredTier: "free" },
40
+ search_repositories: { minVersion: "8.0", requiredTier: "free" },
41
+ list_namespaces: { minVersion: "9.0", requiredTier: "free" },
42
+ get_namespace: { minVersion: "9.0", requiredTier: "free" },
43
+ upload_markdown: { minVersion: "8.0", requiredTier: "free" },
44
+ list_merge_requests: { minVersion: "8.0", requiredTier: "free" },
45
+ get_merge_request: { minVersion: "8.0", requiredTier: "free" },
46
+ create_merge_request: { minVersion: "8.0", requiredTier: "free" },
47
+ update_merge_request: { minVersion: "8.0", requiredTier: "free" },
48
+ delete_merge_request: { minVersion: "8.0", requiredTier: "free" },
49
+ merge_merge_request: { minVersion: "8.0", requiredTier: "free" },
50
+ rebase_merge_request: { minVersion: "11.6", requiredTier: "free" },
51
+ get_merge_request_diffs: { minVersion: "8.0", requiredTier: "free" },
52
+ list_merge_request_diffs: { minVersion: "8.0", requiredTier: "free" },
53
+ mr_discussions: { minVersion: "8.0", requiredTier: "free" },
54
+ get_draft_note: { minVersion: "13.2", requiredTier: "free" },
55
+ list_draft_notes: { minVersion: "13.2", requiredTier: "free" },
56
+ create_draft_note: { minVersion: "13.2", requiredTier: "free" },
57
+ update_draft_note: { minVersion: "13.2", requiredTier: "free" },
58
+ delete_draft_note: { minVersion: "13.2", requiredTier: "free" },
59
+ publish_draft_note: { minVersion: "13.2", requiredTier: "free" },
60
+ bulk_publish_draft_notes: { minVersion: "13.2", requiredTier: "free" },
61
+ cancel_merge_when_pipeline_succeeds: { minVersion: "9.0", requiredTier: "free" },
62
+ list_merge_request_commits: { minVersion: "8.0", requiredTier: "free" },
63
+ list_merge_request_notes: { minVersion: "8.0", requiredTier: "free" },
64
+ create_merge_request_note: { minVersion: "8.0", requiredTier: "free" },
65
+ update_merge_request_note: { minVersion: "8.0", requiredTier: "free" },
66
+ delete_merge_request_note: { minVersion: "8.0", requiredTier: "free" },
66
67
  get_merge_request_approvals: {
67
- minVersion: 10.6,
68
+ minVersion: "10.6",
68
69
  requiredTier: "premium",
69
70
  notes: "MR approval rules",
70
71
  },
71
- approve_merge_request: { minVersion: 10.6, requiredTier: "premium", notes: "MR approvals" },
72
- unapprove_merge_request: { minVersion: 10.6, requiredTier: "premium", notes: "MR approvals" },
73
- get_approval_rules: { minVersion: 12.3, requiredTier: "premium", notes: "MR approval rules" },
74
- create_approval_rule: { minVersion: 12.3, requiredTier: "premium", notes: "MR approval rules" },
75
- update_approval_rule: { minVersion: 12.3, requiredTier: "premium", notes: "MR approval rules" },
76
- delete_approval_rule: { minVersion: 12.3, requiredTier: "premium", notes: "MR approval rules" },
77
- add_to_merge_train: { minVersion: 12.0, requiredTier: "premium", notes: "Merge trains" },
78
- remove_from_merge_train: { minVersion: 12.0, requiredTier: "premium", notes: "Merge trains" },
79
- get_merge_trains: { minVersion: 12.0, requiredTier: "premium", notes: "Merge trains" },
80
- list_labels: { minVersion: 8.0, requiredTier: "free" },
81
- get_label: { minVersion: 8.0, requiredTier: "free" },
82
- create_label: { minVersion: 8.0, requiredTier: "free" },
83
- update_label: { minVersion: 8.0, requiredTier: "free" },
84
- delete_label: { minVersion: 8.0, requiredTier: "free" },
85
- promote_label: { minVersion: 12.4, requiredTier: "free" },
86
- list_milestones: { minVersion: 8.0, requiredTier: "free" },
87
- get_milestone: { minVersion: 8.0, requiredTier: "free" },
88
- create_milestone: { minVersion: 8.0, requiredTier: "free" },
89
- update_milestone: { minVersion: 8.0, requiredTier: "free" },
90
- delete_milestone: { minVersion: 8.0, requiredTier: "free" },
91
- promote_milestone: { minVersion: 11.9, requiredTier: "free" },
92
- list_wiki_pages: { minVersion: 9.0, requiredTier: "free" },
93
- get_wiki_page: { minVersion: 9.0, requiredTier: "free" },
94
- create_wiki_page: { minVersion: 9.0, requiredTier: "free" },
95
- update_wiki_page: { minVersion: 9.0, requiredTier: "free" },
96
- delete_wiki_page: { minVersion: 9.0, requiredTier: "free" },
97
- list_pipelines: { minVersion: 9.0, requiredTier: "free" },
98
- get_pipeline: { minVersion: 9.0, requiredTier: "free" },
99
- create_pipeline: { minVersion: 9.0, requiredTier: "free" },
100
- run_pipeline: { minVersion: 9.0, requiredTier: "free" },
101
- retry_pipeline: { minVersion: 9.0, requiredTier: "free" },
102
- cancel_pipeline: { minVersion: 9.0, requiredTier: "free" },
103
- delete_pipeline: { minVersion: 11.6, requiredTier: "free" },
104
- list_pipeline_jobs: { minVersion: 9.0, requiredTier: "free" },
105
- list_pipeline_trigger_jobs: { minVersion: 12.0, requiredTier: "free", notes: "Bridge jobs" },
106
- get_pipeline_job: { minVersion: 9.0, requiredTier: "free" },
107
- get_pipeline_job_output: { minVersion: 9.0, requiredTier: "free", notes: "Job trace/logs" },
108
- play_pipeline_job: { minVersion: 9.0, requiredTier: "free", notes: "Manual jobs" },
109
- retry_pipeline_job: { minVersion: 9.0, requiredTier: "free" },
110
- cancel_pipeline_job: { minVersion: 9.0, requiredTier: "free" },
111
- get_job: { minVersion: 9.0, requiredTier: "free" },
112
- get_job_trace: { minVersion: 9.0, requiredTier: "free" },
113
- get_job_artifacts: { minVersion: 9.0, requiredTier: "free" },
114
- download_job_artifacts: { minVersion: 9.0, requiredTier: "free" },
115
- retry_job: { minVersion: 9.0, requiredTier: "free" },
116
- cancel_job: { minVersion: 9.0, requiredTier: "free" },
117
- play_job: { minVersion: 9.0, requiredTier: "free" },
118
- erase_job: { minVersion: 9.0, requiredTier: "free" },
119
- list_pipeline_schedules: { minVersion: 9.2, requiredTier: "free" },
120
- get_pipeline_schedule: { minVersion: 9.2, requiredTier: "free" },
121
- create_pipeline_schedule: { minVersion: 9.2, requiredTier: "free" },
122
- update_pipeline_schedule: { minVersion: 9.2, requiredTier: "free" },
123
- delete_pipeline_schedule: { minVersion: 9.2, requiredTier: "free" },
124
- play_pipeline_schedule: { minVersion: 12.8, requiredTier: "free" },
125
- pipeline_test_report: { minVersion: 11.5, requiredTier: "free" },
126
- pipeline_test_report_summary: { minVersion: 14.0, requiredTier: "free" },
127
- list_protected_environments: { minVersion: 12.8, requiredTier: "premium" },
128
- get_protected_environment: { minVersion: 12.8, requiredTier: "premium" },
129
- protect_environment: { minVersion: 12.8, requiredTier: "premium" },
130
- unprotect_environment: { minVersion: 12.8, requiredTier: "premium" },
131
- list_work_items: { minVersion: 15.0, requiredTier: "free" },
132
- get_work_item: { minVersion: 15.0, requiredTier: "free" },
133
- get_work_item_types: { minVersion: 15.0, requiredTier: "free" },
134
- create_work_item: { minVersion: 15.0, requiredTier: "free" },
135
- update_work_item: { minVersion: 15.0, requiredTier: "free" },
136
- delete_work_item: { minVersion: 15.0, requiredTier: "free" },
137
- list_epics: { minVersion: 10.2, requiredTier: "premium", notes: "Epic management" },
138
- get_epic: { minVersion: 10.2, requiredTier: "premium" },
139
- create_epic: { minVersion: 10.2, requiredTier: "premium" },
140
- update_epic: { minVersion: 10.2, requiredTier: "premium" },
141
- delete_epic: { minVersion: 10.2, requiredTier: "premium" },
142
- list_epic_issues: { minVersion: 10.2, requiredTier: "premium" },
143
- assign_epic_issue: { minVersion: 10.2, requiredTier: "premium" },
144
- remove_epic_issue: { minVersion: 10.2, requiredTier: "premium" },
145
- list_child_epics: { minVersion: 11.7, requiredTier: "ultimate", notes: "Multi-level epics" },
146
- create_child_epic: { minVersion: 11.7, requiredTier: "ultimate", notes: "Multi-level epics" },
147
- list_iterations: { minVersion: 13.1, requiredTier: "premium", notes: "Sprint management" },
148
- get_iteration: { minVersion: 13.1, requiredTier: "premium" },
149
- create_iteration: { minVersion: 13.2, requiredTier: "premium" },
150
- update_iteration: { minVersion: 13.2, requiredTier: "premium" },
151
- delete_iteration: { minVersion: 14.0, requiredTier: "premium" },
152
- list_boards: { minVersion: 8.13, requiredTier: "free" },
153
- get_board: { minVersion: 8.13, requiredTier: "free" },
154
- create_board: { minVersion: 10.4, requiredTier: "free" },
155
- update_board: { minVersion: 11.0, requiredTier: "free" },
156
- delete_board: { minVersion: 10.4, requiredTier: "free" },
157
- list_board_lists: { minVersion: 8.13, requiredTier: "free" },
158
- get_board_list: { minVersion: 8.13, requiredTier: "free" },
159
- create_board_list: { minVersion: 8.13, requiredTier: "free" },
160
- update_board_list: { minVersion: 11.0, requiredTier: "free" },
161
- delete_board_list: { minVersion: 8.13, requiredTier: "free" },
162
- security_dashboard: { minVersion: 11.1, requiredTier: "ultimate", notes: "Security scanning" },
72
+ approve_merge_request: { minVersion: "10.6", requiredTier: "premium", notes: "MR approvals" },
73
+ unapprove_merge_request: { minVersion: "10.6", requiredTier: "premium", notes: "MR approvals" },
74
+ get_approval_rules: { minVersion: "12.3", requiredTier: "premium", notes: "MR approval rules" },
75
+ create_approval_rule: {
76
+ minVersion: "12.3",
77
+ requiredTier: "premium",
78
+ notes: "MR approval rules",
79
+ },
80
+ update_approval_rule: {
81
+ minVersion: "12.3",
82
+ requiredTier: "premium",
83
+ notes: "MR approval rules",
84
+ },
85
+ delete_approval_rule: {
86
+ minVersion: "12.3",
87
+ requiredTier: "premium",
88
+ notes: "MR approval rules",
89
+ },
90
+ add_to_merge_train: { minVersion: "12.0", requiredTier: "premium", notes: "Merge trains" },
91
+ remove_from_merge_train: { minVersion: "12.0", requiredTier: "premium", notes: "Merge trains" },
92
+ get_merge_trains: { minVersion: "12.0", requiredTier: "premium", notes: "Merge trains" },
93
+ list_labels: { minVersion: "8.0", requiredTier: "free" },
94
+ get_label: { minVersion: "8.0", requiredTier: "free" },
95
+ create_label: { minVersion: "8.0", requiredTier: "free" },
96
+ update_label: { minVersion: "8.0", requiredTier: "free" },
97
+ delete_label: { minVersion: "8.0", requiredTier: "free" },
98
+ promote_label: { minVersion: "12.4", requiredTier: "free" },
99
+ list_milestones: { minVersion: "8.0", requiredTier: "free" },
100
+ get_milestone: { minVersion: "8.0", requiredTier: "free" },
101
+ create_milestone: { minVersion: "8.0", requiredTier: "free" },
102
+ update_milestone: { minVersion: "8.0", requiredTier: "free" },
103
+ delete_milestone: { minVersion: "8.0", requiredTier: "free" },
104
+ promote_milestone: { minVersion: "11.9", requiredTier: "free" },
105
+ list_wiki_pages: { minVersion: "9.0", requiredTier: "free" },
106
+ get_wiki_page: { minVersion: "9.0", requiredTier: "free" },
107
+ create_wiki_page: { minVersion: "9.0", requiredTier: "free" },
108
+ update_wiki_page: { minVersion: "9.0", requiredTier: "free" },
109
+ delete_wiki_page: { minVersion: "9.0", requiredTier: "free" },
110
+ list_pipelines: { minVersion: "9.0", requiredTier: "free" },
111
+ get_pipeline: { minVersion: "9.0", requiredTier: "free" },
112
+ create_pipeline: { minVersion: "9.0", requiredTier: "free" },
113
+ run_pipeline: { minVersion: "9.0", requiredTier: "free" },
114
+ retry_pipeline: { minVersion: "9.0", requiredTier: "free" },
115
+ cancel_pipeline: { minVersion: "9.0", requiredTier: "free" },
116
+ delete_pipeline: { minVersion: "11.6", requiredTier: "free" },
117
+ list_pipeline_jobs: { minVersion: "9.0", requiredTier: "free" },
118
+ list_pipeline_trigger_jobs: { minVersion: "12.0", requiredTier: "free", notes: "Bridge jobs" },
119
+ get_pipeline_job: { minVersion: "9.0", requiredTier: "free" },
120
+ get_pipeline_job_output: { minVersion: "9.0", requiredTier: "free", notes: "Job trace/logs" },
121
+ play_pipeline_job: { minVersion: "9.0", requiredTier: "free", notes: "Manual jobs" },
122
+ retry_pipeline_job: { minVersion: "9.0", requiredTier: "free" },
123
+ cancel_pipeline_job: { minVersion: "9.0", requiredTier: "free" },
124
+ get_job: { minVersion: "9.0", requiredTier: "free" },
125
+ get_job_trace: { minVersion: "9.0", requiredTier: "free" },
126
+ get_job_artifacts: { minVersion: "9.0", requiredTier: "free" },
127
+ download_job_artifacts: { minVersion: "9.0", requiredTier: "free" },
128
+ retry_job: { minVersion: "9.0", requiredTier: "free" },
129
+ cancel_job: { minVersion: "9.0", requiredTier: "free" },
130
+ play_job: { minVersion: "9.0", requiredTier: "free" },
131
+ erase_job: { minVersion: "9.0", requiredTier: "free" },
132
+ list_pipeline_schedules: { minVersion: "9.2", requiredTier: "free" },
133
+ get_pipeline_schedule: { minVersion: "9.2", requiredTier: "free" },
134
+ create_pipeline_schedule: { minVersion: "9.2", requiredTier: "free" },
135
+ update_pipeline_schedule: { minVersion: "9.2", requiredTier: "free" },
136
+ delete_pipeline_schedule: { minVersion: "9.2", requiredTier: "free" },
137
+ play_pipeline_schedule: { minVersion: "12.8", requiredTier: "free" },
138
+ pipeline_test_report: { minVersion: "11.5", requiredTier: "free" },
139
+ pipeline_test_report_summary: { minVersion: "14.0", requiredTier: "free" },
140
+ list_protected_environments: { minVersion: "12.8", requiredTier: "premium" },
141
+ get_protected_environment: { minVersion: "12.8", requiredTier: "premium" },
142
+ protect_environment: { minVersion: "12.8", requiredTier: "premium" },
143
+ unprotect_environment: { minVersion: "12.8", requiredTier: "premium" },
144
+ list_work_items: { minVersion: "15.0", requiredTier: "free" },
145
+ get_work_item: { minVersion: "15.0", requiredTier: "free" },
146
+ get_work_item_types: { minVersion: "15.0", requiredTier: "free" },
147
+ create_work_item: { minVersion: "15.0", requiredTier: "free" },
148
+ update_work_item: { minVersion: "15.0", requiredTier: "free" },
149
+ delete_work_item: { minVersion: "15.0", requiredTier: "free" },
150
+ list_epics: { minVersion: "10.2", requiredTier: "premium", notes: "Epic management" },
151
+ get_epic: { minVersion: "10.2", requiredTier: "premium" },
152
+ create_epic: { minVersion: "10.2", requiredTier: "premium" },
153
+ update_epic: { minVersion: "10.2", requiredTier: "premium" },
154
+ delete_epic: { minVersion: "10.2", requiredTier: "premium" },
155
+ list_epic_issues: { minVersion: "10.2", requiredTier: "premium" },
156
+ assign_epic_issue: { minVersion: "10.2", requiredTier: "premium" },
157
+ remove_epic_issue: { minVersion: "10.2", requiredTier: "premium" },
158
+ list_child_epics: { minVersion: "11.7", requiredTier: "ultimate", notes: "Multi-level epics" },
159
+ create_child_epic: { minVersion: "11.7", requiredTier: "ultimate", notes: "Multi-level epics" },
160
+ list_iterations: { minVersion: "13.1", requiredTier: "premium", notes: "Sprint management" },
161
+ get_iteration: { minVersion: "13.1", requiredTier: "premium" },
162
+ create_iteration: { minVersion: "13.2", requiredTier: "premium" },
163
+ update_iteration: { minVersion: "13.2", requiredTier: "premium" },
164
+ delete_iteration: { minVersion: "14.0", requiredTier: "premium" },
165
+ list_boards: { minVersion: "8.13", requiredTier: "free" },
166
+ get_board: { minVersion: "8.13", requiredTier: "free" },
167
+ create_board: { minVersion: "10.4", requiredTier: "free" },
168
+ update_board: { minVersion: "11.0", requiredTier: "free" },
169
+ delete_board: { minVersion: "10.4", requiredTier: "free" },
170
+ list_board_lists: { minVersion: "8.13", requiredTier: "free" },
171
+ get_board_list: { minVersion: "8.13", requiredTier: "free" },
172
+ create_board_list: { minVersion: "8.13", requiredTier: "free" },
173
+ update_board_list: { minVersion: "11.0", requiredTier: "free" },
174
+ delete_board_list: { minVersion: "8.13", requiredTier: "free" },
175
+ security_dashboard: {
176
+ minVersion: "11.1",
177
+ requiredTier: "ultimate",
178
+ notes: "Security scanning",
179
+ },
163
180
  list_vulnerabilities: {
164
- minVersion: 12.5,
181
+ minVersion: "12.5",
165
182
  requiredTier: "ultimate",
166
183
  notes: "Vulnerability management",
167
184
  },
168
- get_vulnerability: { minVersion: 12.5, requiredTier: "ultimate" },
169
- create_vulnerability: { minVersion: 13.0, requiredTier: "ultimate" },
170
- resolve_vulnerability: { minVersion: 12.5, requiredTier: "ultimate" },
171
- dismiss_vulnerability: { minVersion: 12.5, requiredTier: "ultimate" },
172
- revert_vulnerability_dismissal: { minVersion: 12.5, requiredTier: "ultimate" },
173
- list_vulnerability_findings: { minVersion: 12.5, requiredTier: "ultimate" },
174
- create_vulnerability_finding: { minVersion: 13.7, requiredTier: "ultimate" },
175
- run_sast_scan: { minVersion: 10.3, requiredTier: "ultimate", notes: "Static security testing" },
185
+ get_vulnerability: { minVersion: "12.5", requiredTier: "ultimate" },
186
+ create_vulnerability: { minVersion: "13.0", requiredTier: "ultimate" },
187
+ resolve_vulnerability: { minVersion: "12.5", requiredTier: "ultimate" },
188
+ dismiss_vulnerability: { minVersion: "12.5", requiredTier: "ultimate" },
189
+ revert_vulnerability_dismissal: { minVersion: "12.5", requiredTier: "ultimate" },
190
+ list_vulnerability_findings: { minVersion: "12.5", requiredTier: "ultimate" },
191
+ create_vulnerability_finding: { minVersion: "13.7", requiredTier: "ultimate" },
192
+ run_sast_scan: {
193
+ minVersion: "10.3",
194
+ requiredTier: "ultimate",
195
+ notes: "Static security testing",
196
+ },
176
197
  run_dast_scan: {
177
- minVersion: 10.4,
198
+ minVersion: "10.4",
178
199
  requiredTier: "ultimate",
179
200
  notes: "Dynamic security testing",
180
201
  },
181
202
  run_dependency_scan: {
182
- minVersion: 10.7,
203
+ minVersion: "10.7",
183
204
  requiredTier: "ultimate",
184
205
  notes: "Dependency scanning",
185
206
  },
186
- run_container_scan: { minVersion: 10.8, requiredTier: "ultimate", notes: "Container scanning" },
187
- run_secret_detection: { minVersion: 13.1, requiredTier: "ultimate", notes: "Secret detection" },
207
+ run_container_scan: {
208
+ minVersion: "10.8",
209
+ requiredTier: "ultimate",
210
+ notes: "Container scanning",
211
+ },
212
+ run_secret_detection: {
213
+ minVersion: "13.1",
214
+ requiredTier: "ultimate",
215
+ notes: "Secret detection",
216
+ },
188
217
  compliance_framework: {
189
- minVersion: 13.0,
218
+ minVersion: "13.0",
190
219
  requiredTier: "ultimate",
191
220
  notes: "Compliance management",
192
221
  },
193
- list_compliance_frameworks: { minVersion: 13.0, requiredTier: "ultimate" },
194
- get_compliance_framework: { minVersion: 13.0, requiredTier: "ultimate" },
195
- create_compliance_framework: { minVersion: 13.0, requiredTier: "ultimate" },
196
- update_compliance_framework: { minVersion: 13.0, requiredTier: "ultimate" },
197
- delete_compliance_framework: { minVersion: 13.0, requiredTier: "ultimate" },
198
- audit_events: { minVersion: 12.0, requiredTier: "ultimate", notes: "Audit logging" },
199
- list_audit_events: { minVersion: 12.0, requiredTier: "ultimate" },
222
+ list_compliance_frameworks: { minVersion: "13.0", requiredTier: "ultimate" },
223
+ get_compliance_framework: { minVersion: "13.0", requiredTier: "ultimate" },
224
+ create_compliance_framework: { minVersion: "13.0", requiredTier: "ultimate" },
225
+ update_compliance_framework: { minVersion: "13.0", requiredTier: "ultimate" },
226
+ delete_compliance_framework: { minVersion: "13.0", requiredTier: "ultimate" },
227
+ audit_events: { minVersion: "12.0", requiredTier: "ultimate", notes: "Audit logging" },
228
+ list_audit_events: { minVersion: "12.0", requiredTier: "ultimate" },
200
229
  list_requirements: {
201
- minVersion: 13.1,
230
+ minVersion: "13.1",
202
231
  requiredTier: "ultimate",
203
232
  notes: "Requirements tracking",
204
233
  },
205
- get_requirement: { minVersion: 13.1, requiredTier: "ultimate" },
206
- create_requirement: { minVersion: 13.1, requiredTier: "ultimate" },
207
- update_requirement: { minVersion: 13.1, requiredTier: "ultimate" },
208
- delete_requirement: { minVersion: 13.1, requiredTier: "ultimate" },
209
- list_test_cases: { minVersion: 13.6, requiredTier: "ultimate", notes: "Test cases" },
210
- get_test_case: { minVersion: 13.6, requiredTier: "ultimate" },
211
- create_test_case: { minVersion: 13.6, requiredTier: "ultimate" },
212
- update_test_case: { minVersion: 13.6, requiredTier: "ultimate" },
213
- delete_test_case: { minVersion: 13.6, requiredTier: "ultimate" },
214
- run_test_case: { minVersion: 13.6, requiredTier: "ultimate" },
215
- quality_management: { minVersion: 13.0, requiredTier: "ultimate", notes: "Quality tracking" },
216
- list_test_reports: { minVersion: 13.0, requiredTier: "ultimate" },
217
- get_test_report: { minVersion: 13.0, requiredTier: "ultimate" },
234
+ get_requirement: { minVersion: "13.1", requiredTier: "ultimate" },
235
+ create_requirement: { minVersion: "13.1", requiredTier: "ultimate" },
236
+ update_requirement: { minVersion: "13.1", requiredTier: "ultimate" },
237
+ delete_requirement: { minVersion: "13.1", requiredTier: "ultimate" },
238
+ list_test_cases: { minVersion: "13.6", requiredTier: "ultimate", notes: "Test cases" },
239
+ get_test_case: { minVersion: "13.6", requiredTier: "ultimate" },
240
+ create_test_case: { minVersion: "13.6", requiredTier: "ultimate" },
241
+ update_test_case: { minVersion: "13.6", requiredTier: "ultimate" },
242
+ delete_test_case: { minVersion: "13.6", requiredTier: "ultimate" },
243
+ run_test_case: { minVersion: "13.6", requiredTier: "ultimate" },
244
+ quality_management: { minVersion: "13.0", requiredTier: "ultimate", notes: "Quality tracking" },
245
+ list_test_reports: { minVersion: "13.0", requiredTier: "ultimate" },
246
+ get_test_report: { minVersion: "13.0", requiredTier: "ultimate" },
218
247
  value_stream_analytics: {
219
- minVersion: 12.3,
248
+ minVersion: "12.3",
220
249
  requiredTier: "premium",
221
250
  notes: "Limited in Premium",
222
251
  },
223
- cycle_analytics: { minVersion: 12.3, requiredTier: "premium" },
224
- code_review_analytics: { minVersion: 12.7, requiredTier: "premium" },
225
- productivity_analytics: { minVersion: 12.3, requiredTier: "ultimate" },
226
- merge_request_analytics: { minVersion: 13.3, requiredTier: "premium" },
227
- repository_analytics: { minVersion: 13.0, requiredTier: "free" },
228
- insights: { minVersion: 12.0, requiredTier: "ultimate" },
229
- list_group_milestones: { minVersion: 9.0, requiredTier: "free" },
230
- list_group_members: { minVersion: 8.0, requiredTier: "free" },
231
- list_group_projects: { minVersion: 8.0, requiredTier: "free" },
232
- list_group_subgroups: { minVersion: 10.3, requiredTier: "free" },
233
- list_group_labels: { minVersion: 11.8, requiredTier: "free" },
234
- list_group_variables: { minVersion: 9.5, requiredTier: "free" },
235
- list_group_runners: { minVersion: 10.1, requiredTier: "free" },
236
- list_packages: { minVersion: 11.8, requiredTier: "free" },
237
- get_package: { minVersion: 11.8, requiredTier: "free" },
238
- publish_package: { minVersion: 11.8, requiredTier: "free" },
239
- delete_package: { minVersion: 11.8, requiredTier: "free" },
240
- list_registry_repositories: { minVersion: 8.8, requiredTier: "free" },
241
- get_registry_repository: { minVersion: 8.8, requiredTier: "free" },
242
- delete_registry_repository: { minVersion: 8.8, requiredTier: "free" },
243
- list_registry_tags: { minVersion: 8.8, requiredTier: "free" },
244
- get_registry_tag: { minVersion: 8.8, requiredTier: "free" },
245
- delete_registry_tag: { minVersion: 8.8, requiredTier: "free" },
246
- list_terraform_states: { minVersion: 13.0, requiredTier: "free" },
247
- get_terraform_state: { minVersion: 13.0, requiredTier: "free" },
248
- lock_terraform_state: { minVersion: 13.0, requiredTier: "free" },
249
- unlock_terraform_state: { minVersion: 13.0, requiredTier: "free" },
250
- delete_terraform_state: { minVersion: 13.0, requiredTier: "free" },
251
- list_feature_flags: { minVersion: 12.5, requiredTier: "premium" },
252
- get_feature_flag: { minVersion: 12.5, requiredTier: "premium" },
253
- create_feature_flag: { minVersion: 12.5, requiredTier: "premium" },
254
- update_feature_flag: { minVersion: 12.5, requiredTier: "premium" },
255
- delete_feature_flag: { minVersion: 12.5, requiredTier: "premium" },
256
- get_users: { minVersion: 8.0, requiredTier: "free" },
257
- verify_namespace: { minVersion: 9.0, requiredTier: "free" },
258
- list_project_members: { minVersion: 8.0, requiredTier: "free" },
252
+ cycle_analytics: { minVersion: "12.3", requiredTier: "premium" },
253
+ code_review_analytics: { minVersion: "12.7", requiredTier: "premium" },
254
+ productivity_analytics: { minVersion: "12.3", requiredTier: "ultimate" },
255
+ merge_request_analytics: { minVersion: "13.3", requiredTier: "premium" },
256
+ repository_analytics: { minVersion: "13.0", requiredTier: "free" },
257
+ insights: { minVersion: "12.0", requiredTier: "ultimate" },
258
+ list_group_milestones: { minVersion: "9.0", requiredTier: "free" },
259
+ list_group_members: { minVersion: "8.0", requiredTier: "free" },
260
+ list_group_projects: { minVersion: "8.0", requiredTier: "free" },
261
+ list_group_subgroups: { minVersion: "10.3", requiredTier: "free" },
262
+ list_group_labels: { minVersion: "11.8", requiredTier: "free" },
263
+ list_group_variables: { minVersion: "9.5", requiredTier: "free" },
264
+ list_group_runners: { minVersion: "10.1", requiredTier: "free" },
265
+ list_packages: { minVersion: "11.8", requiredTier: "free" },
266
+ get_package: { minVersion: "11.8", requiredTier: "free" },
267
+ publish_package: { minVersion: "11.8", requiredTier: "free" },
268
+ delete_package: { minVersion: "11.8", requiredTier: "free" },
269
+ list_registry_repositories: { minVersion: "8.8", requiredTier: "free" },
270
+ get_registry_repository: { minVersion: "8.8", requiredTier: "free" },
271
+ delete_registry_repository: { minVersion: "8.8", requiredTier: "free" },
272
+ list_registry_tags: { minVersion: "8.8", requiredTier: "free" },
273
+ get_registry_tag: { minVersion: "8.8", requiredTier: "free" },
274
+ delete_registry_tag: { minVersion: "8.8", requiredTier: "free" },
275
+ list_terraform_states: { minVersion: "13.0", requiredTier: "free" },
276
+ get_terraform_state: { minVersion: "13.0", requiredTier: "free" },
277
+ lock_terraform_state: { minVersion: "13.0", requiredTier: "free" },
278
+ unlock_terraform_state: { minVersion: "13.0", requiredTier: "free" },
279
+ delete_terraform_state: { minVersion: "13.0", requiredTier: "free" },
280
+ list_feature_flags: { minVersion: "12.5", requiredTier: "premium" },
281
+ get_feature_flag: { minVersion: "12.5", requiredTier: "premium" },
282
+ create_feature_flag: { minVersion: "12.5", requiredTier: "premium" },
283
+ update_feature_flag: { minVersion: "12.5", requiredTier: "premium" },
284
+ delete_feature_flag: { minVersion: "12.5", requiredTier: "premium" },
285
+ get_users: { minVersion: "8.0", requiredTier: "free" },
286
+ verify_namespace: { minVersion: "9.0", requiredTier: "free" },
287
+ list_project_members: { minVersion: "8.0", requiredTier: "free" },
259
288
  list_group_iterations: {
260
- minVersion: 13.1,
289
+ minVersion: "13.1",
261
290
  requiredTier: "premium",
262
291
  notes: "Iterations/Sprints",
263
292
  },
264
- download_attachment: { minVersion: 10.0, requiredTier: "free" },
265
- list_events: { minVersion: 9.0, requiredTier: "free" },
266
- get_project_events: { minVersion: 9.0, requiredTier: "free" },
267
- create_repository: { minVersion: 8.0, requiredTier: "free" },
268
- fork_repository: { minVersion: 8.0, requiredTier: "free" },
269
- create_note: { minVersion: 8.0, requiredTier: "free" },
270
- create_merge_request_thread: { minVersion: 11.0, requiredTier: "free" },
271
- push_files: { minVersion: 13.0, requiredTier: "free", notes: "Multi-file commit API" },
272
- get_milestone_issue: { minVersion: 9.0, requiredTier: "free" },
273
- get_milestone_merge_requests: { minVersion: 9.0, requiredTier: "free" },
293
+ download_attachment: { minVersion: "10.0", requiredTier: "free" },
294
+ list_events: { minVersion: "9.0", requiredTier: "free" },
295
+ get_project_events: { minVersion: "9.0", requiredTier: "free" },
296
+ create_repository: { minVersion: "8.0", requiredTier: "free" },
297
+ fork_repository: { minVersion: "8.0", requiredTier: "free" },
298
+ create_note: { minVersion: "8.0", requiredTier: "free" },
299
+ create_merge_request_thread: { minVersion: "11.0", requiredTier: "free" },
300
+ push_files: { minVersion: "13.0", requiredTier: "free", notes: "Multi-file commit API" },
301
+ get_milestone_issue: { minVersion: "9.0", requiredTier: "free" },
302
+ get_milestone_merge_requests: { minVersion: "9.0", requiredTier: "free" },
274
303
  get_milestone_burndown_events: {
275
- minVersion: 12.0,
304
+ minVersion: "12.0",
276
305
  requiredTier: "premium",
277
306
  notes: "Burndown charts",
278
307
  },
279
- edit_milestone: { minVersion: 8.0, requiredTier: "free" },
280
- list_variables: { minVersion: 9.0, requiredTier: "free" },
281
- get_variable: { minVersion: 9.0, requiredTier: "free" },
282
- create_variable: { minVersion: 9.0, requiredTier: "free" },
283
- update_variable: { minVersion: 9.0, requiredTier: "free" },
284
- delete_variable: { minVersion: 9.0, requiredTier: "free" },
285
- browse_webhooks: { minVersion: 8.0, requiredTier: "free", notes: "Project webhooks" },
308
+ edit_milestone: { minVersion: "8.0", requiredTier: "free" },
309
+ list_variables: { minVersion: "9.0", requiredTier: "free" },
310
+ get_variable: { minVersion: "9.0", requiredTier: "free" },
311
+ create_variable: { minVersion: "9.0", requiredTier: "free" },
312
+ update_variable: { minVersion: "9.0", requiredTier: "free" },
313
+ delete_variable: { minVersion: "9.0", requiredTier: "free" },
314
+ browse_webhooks: { minVersion: "8.0", requiredTier: "free", notes: "Project webhooks" },
286
315
  manage_webhook: {
287
- minVersion: 8.0,
316
+ minVersion: "8.0",
288
317
  requiredTier: "free",
289
318
  notes: "Project webhooks; group webhooks require Premium",
290
319
  },
291
- get_code_quality_report: { minVersion: 11.4, requiredTier: "free" },
292
- list_environments: { minVersion: 8.11, requiredTier: "free" },
293
- get_environment: { minVersion: 8.11, requiredTier: "free" },
294
- create_environment: { minVersion: 8.11, requiredTier: "free" },
295
- update_environment: { minVersion: 8.11, requiredTier: "free" },
296
- delete_environment: { minVersion: 8.11, requiredTier: "free" },
297
- stop_environment: { minVersion: 8.11, requiredTier: "free" },
298
- list_deploy_tokens: { minVersion: 12.9, requiredTier: "free" },
299
- get_deploy_token: { minVersion: 12.9, requiredTier: "free" },
300
- create_deploy_token: { minVersion: 12.9, requiredTier: "free" },
301
- delete_deploy_token: { minVersion: 12.9, requiredTier: "free" },
302
- revoke_deploy_token: { minVersion: 12.9, requiredTier: "free" },
303
- list_deployments: { minVersion: 8.11, requiredTier: "free" },
304
- get_deployment: { minVersion: 8.11, requiredTier: "free" },
305
- create_deployment: { minVersion: 12.4, requiredTier: "free" },
306
- update_deployment: { minVersion: 12.4, requiredTier: "free" },
307
- list_releases: { minVersion: 11.7, requiredTier: "free" },
308
- get_release: { minVersion: 11.7, requiredTier: "free" },
309
- create_release: { minVersion: 11.7, requiredTier: "free" },
310
- update_release: { minVersion: 11.7, requiredTier: "free" },
311
- delete_release: { minVersion: 11.7, requiredTier: "free" },
312
- list_protected_branches: { minVersion: 9.5, requiredTier: "free" },
313
- get_protected_branch: { minVersion: 9.5, requiredTier: "free" },
314
- protect_repository_branch: { minVersion: 9.5, requiredTier: "free" },
315
- unprotect_repository_branch: { minVersion: 9.5, requiredTier: "free" },
316
- list_protected_tags: { minVersion: 11.3, requiredTier: "free" },
317
- get_protected_tag: { minVersion: 11.3, requiredTier: "free" },
318
- protect_repository_tag: { minVersion: 11.3, requiredTier: "free" },
319
- unprotect_repository_tag: { minVersion: 11.3, requiredTier: "free" },
320
+ get_code_quality_report: { minVersion: "11.4", requiredTier: "free" },
321
+ list_environments: { minVersion: "8.11", requiredTier: "free" },
322
+ get_environment: { minVersion: "8.11", requiredTier: "free" },
323
+ create_environment: { minVersion: "8.11", requiredTier: "free" },
324
+ update_environment: { minVersion: "8.11", requiredTier: "free" },
325
+ delete_environment: { minVersion: "8.11", requiredTier: "free" },
326
+ stop_environment: { minVersion: "8.11", requiredTier: "free" },
327
+ list_deploy_tokens: { minVersion: "12.9", requiredTier: "free" },
328
+ get_deploy_token: { minVersion: "12.9", requiredTier: "free" },
329
+ create_deploy_token: { minVersion: "12.9", requiredTier: "free" },
330
+ delete_deploy_token: { minVersion: "12.9", requiredTier: "free" },
331
+ revoke_deploy_token: { minVersion: "12.9", requiredTier: "free" },
332
+ list_deployments: { minVersion: "8.11", requiredTier: "free" },
333
+ get_deployment: { minVersion: "8.11", requiredTier: "free" },
334
+ create_deployment: { minVersion: "12.4", requiredTier: "free" },
335
+ update_deployment: { minVersion: "12.4", requiredTier: "free" },
336
+ list_releases: { minVersion: "11.7", requiredTier: "free" },
337
+ get_release: { minVersion: "11.7", requiredTier: "free" },
338
+ create_release: { minVersion: "11.7", requiredTier: "free" },
339
+ update_release: { minVersion: "11.7", requiredTier: "free" },
340
+ delete_release: { minVersion: "11.7", requiredTier: "free" },
341
+ list_protected_branches: { minVersion: "9.5", requiredTier: "free" },
342
+ get_protected_branch: { minVersion: "9.5", requiredTier: "free" },
343
+ protect_repository_branch: { minVersion: "9.5", requiredTier: "free" },
344
+ unprotect_repository_branch: { minVersion: "9.5", requiredTier: "free" },
345
+ list_protected_tags: { minVersion: "11.3", requiredTier: "free" },
346
+ get_protected_tag: { minVersion: "11.3", requiredTier: "free" },
347
+ protect_repository_tag: { minVersion: "11.3", requiredTier: "free" },
348
+ unprotect_repository_tag: { minVersion: "11.3", requiredTier: "free" },
320
349
  };
321
350
  static actionRequirements = {
322
351
  browse_projects: {
323
- default: { tier: "free", minVersion: 8.0 },
352
+ default: { tier: "free", minVersion: "8.0" },
324
353
  },
325
354
  browse_namespaces: {
326
- default: { tier: "free", minVersion: 9.0 },
355
+ default: { tier: "free", minVersion: "9.0" },
327
356
  },
328
357
  browse_commits: {
329
- default: { tier: "free", minVersion: 8.0 },
358
+ default: { tier: "free", minVersion: "8.0" },
330
359
  },
331
360
  browse_events: {
332
- default: { tier: "free", minVersion: 9.0 },
361
+ default: { tier: "free", minVersion: "9.0" },
333
362
  },
334
363
  create_branch: {
335
- default: { tier: "free", minVersion: 8.0 },
364
+ default: { tier: "free", minVersion: "8.0" },
336
365
  },
337
366
  create_group: {
338
- default: { tier: "free", minVersion: 8.0 },
367
+ default: { tier: "free", minVersion: "8.0" },
339
368
  },
340
369
  manage_repository: {
341
- default: { tier: "free", minVersion: 8.0 },
370
+ default: { tier: "free", minVersion: "8.0" },
342
371
  },
343
372
  get_users: {
344
- default: { tier: "free", minVersion: 8.0 },
373
+ default: { tier: "free", minVersion: "8.0" },
345
374
  },
346
375
  browse_merge_requests: {
347
- default: { tier: "free", minVersion: 8.0 },
376
+ default: { tier: "free", minVersion: "8.0" },
348
377
  actions: {
349
- approvals: { tier: "premium", minVersion: 10.6, notes: "MR approvals" },
378
+ approvals: { tier: "premium", minVersion: "10.6", notes: "MR approvals" },
350
379
  },
351
380
  },
352
381
  browse_mr_discussions: {
353
- default: { tier: "free", minVersion: 8.0 },
382
+ default: { tier: "free", minVersion: "8.0" },
354
383
  },
355
384
  manage_merge_request: {
356
- default: { tier: "free", minVersion: 8.0 },
385
+ default: { tier: "free", minVersion: "8.0" },
357
386
  actions: {
358
- create: { tier: "free", minVersion: 8.0 },
359
- update: { tier: "free", minVersion: 8.0 },
360
- merge: { tier: "free", minVersion: 8.0 },
361
- approve: { tier: "premium", minVersion: 10.6, notes: "MR approvals" },
362
- unapprove: { tier: "premium", minVersion: 10.6, notes: "MR approvals" },
363
- get_approval_state: { tier: "premium", minVersion: 13.8, notes: "MR approval state" },
387
+ create: { tier: "free", minVersion: "8.0" },
388
+ update: { tier: "free", minVersion: "8.0" },
389
+ merge: { tier: "free", minVersion: "8.0" },
390
+ approve: { tier: "premium", minVersion: "10.6", notes: "MR approvals" },
391
+ unapprove: { tier: "premium", minVersion: "10.6", notes: "MR approvals" },
392
+ get_approval_state: { tier: "premium", minVersion: "13.8", notes: "MR approval state" },
364
393
  },
365
394
  },
366
395
  manage_mr_discussion: {
367
- default: { tier: "free", minVersion: 8.0 },
396
+ default: { tier: "free", minVersion: "8.0" },
368
397
  actions: {
369
- comment: { tier: "free", minVersion: 8.0 },
370
- thread: { tier: "free", minVersion: 11.0 },
371
- reply: { tier: "free", minVersion: 11.0 },
372
- update: { tier: "free", minVersion: 8.0 },
373
- apply_suggestion: { tier: "free", minVersion: 13.0 },
374
- apply_suggestions: { tier: "free", minVersion: 13.0 },
375
- resolve: { tier: "free", minVersion: 10.0, notes: "Resolve discussion threads" },
376
- suggest: { tier: "free", minVersion: 10.5, notes: "Code suggestions" },
398
+ comment: { tier: "free", minVersion: "8.0" },
399
+ thread: { tier: "free", minVersion: "11.0" },
400
+ reply: { tier: "free", minVersion: "11.0" },
401
+ update: { tier: "free", minVersion: "8.0" },
402
+ apply_suggestion: { tier: "free", minVersion: "13.0" },
403
+ apply_suggestions: { tier: "free", minVersion: "13.0" },
404
+ resolve: { tier: "free", minVersion: "10.0", notes: "Resolve discussion threads" },
405
+ suggest: { tier: "free", minVersion: "10.5", notes: "Code suggestions" },
377
406
  },
378
407
  },
379
408
  manage_draft_notes: {
380
- default: { tier: "free", minVersion: 13.2 },
409
+ default: { tier: "free", minVersion: "13.2" },
381
410
  },
382
411
  browse_work_items: {
383
- default: { tier: "free", minVersion: 15.0 },
412
+ default: { tier: "free", minVersion: "15.0" },
384
413
  },
385
414
  manage_work_item: {
386
- default: { tier: "free", minVersion: 15.0 },
415
+ default: { tier: "free", minVersion: "15.0" },
387
416
  },
388
417
  browse_labels: {
389
- default: { tier: "free", minVersion: 8.0 },
418
+ default: { tier: "free", minVersion: "8.0" },
390
419
  },
391
420
  manage_label: {
392
- default: { tier: "free", minVersion: 8.0 },
421
+ default: { tier: "free", minVersion: "8.0" },
393
422
  },
394
423
  browse_wiki: {
395
- default: { tier: "free", minVersion: 9.0 },
424
+ default: { tier: "free", minVersion: "9.0" },
396
425
  },
397
426
  manage_wiki: {
398
- default: { tier: "free", minVersion: 9.0 },
427
+ default: { tier: "free", minVersion: "9.0" },
399
428
  },
400
429
  browse_pipelines: {
401
- default: { tier: "free", minVersion: 9.0 },
430
+ default: { tier: "free", minVersion: "9.0" },
402
431
  },
403
432
  manage_pipeline: {
404
- default: { tier: "free", minVersion: 9.0 },
433
+ default: { tier: "free", minVersion: "9.0" },
405
434
  },
406
435
  manage_pipeline_job: {
407
- default: { tier: "free", minVersion: 9.0 },
436
+ default: { tier: "free", minVersion: "9.0" },
408
437
  },
409
438
  browse_variables: {
410
- default: { tier: "free", minVersion: 9.0 },
439
+ default: { tier: "free", minVersion: "9.0" },
411
440
  },
412
441
  manage_variable: {
413
- default: { tier: "free", minVersion: 9.0 },
442
+ default: { tier: "free", minVersion: "9.0" },
414
443
  },
415
444
  browse_milestones: {
416
- default: { tier: "free", minVersion: 8.0 },
445
+ default: { tier: "free", minVersion: "8.0" },
417
446
  actions: {
418
- burndown: { tier: "premium", minVersion: 12.0, notes: "Burndown charts" },
447
+ burndown: { tier: "premium", minVersion: "12.0", notes: "Burndown charts" },
419
448
  },
420
449
  },
421
450
  manage_milestone: {
422
- default: { tier: "free", minVersion: 8.0 },
451
+ default: { tier: "free", minVersion: "8.0" },
423
452
  },
424
453
  browse_files: {
425
- default: { tier: "free", minVersion: 8.0 },
454
+ default: { tier: "free", minVersion: "8.0" },
426
455
  },
427
456
  manage_files: {
428
- default: { tier: "free", minVersion: 8.0 },
457
+ default: { tier: "free", minVersion: "8.0" },
429
458
  },
430
459
  browse_snippets: {
431
- default: { tier: "free", minVersion: 8.15 },
460
+ default: { tier: "free", minVersion: "8.15" },
432
461
  },
433
462
  manage_snippet: {
434
- default: { tier: "free", minVersion: 8.15 },
463
+ default: { tier: "free", minVersion: "8.15" },
435
464
  },
436
465
  browse_webhooks: {
437
- default: { tier: "free", minVersion: 8.0, notes: "Project webhooks" },
466
+ default: { tier: "free", minVersion: "8.0", notes: "Project webhooks" },
438
467
  },
439
468
  manage_webhook: {
440
- default: { tier: "free", minVersion: 8.0, notes: "Project webhooks" },
469
+ default: { tier: "free", minVersion: "8.0", notes: "Project webhooks" },
441
470
  actions: {
442
- create_group: { tier: "premium", minVersion: 10.4, notes: "Group webhooks" },
443
- update_group: { tier: "premium", minVersion: 10.4, notes: "Group webhooks" },
444
- delete_group: { tier: "premium", minVersion: 10.4, notes: "Group webhooks" },
471
+ create_group: { tier: "premium", minVersion: "10.4", notes: "Group webhooks" },
472
+ update_group: { tier: "premium", minVersion: "10.4", notes: "Group webhooks" },
473
+ delete_group: { tier: "premium", minVersion: "10.4", notes: "Group webhooks" },
445
474
  },
446
475
  },
447
476
  browse_integrations: {
448
- default: { tier: "free", minVersion: 8.0 },
477
+ default: { tier: "free", minVersion: "8.0" },
449
478
  },
450
479
  manage_integration: {
451
- default: { tier: "free", minVersion: 8.0 },
480
+ default: { tier: "free", minVersion: "8.0" },
452
481
  },
453
482
  list_todos: {
454
- default: { tier: "free", minVersion: 8.0 },
483
+ default: { tier: "free", minVersion: "8.0" },
455
484
  },
456
485
  manage_todos: {
457
- default: { tier: "free", minVersion: 8.0 },
486
+ default: { tier: "free", minVersion: "8.0" },
458
487
  },
459
488
  list_project_members: {
460
- default: { tier: "free", minVersion: 8.0 },
489
+ default: { tier: "free", minVersion: "8.0" },
461
490
  },
462
491
  list_group_iterations: {
463
- default: { tier: "premium", minVersion: 13.1, notes: "Iterations/Sprints" },
492
+ default: { tier: "premium", minVersion: "13.1", notes: "Iterations/Sprints" },
464
493
  },
465
494
  download_attachment: {
466
- default: { tier: "free", minVersion: 10.0 },
495
+ default: { tier: "free", minVersion: "10.0" },
467
496
  },
468
497
  browse_releases: {
469
- default: { tier: "free", minVersion: 11.7 },
498
+ default: { tier: "free", minVersion: "11.7" },
470
499
  },
471
500
  manage_release: {
472
- default: { tier: "free", minVersion: 11.7 },
501
+ default: { tier: "free", minVersion: "11.7" },
473
502
  },
474
503
  browse_refs: {
475
- default: { tier: "free", minVersion: 8.0 },
504
+ default: { tier: "free", minVersion: "8.0" },
476
505
  actions: {
477
- list_branches: { tier: "free", minVersion: 8.0 },
478
- get_branch: { tier: "free", minVersion: 8.0 },
479
- list_tags: { tier: "free", minVersion: 8.0 },
480
- get_tag: { tier: "free", minVersion: 8.0 },
481
- list_protected_branches: { tier: "free", minVersion: 8.11 },
482
- get_protected_branch: { tier: "free", minVersion: 8.11 },
483
- list_protected_tags: { tier: "premium", minVersion: 11.3, notes: "Protected tags" },
506
+ list_branches: { tier: "free", minVersion: "8.0" },
507
+ get_branch: { tier: "free", minVersion: "8.0" },
508
+ list_tags: { tier: "free", minVersion: "8.0" },
509
+ get_tag: { tier: "free", minVersion: "8.0" },
510
+ list_protected_branches: { tier: "free", minVersion: "8.11" },
511
+ get_protected_branch: { tier: "free", minVersion: "8.11" },
512
+ list_protected_tags: { tier: "premium", minVersion: "11.3", notes: "Protected tags" },
484
513
  },
485
514
  },
486
515
  manage_ref: {
487
- default: { tier: "free", minVersion: 8.0 },
516
+ default: { tier: "free", minVersion: "8.0" },
488
517
  actions: {
489
- create_branch: { tier: "free", minVersion: 8.0 },
490
- delete_branch: { tier: "free", minVersion: 8.0 },
491
- protect_branch: { tier: "free", minVersion: 8.11 },
492
- unprotect_branch: { tier: "free", minVersion: 8.11 },
518
+ create_branch: { tier: "free", minVersion: "8.0" },
519
+ delete_branch: { tier: "free", minVersion: "8.0" },
520
+ protect_branch: { tier: "free", minVersion: "8.11" },
521
+ unprotect_branch: { tier: "free", minVersion: "8.11" },
493
522
  update_branch_protection: {
494
523
  tier: "free",
495
- minVersion: 11.9,
524
+ minVersion: "11.9",
496
525
  notes: "PATCH endpoint; code owners require Premium",
497
526
  },
498
- create_tag: { tier: "free", minVersion: 8.0 },
499
- delete_tag: { tier: "free", minVersion: 8.0 },
500
- protect_tag: { tier: "premium", minVersion: 11.3, notes: "Protected tags" },
501
- unprotect_tag: { tier: "premium", minVersion: 11.3, notes: "Protected tags" },
527
+ create_tag: { tier: "free", minVersion: "8.0" },
528
+ delete_tag: { tier: "free", minVersion: "8.0" },
529
+ protect_tag: { tier: "premium", minVersion: "11.3", notes: "Protected tags" },
530
+ unprotect_tag: { tier: "premium", minVersion: "11.3", notes: "Protected tags" },
502
531
  },
503
532
  },
504
533
  browse_members: {
505
- default: { tier: "free", minVersion: 8.0 },
534
+ default: { tier: "free", minVersion: "8.0" },
506
535
  actions: {
507
- list_project: { tier: "free", minVersion: 8.0 },
508
- list_group: { tier: "free", minVersion: 8.0 },
509
- get_project: { tier: "free", minVersion: 8.0 },
510
- get_group: { tier: "free", minVersion: 8.0 },
511
- list_all_project: { tier: "free", minVersion: 12.4, notes: "Includes inherited members" },
512
- list_all_group: { tier: "free", minVersion: 12.4, notes: "Includes inherited members" },
536
+ list_project: { tier: "free", minVersion: "8.0" },
537
+ list_group: { tier: "free", minVersion: "8.0" },
538
+ get_project: { tier: "free", minVersion: "8.0" },
539
+ get_group: { tier: "free", minVersion: "8.0" },
540
+ list_all_project: { tier: "free", minVersion: "12.4", notes: "Includes inherited members" },
541
+ list_all_group: { tier: "free", minVersion: "12.4", notes: "Includes inherited members" },
513
542
  },
514
543
  },
515
544
  manage_member: {
516
- default: { tier: "free", minVersion: 8.0 },
545
+ default: { tier: "free", minVersion: "8.0" },
517
546
  actions: {
518
- add_to_project: { tier: "free", minVersion: 8.0 },
519
- add_to_group: { tier: "free", minVersion: 8.0 },
520
- remove_from_project: { tier: "free", minVersion: 8.0 },
521
- remove_from_group: { tier: "free", minVersion: 8.0 },
522
- update_project: { tier: "free", minVersion: 8.0 },
523
- update_group: { tier: "free", minVersion: 8.0, notes: "member_role_id requires Ultimate" },
547
+ add_to_project: { tier: "free", minVersion: "8.0" },
548
+ add_to_group: { tier: "free", minVersion: "8.0" },
549
+ remove_from_project: { tier: "free", minVersion: "8.0" },
550
+ remove_from_group: { tier: "free", minVersion: "8.0" },
551
+ update_project: { tier: "free", minVersion: "8.0" },
552
+ update_group: {
553
+ tier: "free",
554
+ minVersion: "8.0",
555
+ notes: "member_role_id requires Ultimate",
556
+ },
524
557
  },
525
558
  },
526
559
  browse_search: {
527
- default: { tier: "free", minVersion: 8.0 },
560
+ default: { tier: "free", minVersion: "8.0" },
528
561
  actions: {
529
- global: { tier: "free", minVersion: 8.0, notes: "Global search across GitLab instance" },
530
- project: { tier: "free", minVersion: 8.0, notes: "Project-scoped search" },
531
- group: { tier: "free", minVersion: 10.5, notes: "Group-scoped search" },
562
+ global: { tier: "free", minVersion: "8.0", notes: "Global search across GitLab instance" },
563
+ project: { tier: "free", minVersion: "8.0", notes: "Project-scoped search" },
564
+ group: { tier: "free", minVersion: "10.5", notes: "Group-scoped search" },
532
565
  },
533
566
  },
534
567
  };
@@ -576,8 +609,8 @@ class ToolAvailability {
576
609
  const instanceInfo = connectionManager.getInstanceInfo();
577
610
  const actionReq = this.getActionRequirement(toolName, action);
578
611
  if (actionReq) {
579
- const version = this.parseVersion(instanceInfo.version);
580
- if (version < actionReq.minVersion) {
612
+ const version = (0, version_1.parseVersion)(instanceInfo.version);
613
+ if (version < (0, version_1.parseVersion)(actionReq.minVersion)) {
581
614
  return false;
582
615
  }
583
616
  return this.isTierSufficient(instanceInfo.tier, actionReq.tier);
@@ -585,10 +618,10 @@ class ToolAvailability {
585
618
  const requirement = this.toolRequirements[toolName];
586
619
  if (!requirement) {
587
620
  logger_1.logger.debug(`Tool '${toolName}' not found in requirements database`);
588
- return this.parseVersion(instanceInfo.version) >= 15.0;
621
+ return (0, version_1.parseVersion)(instanceInfo.version) >= (0, version_1.parseVersion)("15.0");
589
622
  }
590
- const version = this.parseVersion(instanceInfo.version);
591
- if (version < requirement.minVersion) {
623
+ const version = (0, version_1.parseVersion)(instanceInfo.version);
624
+ if (version < (0, version_1.parseVersion)(requirement.minVersion)) {
592
625
  return false;
593
626
  }
594
627
  return this.isTierSufficient(instanceInfo.tier, requirement.requiredTier);
@@ -629,8 +662,8 @@ class ToolAvailability {
629
662
  if (!requirement) {
630
663
  return `Tool '${toolName}' is not recognized`;
631
664
  }
632
- const version = this.parseVersion(instanceInfo.version);
633
- if (version < requirement.minVersion) {
665
+ const version = (0, version_1.parseVersion)(instanceInfo.version);
666
+ if (version < (0, version_1.parseVersion)(requirement.minVersion)) {
634
667
  return `Requires GitLab ${requirement.minVersion}+, current version is ${instanceInfo.version}`;
635
668
  }
636
669
  if (!this.isTierSufficient(instanceInfo.tier, requirement.requiredTier)) {
@@ -642,16 +675,6 @@ class ToolAvailability {
642
675
  return "GitLab connection not initialized";
643
676
  }
644
677
  }
645
- static parseVersion(version) {
646
- if (version === "unknown")
647
- return 0;
648
- const match = version.match(/^(\d+)\.(\d+)/);
649
- if (!match)
650
- return 0;
651
- const major = parseInt(match[1], 10);
652
- const minor = parseInt(match[2], 10);
653
- return major + minor / 100;
654
- }
655
678
  static isTierSufficient(actualTier, requiredTier) {
656
679
  const tierHierarchy = {
657
680
  free: 0,
@@ -671,8 +694,9 @@ class ToolAvailability {
671
694
  .map(([toolName]) => toolName);
672
695
  }
673
696
  static getToolsByMinVersion(minVersion) {
697
+ const minVer = (0, version_1.parseVersion)(minVersion);
674
698
  return Object.entries(this.toolRequirements)
675
- .filter(([, requirement]) => requirement.minVersion >= minVersion)
699
+ .filter(([, requirement]) => (0, version_1.parseVersion)(requirement.minVersion) >= minVer)
676
700
  .map(([toolName]) => toolName);
677
701
  }
678
702
  }