gitlab-auto-reviewers 2.0.0 → 2.1.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.
Files changed (98) hide show
  1. package/LICENSE +1 -1
  2. package/README.md +20 -10
  3. package/dist/bin/cli.js +155 -85
  4. package/dist/bin/cli.js.map +1 -1
  5. package/dist/bin/index.d.ts +1 -8
  6. package/dist/bin/index.d.ts.map +1 -1
  7. package/dist/bin/index.js +26 -9
  8. package/dist/bin/index.js.map +1 -1
  9. package/dist/bin/mcp.js +0 -0
  10. package/dist/cli/cicd-integration.d.ts +127 -0
  11. package/dist/cli/cicd-integration.d.ts.map +1 -0
  12. package/dist/cli/cicd-integration.js +385 -0
  13. package/dist/cli/cicd-integration.js.map +1 -0
  14. package/dist/cli/commands.d.ts +21 -4
  15. package/dist/cli/commands.d.ts.map +1 -1
  16. package/dist/cli/commands.js +417 -71
  17. package/dist/cli/commands.js.map +1 -1
  18. package/dist/cli/config.d.ts +145 -0
  19. package/dist/cli/config.d.ts.map +1 -0
  20. package/dist/cli/config.js +277 -0
  21. package/dist/cli/config.js.map +1 -0
  22. package/dist/cli/consistency-validator.d.ts +175 -0
  23. package/dist/cli/consistency-validator.d.ts.map +1 -0
  24. package/dist/cli/consistency-validator.js +599 -0
  25. package/dist/cli/consistency-validator.js.map +1 -0
  26. package/dist/cli/data-source-consistency.d.ts +105 -0
  27. package/dist/cli/data-source-consistency.d.ts.map +1 -0
  28. package/dist/cli/data-source-consistency.js +271 -0
  29. package/dist/cli/data-source-consistency.js.map +1 -0
  30. package/dist/cli/data-source-selector.d.ts +103 -0
  31. package/dist/cli/data-source-selector.d.ts.map +1 -0
  32. package/dist/cli/data-source-selector.js +242 -0
  33. package/dist/cli/data-source-selector.js.map +1 -0
  34. package/dist/cli/enhanced-cli.d.ts +104 -0
  35. package/dist/cli/enhanced-cli.d.ts.map +1 -0
  36. package/dist/cli/enhanced-cli.js +321 -0
  37. package/dist/cli/enhanced-cli.js.map +1 -0
  38. package/dist/cli/enhanced-data-source-resolver.d.ts +67 -0
  39. package/dist/cli/enhanced-data-source-resolver.d.ts.map +1 -0
  40. package/dist/cli/enhanced-data-source-resolver.js +249 -0
  41. package/dist/cli/enhanced-data-source-resolver.js.map +1 -0
  42. package/dist/cli/enhanced-parameter-resolver.d.ts +111 -0
  43. package/dist/cli/enhanced-parameter-resolver.d.ts.map +1 -0
  44. package/dist/cli/enhanced-parameter-resolver.js +233 -0
  45. package/dist/cli/enhanced-parameter-resolver.js.map +1 -0
  46. package/dist/cli/errors.d.ts +105 -0
  47. package/dist/cli/errors.d.ts.map +1 -0
  48. package/dist/cli/errors.js +577 -0
  49. package/dist/cli/errors.js.map +1 -0
  50. package/dist/cli/output.d.ts +43 -3
  51. package/dist/cli/output.d.ts.map +1 -1
  52. package/dist/cli/output.js +157 -30
  53. package/dist/cli/output.js.map +1 -1
  54. package/dist/cli/parameter-source-tracker.d.ts +169 -0
  55. package/dist/cli/parameter-source-tracker.d.ts.map +1 -0
  56. package/dist/cli/parameter-source-tracker.js +252 -0
  57. package/dist/cli/parameter-source-tracker.js.map +1 -0
  58. package/dist/cli/template-engine.d.ts +109 -0
  59. package/dist/cli/template-engine.d.ts.map +1 -0
  60. package/dist/cli/template-engine.js +220 -0
  61. package/dist/cli/template-engine.js.map +1 -0
  62. package/dist/config/config.service.d.ts +24 -2
  63. package/dist/config/config.service.d.ts.map +1 -1
  64. package/dist/config/config.service.js +39 -6
  65. package/dist/config/config.service.js.map +1 -1
  66. package/dist/datasources/local-git-data-source.d.ts +39 -0
  67. package/dist/datasources/local-git-data-source.d.ts.map +1 -1
  68. package/dist/datasources/local-git-data-source.js +121 -1
  69. package/dist/datasources/local-git-data-source.js.map +1 -1
  70. package/dist/enhanced-config.js +26 -0
  71. package/dist/index.js +0 -0
  72. package/dist/mcp/server.js +2 -2
  73. package/dist/mcp/server.js.map +1 -1
  74. package/dist/services/blacklist.service.d.ts +11 -5
  75. package/dist/services/blacklist.service.d.ts.map +1 -1
  76. package/dist/services/blacklist.service.js +28 -7
  77. package/dist/services/blacklist.service.js.map +1 -1
  78. package/dist/services/reviewer-service.d.ts +24 -0
  79. package/dist/services/reviewer-service.d.ts.map +1 -1
  80. package/dist/services/reviewer-service.js +177 -7
  81. package/dist/services/reviewer-service.js.map +1 -1
  82. package/dist/services/whitelist.service.js +1 -1
  83. package/dist/services/whitelist.service.js.map +1 -1
  84. package/dist/types/enhanced-config.d.ts +121 -0
  85. package/dist/types/enhanced-config.d.ts.map +1 -0
  86. package/dist/types/enhanced-config.js +27 -0
  87. package/dist/types/enhanced-config.js.map +1 -0
  88. package/dist/types.d.ts +28 -0
  89. package/dist/types.d.ts.map +1 -1
  90. package/package.json +11 -11
  91. package/dist/bin/deprecated-mcp.d.ts +0 -12
  92. package/dist/bin/deprecated-mcp.d.ts.map +0 -1
  93. package/dist/bin/deprecated-mcp.js +0 -73
  94. package/dist/bin/deprecated-mcp.js.map +0 -1
  95. package/dist/tools.d.ts +0 -22
  96. package/dist/tools.d.ts.map +0 -1
  97. package/dist/tools.js +0 -176
  98. package/dist/tools.js.map +0 -1
@@ -92,12 +92,36 @@ export declare class ReviewerService {
92
92
  * Suggests reviewers and posts the suggestion comment to the merge request.
93
93
  *
94
94
  * Combines suggestReviewers() and postComment() into a single operation.
95
+ * If no reviewers can be suggested, posts a friendly "No additional reviewers to suggest" message.
95
96
  *
96
97
  * @param params - Parameters including project, MR IID or branch
97
98
  * @returns Reviewer suggestions with formatted comment (same as suggestReviewers)
98
99
  * @throws Error if project/MR cannot be resolved or comment posting fails
99
100
  */
100
101
  inviteReviewers(params: InviteReviewersParams): Promise<AutoReviewerResult>;
102
+ /**
103
+ * CLI-specific reviewer invitation with enhanced options
104
+ *
105
+ * Provides CLI-specific functionality including dry-run mode and custom templates.
106
+ * Handles both analysis-only and comment posting modes.
107
+ * If no reviewers can be suggested, posts a friendly "No additional reviewers to suggest" message.
108
+ *
109
+ * @param params - CLI-specific parameters including dry-run mode
110
+ * @returns Reviewer suggestions with formatted comment
111
+ * @throws Error if project/MR cannot be resolved or validation fails
112
+ */
113
+ inviteReviewersCLI(params: import("../types.js").CLIInviteParams): Promise<AutoReviewerResult>;
114
+ /**
115
+ * Validate GitLab permissions before attempting operations
116
+ *
117
+ * Checks if the provided token has sufficient permissions to post comments
118
+ * to the specified merge request.
119
+ *
120
+ * @param params - Validation parameters including project, MR, and token
121
+ * @returns Promise resolving to true if permissions are valid
122
+ * @throws Error if permissions are insufficient or validation fails
123
+ */
124
+ validatePermissions(params: import("../types.js").ValidationParams): Promise<boolean>;
101
125
  /**
102
126
  * Helper method to fetch data with optional caching
103
127
  * If cache is not available, directly executes the operation
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer-service.d.ts","sourceRoot":"","sources":["../../src/services/reviewer-service.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EAEZ,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;;GASG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAC,CAAe;IAE7B;;;;;;;;OAQG;gBAED,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,YAAY;IAkBtB;;;;;;;;;;;;;;OAcG;IACG,gBAAgB,CACpB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC;IAsM9B;;;;;;;;;;OAUG;IACG,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC;QACvE,YAAY,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAChC,YAAY,EAAE,WAAW,EAAE,CAAC;KAC7B,CAAC;IAuDF;;;;;;;;OAQG;IACG,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC;QACjE,SAAS,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzD,CAAC;IAqCF;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAkDnF;;;;;;;;OAQG;IACG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAkBjF;;;OAGG;YACW,cAAc;IAW5B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA4DlC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmEjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAmEjC"}
1
+ {"version":3,"file":"reviewer-service.d.ts","sourceRoot":"","sources":["../../src/services/reviewer-service.ts"],"names":[],"mappings":"AAIA,OAAO,EACL,kBAAkB,EAClB,kBAAkB,EAClB,yBAAyB,EACzB,sBAAsB,EACtB,iBAAiB,EACjB,qBAAqB,EACrB,WAAW,EAEZ,MAAM,aAAa,CAAC;AAQrB,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;;;;;;;;GASG;AACH,qBAAa,eAAe;IAC1B,OAAO,CAAC,UAAU,CAAgB;IAClC,OAAO,CAAC,mBAAmB,CAAsB;IACjD,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,gBAAgB,CAAmB;IAC3C,OAAO,CAAC,iBAAiB,CAAoB;IAC7C,OAAO,CAAC,kBAAkB,CAAqB;IAC/C,OAAO,CAAC,qBAAqB,CAAwB;IACrD,OAAO,CAAC,MAAM,CAAS;IACvB,OAAO,CAAC,KAAK,CAAC,CAAe;IAE7B;;;;;;;;OAQG;gBAED,SAAS,EAAE,MAAM,EACjB,KAAK,EAAE,MAAM,EACb,QAAQ,CAAC,EAAE,MAAM,EACjB,MAAM,CAAC,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,YAAY;IAkBtB;;;;;;;;;;;;;;OAcG;IACG,gBAAgB,CACpB,MAAM,EAAE,kBAAkB,GACzB,OAAO,CAAC,kBAAkB,CAAC;IA4O9B;;;;;;;;;;OAUG;IACG,sBAAsB,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC;QACvE,YAAY,EAAE,CAAC,MAAM,GAAG,IAAI,CAAC,EAAE,CAAC;QAChC,YAAY,EAAE,WAAW,EAAE,CAAC;KAC7B,CAAC;IAuDF;;;;;;;;OAQG;IACG,mBAAmB,CAAC,MAAM,EAAE,sBAAsB,GAAG,OAAO,CAAC;QACjE,SAAS,EAAE,KAAK,CAAC;YAAE,QAAQ,EAAE,MAAM,CAAC;YAAC,OAAO,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACzD,CAAC;IAqCF;;;;;;OAMG;IACG,WAAW,CAAC,MAAM,EAAE,iBAAiB,GAAG,OAAO,CAAC;QAAE,EAAE,EAAE,MAAM,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC;IAkDnF;;;;;;;;;OASG;IACG,eAAe,CAAC,MAAM,EAAE,qBAAqB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAwCjF;;;;;;;;;;OAUG;IACG,kBAAkB,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,eAAe,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAoEpG;;;;;;;;;OASG;IACG,mBAAmB,CAAC,MAAM,EAAE,OAAO,aAAa,EAAE,gBAAgB,GAAG,OAAO,CAAC,OAAO,CAAC;IAsC3F;;;OAGG;YACW,cAAc;IAW5B;;;;OAIG;IACH,OAAO,CAAC,aAAa;IA0BrB;;OAEG;IACH,OAAO,CAAC,0BAA0B;IA4DlC;;OAEG;IACH,OAAO,CAAC,yBAAyB;IAmEjC;;OAEG;IACH,OAAO,CAAC,wBAAwB;CAuEjC"}
@@ -46,7 +46,7 @@ export class ReviewerService {
46
46
  : new GitLabAPIDataSource(gitlabApi, this.logger.child('GitLabAPIDataSource'));
47
47
  this.contributorsService = new ContributorsService(this.dataSource);
48
48
  this.whitelistService = new WhitelistService(this.dataSource);
49
- this.blacklistService = new BlacklistService(this.dataSource);
49
+ this.blacklistService = new BlacklistService(this.dataSource, this.logger.child('BlacklistService'));
50
50
  this.codeOwnersService = new CodeOwnersService(this.dataSource);
51
51
  this.teamMembersService = new TeamMembersService();
52
52
  this.commentBuilderService = new CommentBuilderService(gitlabUrl);
@@ -108,8 +108,10 @@ export class ReviewerService {
108
108
  const author = mergeRequest.author.username.toLowerCase();
109
109
  const base = mergeRequest.diff_refs.base_sha;
110
110
  const head = mergeRequest.diff_refs.head_sha;
111
+ // Extract current reviewers to exclude from suggestions
112
+ const currentReviewers = mergeRequest.reviewers?.map(r => r.username) || [];
111
113
  // Parallelize independent data fetches with partial failure handling
112
- this.logger.info('Fetching data in parallel', { project, mr, headSha: head });
114
+ this.logger.info('Fetching data in parallel', { project, mr, headSha: head, currentReviewers: currentReviewers.length });
113
115
  const parallelTimer = this.logger.startTimer('parallel data fetch');
114
116
  const [diffsResult, mergeRequestsResult, codeOwnerRulesResult, whitelistResult] = await Promise.allSettled([
115
117
  this.fetchWithCache(`diffs:${project}:${mr}`, () => this.dataSource.getDiffs(project, mr)),
@@ -126,7 +128,7 @@ export class ReviewerService {
126
128
  // Parallelize contributor and blacklist fetches with partial failure handling
127
129
  const [contributorsResult, blacklistResult] = await Promise.allSettled([
128
130
  this.fetchWithCache(`contributors:${project}:${mr}:${base}`, () => this.contributorsService.getContributors(project, mr, base, whitelist)),
129
- this.fetchWithCache(`blacklist:${project}:${mr}:${author}`, () => this.blacklistService.getBlackList(project, mr, author)),
131
+ this.fetchWithCache(`blacklist:${project}:${mr}:${author}:${currentReviewers.join(',')}`, () => this.blacklistService.getBlackList(project, mr, author, currentReviewers)),
130
132
  ]);
131
133
  const contributors = this.extractResult(contributorsResult, 'contributors', []);
132
134
  const blacklist = this.extractResult(blacklistResult, 'blacklist', []);
@@ -149,7 +151,20 @@ export class ReviewerService {
149
151
  .filter(({ teams }) => teams?.some((t) => t.name === team))
150
152
  .map(({ username }) => username),
151
153
  }));
154
+ // Filter team members: skip entire team if any team member is already a reviewer
152
155
  const filteredTeamMembers = teamMembers
156
+ .filter(({ members }) => {
157
+ // Check if any team member is already a current reviewer
158
+ const hasExistingReviewer = members.some(member => currentReviewers.map(r => r.toLowerCase()).includes(member.toLowerCase()));
159
+ if (hasExistingReviewer) {
160
+ this.logger.debug('Skipping team - already has reviewer assigned', {
161
+ team: members,
162
+ reason: 'Team member already assigned as reviewer',
163
+ });
164
+ return false;
165
+ }
166
+ return true;
167
+ })
153
168
  .map(({ team, members }) => ({
154
169
  team,
155
170
  members: members.filter((member) => member !== null && !blacklist.includes(member)),
@@ -157,7 +172,24 @@ export class ReviewerService {
157
172
  .filter(({ members }) => members.length > 0);
158
173
  const teamMemberReviewers = this.teamMembersService.applyTeamLoadBalancing(filteredTeamMembers, whitelist, reviewerWorkload);
159
174
  const codeOwnerMatches = this.codeOwnersService.matchCodeOwners(changedFiles, codeOwnerRules);
175
+ // Filter code owners: skip section if required approvals already met by current reviewers
176
+ const normalizedCurrentReviewers = currentReviewers.map(r => r.toLowerCase());
160
177
  const filteredCodeOwners = codeOwnerMatches
178
+ .filter((group) => {
179
+ // Check how many current reviewers are code owners for this section
180
+ const currentReviewersInSection = group.owners.filter(owner => normalizedCurrentReviewers.includes(owner.toLowerCase())).length;
181
+ const requiredApprovals = group.approvals || 1;
182
+ if (currentReviewersInSection >= requiredApprovals) {
183
+ this.logger.debug('Skipping code owner section - approvals already met', {
184
+ section: group.sectionName,
185
+ currentReviewersInSection,
186
+ requiredApprovals,
187
+ reason: 'Required approvals already assigned',
188
+ });
189
+ return false;
190
+ }
191
+ return true;
192
+ })
161
193
  .map((group) => ({
162
194
  ...group,
163
195
  owners: group.owners.filter((owner) => !blacklist.includes(owner)),
@@ -328,6 +360,7 @@ export class ReviewerService {
328
360
  * Suggests reviewers and posts the suggestion comment to the merge request.
329
361
  *
330
362
  * Combines suggestReviewers() and postComment() into a single operation.
363
+ * If no reviewers can be suggested, posts a friendly "No additional reviewers to suggest" message.
331
364
  *
332
365
  * @param params - Parameters including project, MR IID or branch
333
366
  * @returns Reviewer suggestions with formatted comment (same as suggestReviewers)
@@ -337,12 +370,149 @@ export class ReviewerService {
337
370
  const endTimer = this.logger.startTimer('inviteReviewers');
338
371
  try {
339
372
  const result = await this.suggestReviewers(params);
340
- await this.postComment({ ...params, comment: result.comment });
341
- this.logger.info('Reviewers invited successfully', {
342
- project: params.project ? String(params.project) : undefined,
373
+ // Check if there are any new suggestions to post
374
+ const hasNewSuggestions = result.comment.trim().length > 0;
375
+ if (hasNewSuggestions) {
376
+ await this.postComment({ ...params, comment: result.comment });
377
+ this.logger.info('Reviewers invited successfully', {
378
+ project: params.project ? String(params.project) : undefined,
379
+ mr: params.mergeRequestIid,
380
+ });
381
+ }
382
+ else {
383
+ // Post friendly message when no suggestions available
384
+ const noSuggestionsMessage = '✅ **No additional reviewers to suggest**\n\nAll potential reviewers are already assigned to this merge request.';
385
+ await this.postComment({ ...params, comment: noSuggestionsMessage });
386
+ // Update result with the posted message
387
+ result.comment = noSuggestionsMessage;
388
+ this.logger.info('No new reviewer suggestions - posted friendly message', {
389
+ project: params.project ? String(params.project) : undefined,
390
+ mr: params.mergeRequestIid,
391
+ reason: 'All potential reviewers are already assigned or blacklisted',
392
+ contributorCount: result.contributors.length,
393
+ teamMemberCount: result.teamMembers.length,
394
+ codeOwnerCount: result.codeOwners.length,
395
+ });
396
+ }
397
+ return result;
398
+ }
399
+ finally {
400
+ endTimer();
401
+ }
402
+ }
403
+ /**
404
+ * CLI-specific reviewer invitation with enhanced options
405
+ *
406
+ * Provides CLI-specific functionality including dry-run mode and custom templates.
407
+ * Handles both analysis-only and comment posting modes.
408
+ * If no reviewers can be suggested, posts a friendly "No additional reviewers to suggest" message.
409
+ *
410
+ * @param params - CLI-specific parameters including dry-run mode
411
+ * @returns Reviewer suggestions with formatted comment
412
+ * @throws Error if project/MR cannot be resolved or validation fails
413
+ */
414
+ async inviteReviewersCLI(params) {
415
+ const endTimer = this.logger.startTimer('inviteReviewersCLI');
416
+ try {
417
+ // Validate permissions if not in dry-run mode
418
+ if (!params.dryRun && params.project && params.mergeRequestIid && params.gitlabToken && params.gitlabUrl) {
419
+ await this.validatePermissions({
420
+ project: params.project,
421
+ mergeRequestIid: params.mergeRequestIid,
422
+ gitlabToken: params.gitlabToken,
423
+ gitlabUrl: params.gitlabUrl,
424
+ });
425
+ }
426
+ // Get reviewer suggestions
427
+ let result = await this.suggestReviewers(params);
428
+ // Check if there are any new suggestions to post
429
+ const hasNewSuggestions = result.comment.trim().length > 0;
430
+ // Post comment if not in dry-run mode
431
+ if (!params.dryRun) {
432
+ if (hasNewSuggestions) {
433
+ await this.postComment({ ...params, comment: result.comment });
434
+ this.logger.info('CLI reviewer invitation completed', {
435
+ project: params.project ? String(params.project) : undefined,
436
+ mr: params.mergeRequestIid,
437
+ dryRun: false,
438
+ });
439
+ }
440
+ else {
441
+ // Post friendly message when no suggestions available
442
+ const noSuggestionsMessage = '✅ **No additional reviewers to suggest**\n\nAll potential reviewers are already assigned to this merge request.';
443
+ await this.postComment({ ...params, comment: noSuggestionsMessage });
444
+ // Update result with the posted message
445
+ result.comment = noSuggestionsMessage;
446
+ this.logger.info('CLI reviewer invitation completed - no new suggestions, posted friendly message', {
447
+ project: params.project ? String(params.project) : undefined,
448
+ mr: params.mergeRequestIid,
449
+ dryRun: false,
450
+ reason: 'All potential reviewers are already assigned or blacklisted',
451
+ });
452
+ }
453
+ }
454
+ else {
455
+ if (hasNewSuggestions) {
456
+ this.logger.info('CLI dry-run analysis completed', {
457
+ project: params.project ? String(params.project) : undefined,
458
+ mr: params.mergeRequestIid,
459
+ dryRun: true,
460
+ });
461
+ }
462
+ else {
463
+ this.logger.info('CLI dry-run analysis completed - no new suggestions', {
464
+ project: params.project ? String(params.project) : undefined,
465
+ mr: params.mergeRequestIid,
466
+ dryRun: true,
467
+ reason: 'All reviewer categories already have assigned reviewers',
468
+ });
469
+ }
470
+ }
471
+ return result;
472
+ }
473
+ finally {
474
+ endTimer();
475
+ }
476
+ }
477
+ /**
478
+ * Validate GitLab permissions before attempting operations
479
+ *
480
+ * Checks if the provided token has sufficient permissions to post comments
481
+ * to the specified merge request.
482
+ *
483
+ * @param params - Validation parameters including project, MR, and token
484
+ * @returns Promise resolving to true if permissions are valid
485
+ * @throws Error if permissions are insufficient or validation fails
486
+ */
487
+ async validatePermissions(params) {
488
+ const endTimer = this.logger.startTimer('validatePermissions');
489
+ try {
490
+ // Try to get the merge request to validate access
491
+ const project = String(params.project);
492
+ const mr = await this.dataSource.getMergeRequest(project, params.mergeRequestIid);
493
+ if (!mr) {
494
+ throw new Error(`Merge request ${params.mergeRequestIid} not found in project ${project}`);
495
+ }
496
+ // Try to get existing notes to validate comment permissions
497
+ await this.dataSource.getNotes(project, params.mergeRequestIid);
498
+ this.logger.debug('Permissions validated successfully', {
499
+ project,
343
500
  mr: params.mergeRequestIid,
344
501
  });
345
- return result;
502
+ return true;
503
+ }
504
+ catch (error) {
505
+ const errorMessage = error instanceof Error ? error.message : String(error);
506
+ if (errorMessage.includes('401')) {
507
+ throw new Error('Authentication failed. Please check your GitLab token.');
508
+ }
509
+ else if (errorMessage.includes('403')) {
510
+ throw new Error('Insufficient permissions. Ensure your token has "api" scope and you have Developer access to the project.');
511
+ }
512
+ else if (errorMessage.includes('404')) {
513
+ throw new Error(`Merge request ${params.mergeRequestIid} not found in project ${params.project}. Verify the MR ID and project access.`);
514
+ }
515
+ throw error;
346
516
  }
347
517
  finally {
348
518
  endTimer();
@@ -1 +1 @@
1
- {"version":3,"file":"reviewer-service.js","sourceRoot":"","sources":["../../src/services/reviewer-service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"reviewer-service.js","sourceRoot":"","sources":["../../src/services/reviewer-service.ts"],"names":[],"mappings":"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"}
@@ -41,7 +41,7 @@ export class WhitelistService {
41
41
  return whitelist
42
42
  .filter((contributor) => projectContributors.includes(contributor.email.toLowerCase()))
43
43
  .map((contributor) => ({
44
- username: contributor.username?.toLowerCase() || contributor.email.replace(/@.*/g, ""),
44
+ username: contributor.username?.toLowerCase() || contributor.email.replace(/@.*/g, "").toLowerCase(),
45
45
  email: contributor.email.toLowerCase(),
46
46
  teams: contributor.teams,
47
47
  fte: contributor.fte,
@@ -1 +1 @@
1
- {"version":3,"file":"whitelist.service.js","sourceRoot":"","sources":["../../src/services/whitelist.service.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAMP;IALpB;;;;OAIG;IACH,YAAoB,UAAyB;QAAzB,eAAU,GAAV,UAAU,CAAe;IAAG,CAAC;IAEjD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,SAAiB;QACnD,MAAM,mBAAmB,GAAG,CAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CACjE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAWtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC5C,OAAO,EACP,SAAS,EACT,cAAc,CACf,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,EAAE,YAAY,CAAC;QAErC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,6DAA6D;YAC7D,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnC,KAAK;aACN,CAAC,CAAC,CAAC;QACN,CAAC;QAED,8CAA8C;QAC9C,OAAO,SAAS;aACb,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CACtB,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC9D;aACA,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACrB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;YACtF,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE;YACtC,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,GAAG,EAAE,WAAW,CAAC,GAAG;SACrB,CAAC,CAAC,CAAC;IACR,CAAC;CACF"}
1
+ {"version":3,"file":"whitelist.service.js","sourceRoot":"","sources":["../../src/services/whitelist.service.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAMP;IALpB;;;;OAIG;IACH,YAAoB,UAAyB;QAAzB,eAAU,GAAV,UAAU,CAAe;IAAG,CAAC;IAEjD;;;;;;;;;;OAUG;IACH,KAAK,CAAC,YAAY,CAAC,OAAe,EAAE,SAAiB;QACnD,MAAM,mBAAmB,GAAG,CAC1B,MAAM,IAAI,CAAC,UAAU,CAAC,sBAAsB,CAAC,OAAO,EAAE,SAAS,CAAC,CACjE,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC;QAWtC,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,WAAW,CAC5C,OAAO,EACP,SAAS,EACT,cAAc,CACf,CAAC;QACF,MAAM,SAAS,GAAG,IAAI,EAAE,YAAY,CAAC;QAErC,IAAI,CAAC,SAAS,EAAE,CAAC;YACf,6DAA6D;YAC7D,OAAO,mBAAmB,CAAC,GAAG,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;gBACzC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC;gBACnC,KAAK;aACN,CAAC,CAAC,CAAC;QACN,CAAC;QAED,8CAA8C;QAC9C,OAAO,SAAS;aACb,MAAM,CAAC,CAAC,WAAW,EAAE,EAAE,CACtB,mBAAmB,CAAC,QAAQ,CAAC,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,CAC9D;aACA,GAAG,CAAC,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;YACrB,QAAQ,EAAE,WAAW,CAAC,QAAQ,EAAE,WAAW,EAAE,IAAI,WAAW,CAAC,KAAK,CAAC,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC,WAAW,EAAE;YACpG,KAAK,EAAE,WAAW,CAAC,KAAK,CAAC,WAAW,EAAE;YACtC,KAAK,EAAE,WAAW,CAAC,KAAK;YACxB,GAAG,EAAE,WAAW,CAAC,GAAG;SACrB,CAAC,CAAC,CAAC;IACR,CAAC;CACF"}
@@ -0,0 +1,121 @@
1
+ /**
2
+ * Enhanced CLI Configuration Types
3
+ *
4
+ * This module contains TypeScript interfaces for the enhanced CLI argument handling system.
5
+ * Provides intelligent data source selection, automatic parameter detection, and improved user experience.
6
+ *
7
+ * @module types/enhanced-config
8
+ */
9
+ /**
10
+ * Enhanced CLI Configuration interface
11
+ *
12
+ * @property repoPath - Explicit repository path (optional)
13
+ * @property project - Explicit project override (optional)
14
+ * @property gitlabUrl - GitLab instance URL (optional)
15
+ * @property gitlabToken - Authentication token (optional)
16
+ * @property mr - Merge request ID (optional)
17
+ * @property autoDetectDataSource - Enable intelligent data source selection
18
+ * @property autoDetectProject - Enable automatic project detection
19
+ * @property autoDetectMR - Enable automatic merge request detection
20
+ */
21
+ export interface CLIConfig {
22
+ repoPath?: string;
23
+ project?: string;
24
+ gitlabUrl?: string;
25
+ gitlabToken?: string;
26
+ mr?: number;
27
+ autoDetectDataSource: boolean;
28
+ autoDetectProject: boolean;
29
+ autoDetectMR: boolean;
30
+ }
31
+ /**
32
+ * Data source configuration with selection metadata
33
+ *
34
+ * @property type - Type of data source (local-git or gitlab-api)
35
+ * @property path - Repository path (for local-git mode)
36
+ * @property source - Source of the data source selection decision
37
+ */
38
+ export interface DataSourceConfig {
39
+ type: 'local-git' | 'gitlab-api';
40
+ path?: string;
41
+ source: 'explicit-argument' | 'ci-environment' | 'current-directory' | 'fallback';
42
+ }
43
+ /**
44
+ * Fully resolved configuration after all auto-detection and precedence resolution
45
+ *
46
+ * @property dataSource - Selected data source configuration
47
+ * @property project - Resolved project identifier
48
+ * @property mergeRequestId - Resolved merge request ID
49
+ * @property gitlabUrl - Resolved GitLab URL
50
+ * @property gitlabToken - Resolved authentication token
51
+ * @property parameterSources - Source tracking for debugging
52
+ */
53
+ export interface ResolvedConfig {
54
+ dataSource: DataSourceConfig;
55
+ project: string;
56
+ mergeRequestId: number;
57
+ gitlabUrl: string;
58
+ gitlabToken: string;
59
+ parameterSources: {
60
+ project: string;
61
+ mergeRequestId: string;
62
+ gitlabUrl: string;
63
+ gitlabToken: string;
64
+ };
65
+ }
66
+ /**
67
+ * Result of project auto-detection with metadata
68
+ *
69
+ * @property project - Detected project identifier (null if detection failed)
70
+ * @property source - Source of the project detection
71
+ * @property remoteUrl - Git remote URL (for git-remote source)
72
+ * @property error - Error message if detection failed
73
+ */
74
+ export interface ProjectDetectionResult {
75
+ project: string | null;
76
+ source: 'git-remote' | 'ci-environment' | 'explicit' | 'not-detected';
77
+ remoteUrl?: string;
78
+ error?: string;
79
+ }
80
+ /**
81
+ * GitLab CI/CD environment variable mapping
82
+ */
83
+ export declare const GITLAB_ENV_VARS: {
84
+ readonly PROJECT_ID: "CI_PROJECT_ID";
85
+ readonly PROJECT_PATH: "CI_PROJECT_PATH";
86
+ readonly MERGE_REQUEST_IID: "CI_MERGE_REQUEST_IID";
87
+ readonly SERVER_URL: "CI_SERVER_URL";
88
+ readonly JOB_TOKEN: "CI_JOB_TOKEN";
89
+ readonly PROJECT_DIR: "CI_PROJECT_DIR";
90
+ };
91
+ /**
92
+ * Standard GitLab token environment variables (in precedence order)
93
+ */
94
+ export declare const TOKEN_ENV_VARS: readonly ["CI_JOB_TOKEN", "GITLAB_TOKEN"];
95
+ /**
96
+ * Interface for data source resolution
97
+ */
98
+ export interface DataSourceResolver {
99
+ resolveDataSource(config: CLIConfig): DataSourceConfig;
100
+ detectProjectFromGit(repoPath: string): string | null;
101
+ detectProjectFromCI(): string | null;
102
+ }
103
+ /**
104
+ * Interface for parameter resolution with precedence handling
105
+ *
106
+ * @property cliValue - Value provided via CLI argument (highest priority)
107
+ * @property envVarName - Environment variable name to check (secondary priority)
108
+ * @property autoDetectFn - Optional function for auto-detection (lowest priority)
109
+ */
110
+ export interface ParameterResolver {
111
+ /**
112
+ * Resolve parameter using precedence rules
113
+ *
114
+ * @param cliValue - Value provided via CLI argument (highest priority)
115
+ * @param envVarName - Environment variable name to check (secondary priority)
116
+ * @param autoDetectFn - Optional function for auto-detection (lowest priority)
117
+ * @returns Resolved parameter value or null if not found
118
+ */
119
+ resolveParameter<T>(cliValue: T | undefined, envVarName: string, autoDetectFn?: () => T | null): T | null;
120
+ }
121
+ //# sourceMappingURL=enhanced-config.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanced-config.d.ts","sourceRoot":"","sources":["../../src/types/enhanced-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAEH;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,SAAS;IAExB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,OAAO,CAAC,EAAE,MAAM,CAAC;IAGjB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,EAAE,CAAC,EAAE,MAAM,CAAC;IAGZ,oBAAoB,EAAE,OAAO,CAAC;IAC9B,iBAAiB,EAAE,OAAO,CAAC;IAC3B,YAAY,EAAE,OAAO,CAAC;CACvB;AAED;;;;;;GAMG;AACH,MAAM,WAAW,gBAAgB;IAC/B,IAAI,EAAE,WAAW,GAAG,YAAY,CAAC;IACjC,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,mBAAmB,GAAG,gBAAgB,GAAG,mBAAmB,GAAG,UAAU,CAAC;CACnF;AAED;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAE7B,UAAU,EAAE,gBAAgB,CAAC;IAG7B,OAAO,EAAE,MAAM,CAAC;IAChB,cAAc,EAAE,MAAM,CAAC;IACvB,SAAS,EAAE,MAAM,CAAC;IAClB,WAAW,EAAE,MAAM,CAAC;IAGpB,gBAAgB,EAAE;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,cAAc,EAAE,MAAM,CAAC;QACvB,SAAS,EAAE,MAAM,CAAC;QAClB,WAAW,EAAE,MAAM,CAAC;KACrB,CAAC;CACH;AAED;;;;;;;GAOG;AACH,MAAM,WAAW,sBAAsB;IACrC,OAAO,EAAE,MAAM,GAAG,IAAI,CAAC;IACvB,MAAM,EAAE,YAAY,GAAG,gBAAgB,GAAG,UAAU,GAAG,cAAc,CAAC;IACtE,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB;AAED;;GAEG;AACH,eAAO,MAAM,eAAe;;;;;;;CAOlB,CAAC;AAEX;;GAEG;AACH,eAAO,MAAM,cAAc,2CAGjB,CAAC;AAEX;;GAEG;AACH,MAAM,WAAW,kBAAkB;IACjC,iBAAiB,CAAC,MAAM,EAAE,SAAS,GAAG,gBAAgB,CAAC;IACvD,oBAAoB,CAAC,QAAQ,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAAC;IACtD,mBAAmB,IAAI,MAAM,GAAG,IAAI,CAAC;CACtC;AAED;;;;;;GAMG;AACH,MAAM,WAAW,iBAAiB;IAChC;;;;;;;OAOG;IACH,gBAAgB,CAAC,CAAC,EAChB,QAAQ,EAAE,CAAC,GAAG,SAAS,EACvB,UAAU,EAAE,MAAM,EAClB,YAAY,CAAC,EAAE,MAAM,CAAC,GAAG,IAAI,GAC5B,CAAC,GAAG,IAAI,CAAC;CACb"}
@@ -0,0 +1,27 @@
1
+ /**
2
+ * Enhanced CLI Configuration Types
3
+ *
4
+ * This module contains TypeScript interfaces for the enhanced CLI argument handling system.
5
+ * Provides intelligent data source selection, automatic parameter detection, and improved user experience.
6
+ *
7
+ * @module types/enhanced-config
8
+ */
9
+ /**
10
+ * GitLab CI/CD environment variable mapping
11
+ */
12
+ export const GITLAB_ENV_VARS = {
13
+ PROJECT_ID: 'CI_PROJECT_ID',
14
+ PROJECT_PATH: 'CI_PROJECT_PATH',
15
+ MERGE_REQUEST_IID: 'CI_MERGE_REQUEST_IID',
16
+ SERVER_URL: 'CI_SERVER_URL',
17
+ JOB_TOKEN: 'CI_JOB_TOKEN',
18
+ PROJECT_DIR: 'CI_PROJECT_DIR'
19
+ };
20
+ /**
21
+ * Standard GitLab token environment variables (in precedence order)
22
+ */
23
+ export const TOKEN_ENV_VARS = [
24
+ 'CI_JOB_TOKEN',
25
+ 'GITLAB_TOKEN'
26
+ ];
27
+ //# sourceMappingURL=enhanced-config.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"enhanced-config.js","sourceRoot":"","sources":["../../src/types/enhanced-config.ts"],"names":[],"mappings":"AAAA;;;;;;;GAOG;AAuFH;;GAEG;AACH,MAAM,CAAC,MAAM,eAAe,GAAG;IAC7B,UAAU,EAAE,eAAe;IAC3B,YAAY,EAAE,iBAAiB;IAC/B,iBAAiB,EAAE,sBAAsB;IACzC,UAAU,EAAE,eAAe;IAC3B,SAAS,EAAE,cAAc;IACzB,WAAW,EAAE,gBAAgB;CACrB,CAAC;AAEX;;GAEG;AACH,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,cAAc;IACd,cAAc;CACN,CAAC"}
package/dist/types.d.ts CHANGED
@@ -152,6 +152,34 @@ export interface InviteReviewersParams {
152
152
  gitlabUrl?: string;
153
153
  repoPath?: string;
154
154
  }
155
+ /**
156
+ * CLI-specific parameters for reviewer invitation
157
+ *
158
+ * @property project - GitLab project ID or path
159
+ * @property mergeRequestIid - Merge request internal ID
160
+ * @property branch - Branch name (alternative to mergeRequestIid)
161
+ * @property gitlabToken - GitLab API token (optional if set in environment)
162
+ * @property gitlabUrl - GitLab instance URL (defaults to https://gitlab.com)
163
+ * @property repoPath - Local repository path (optional)
164
+ * @property dryRun - Analysis without posting comments (optional)
165
+ */
166
+ export interface CLIInviteParams extends InviteReviewersParams {
167
+ dryRun?: boolean;
168
+ }
169
+ /**
170
+ * Parameters for validating GitLab permissions
171
+ *
172
+ * @property project - GitLab project ID or path
173
+ * @property mergeRequestIid - Merge request internal ID
174
+ * @property gitlabToken - GitLab API token
175
+ * @property gitlabUrl - GitLab instance URL
176
+ */
177
+ export interface ValidationParams {
178
+ project: string | number;
179
+ mergeRequestIid: number;
180
+ gitlabToken: string;
181
+ gitlabUrl: string;
182
+ }
155
183
  /**
156
184
  * A contributor to the codebase
157
185
  *
@@ -1 +1 @@
1
- {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}