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
@@ -9,18 +9,45 @@
9
9
  *
10
10
  * Loads configuration from environment variables, applies defaults,
11
11
  * validates settings, and provides type-safe access to configuration.
12
+ *
13
+ * Supports singleton pattern to avoid multiple instantiations and duplicate logging.
12
14
  */
13
15
  export class ConfigService {
16
+ static instance = null;
17
+ static hasLoggedDefaults = false;
14
18
  config;
15
19
  appliedDefaults = new Map();
16
20
  /**
17
21
  * Create a new configuration service
18
22
  *
19
23
  * Automatically loads and validates configuration from environment variables.
20
- * Logs any default values that were applied.
24
+ * Logs any default values that were applied (only once per process).
25
+ *
26
+ * @param skipLogging - If true, skip logging applied defaults (useful for testing)
21
27
  */
22
- constructor() {
23
- this.config = this.loadAndValidate();
28
+ constructor(skipLogging = false) {
29
+ this.config = this.loadAndValidate(skipLogging);
30
+ }
31
+ /**
32
+ * Get the singleton instance of ConfigService
33
+ *
34
+ * This ensures configuration is only loaded and logged once per process,
35
+ * avoiding duplicate log messages when multiple components need config.
36
+ *
37
+ * @returns The shared ConfigService instance
38
+ */
39
+ static getInstance() {
40
+ if (!ConfigService.instance) {
41
+ ConfigService.instance = new ConfigService();
42
+ }
43
+ return ConfigService.instance;
44
+ }
45
+ /**
46
+ * Reset the singleton instance (primarily for testing)
47
+ */
48
+ static resetInstance() {
49
+ ConfigService.instance = null;
50
+ ConfigService.hasLoggedDefaults = false;
24
51
  }
25
52
  /**
26
53
  * Get the current configuration (read-only)
@@ -37,8 +64,10 @@ export class ConfigService {
37
64
  }
38
65
  /**
39
66
  * Load configuration from environment variables and validate
67
+ *
68
+ * @param skipLogging - If true, skip logging applied defaults
40
69
  */
41
- loadAndValidate() {
70
+ loadAndValidate(skipLogging = false) {
42
71
  const config = {
43
72
  // GitLab Configuration
44
73
  gitlabUrl: this.getEnvOrDefault('GITLAB_URL', 'https://gitlab.com'),
@@ -58,7 +87,9 @@ export class ConfigService {
58
87
  debug: this.getBooleanEnv('DEBUG', false),
59
88
  };
60
89
  this.validateConfig(config);
61
- this.logAppliedDefaults();
90
+ if (!skipLogging) {
91
+ this.logAppliedDefaults();
92
+ }
62
93
  return config;
63
94
  }
64
95
  /**
@@ -154,11 +185,13 @@ export class ConfigService {
154
185
  /**
155
186
  * Log which default values were applied
156
187
  * Uses console.error since MCP servers log to stderr
188
+ * Only logs once per process to avoid duplicate messages
157
189
  */
158
190
  logAppliedDefaults() {
159
- if (this.appliedDefaults.size === 0) {
191
+ if (this.appliedDefaults.size === 0 || ConfigService.hasLoggedDefaults) {
160
192
  return;
161
193
  }
194
+ ConfigService.hasLoggedDefaults = true;
162
195
  const timestamp = new Date().toISOString();
163
196
  console.error(`[${timestamp}] [INFO] [ConfigService] Applied default configuration values:`);
164
197
  for (const [key, value] of this.appliedDefaults.entries()) {
@@ -1 +1 @@
1
- {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/config/config.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/config/config.service.ts"],"names":[],"mappings":"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"}
@@ -23,6 +23,12 @@ export declare class LocalGitDataSource extends GitLabAPIDataSource implements G
23
23
  * @param config - Optional configuration service for settings
24
24
  */
25
25
  constructor(gitlabApi: GitLabAPI, repoPath: string, logger?: Logger, config?: ConfigService);
26
+ /**
27
+ * Get the repository path
28
+ *
29
+ * @returns The local repository path
30
+ */
31
+ get repositoryPath(): string;
26
32
  /**
27
33
  * Get the project path from the git remote URL
28
34
  *
@@ -62,10 +68,30 @@ export declare class LocalGitDataSource extends GitLabAPIDataSource implements G
62
68
  * @returns Promise resolving to array of contributor email addresses (up to 100)
63
69
  */
64
70
  getProjectContributors(project: string, commitSha: string): Promise<string[]>;
71
+ /**
72
+ * Check if a path is a git submodule (gitlink with mode 160000)
73
+ *
74
+ * @param path - The file path to check
75
+ * @param ref - The commit SHA to check at
76
+ * @returns Promise resolving to true if path is a submodule
77
+ */
78
+ private isSubmodule;
79
+ /**
80
+ * Get blame-like data for a submodule by using commit history
81
+ *
82
+ * Since git blame doesn't work on submodule gitlinks, we get the
83
+ * commit history for who changed the submodule reference.
84
+ *
85
+ * @param path - The submodule path
86
+ * @param ref - The commit SHA
87
+ * @returns Promise resolving to array of blame lines from commit history
88
+ */
89
+ private getSubmoduleBlame;
65
90
  /**
66
91
  * Get git blame information from local repository
67
92
  *
68
93
  * Validates commit existence before attempting blame.
94
+ * For submodules, uses commit history instead of blame.
69
95
  * Falls back to API if local blame fails (graceful degradation).
70
96
  *
71
97
  * @param project - The project ID or path
@@ -120,5 +146,18 @@ export declare class LocalGitDataSource extends GitLabAPIDataSource implements G
120
146
  * @throws {MCPError} If the file cannot be parsed as JSON
121
147
  */
122
148
  getJsonFile<T = unknown>(project: string, branch: string, path: string): Promise<T | null>;
149
+ /**
150
+ * Create a note (comment) on a merge request
151
+ *
152
+ * Delegates to the parent GitLabAPIDataSource since comment posting
153
+ * requires GitLab API access regardless of data source.
154
+ *
155
+ * @param project - The project ID or path
156
+ * @param mr - The merge request internal ID
157
+ * @param body - The comment text (supports Markdown)
158
+ * @returns Promise resolving to the created note
159
+ * @throws {MCPError} If comment posting fails
160
+ */
161
+ createNote(project: string, mr: number, body: string): Promise<import("../types/index.js").GitLabNote>;
123
162
  }
124
163
  //# sourceMappingURL=local-git-data-source.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-git-data-source.d.ts","sourceRoot":"","sources":["../../src/datasources/local-git-data-source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;;;GAMG;AACH,qBAAa,kBACX,SAAQ,mBACR,YAAW,aAAa;IActB,OAAO,CAAC,QAAQ;IAZlB,OAAO,CAAC,MAAM,CAAgB;IAE9B;;;;;;;OAOG;gBAED,SAAS,EAAE,SAAS,EACZ,QAAQ,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa;IAMxB;;;;;;;;OAQG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAyD7C;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmCzC;;;;;;;;;OASG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwExD;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;IA+EpB;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAyFhF;;OAEG;YACW,oBAAoB;IAkBlC;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiHxE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;YACW,cAAc;IA2D5B;;;;;;;;;;OAUG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA8CzB;;;;;;;;OAQG;IACG,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;CAqBrB"}
1
+ {"version":3,"file":"local-git-data-source.d.ts","sourceRoot":"","sources":["../../src/datasources/local-git-data-source.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,SAAS,EAAE,MAAM,sBAAsB,CAAC;AAEjD,OAAO,EAAE,aAAa,EAAE,MAAM,gCAAgC,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,6BAA6B,CAAC;AAClE,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAC;AAEhE;;;;;;GAMG;AACH,qBAAa,kBACX,SAAQ,mBACR,YAAW,aAAa;IActB,OAAO,CAAC,QAAQ;IAZlB,OAAO,CAAC,MAAM,CAAgB;IAE9B;;;;;;;OAOG;gBAED,SAAS,EAAE,SAAS,EACZ,QAAQ,EAAE,MAAM,EACxB,MAAM,CAAC,EAAE,MAAM,EACf,MAAM,CAAC,EAAE,aAAa;IAMxB;;;;OAIG;IACH,IAAI,cAAc,IAAI,MAAM,CAE3B;IAED;;;;;;;;OAQG;IACG,oBAAoB,IAAI,OAAO,CAAC,MAAM,CAAC;IAyD7C;;;;;OAKG;IACG,gBAAgB,IAAI,OAAO,CAAC,MAAM,CAAC;IAmCzC;;;;;;;;;OASG;IACG,gBAAgB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAwExD;;;;;;;;;OASG;IACG,sBAAsB,CAC1B,OAAO,EAAE,MAAM,EACf,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC,MAAM,EAAE,CAAC;IA+EpB;;;;;;OAMG;YACW,WAAW;IAezB;;;;;;;;;OASG;YACW,iBAAiB;IAiD/B;;;;;;;;;;;OAWG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,EAAE,GAAG,EAAE,MAAM,GAAG,OAAO,CAAC,SAAS,EAAE,CAAC;IAoGhF;;OAEG;YACW,oBAAoB;IAkBlC;;;;;;;;;;OAUG;IACG,QAAQ,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,gBAAgB,EAAE,CAAC;IAiHxE;;OAEG;IACH,OAAO,CAAC,kBAAkB;IAc1B;;OAEG;YACW,cAAc;IA2D5B;;;;;;;;;;OAUG;IACG,UAAU,CACd,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,MAAM,GAAG,IAAI,CAAC;IA8CzB;;;;;;;;OAQG;IACG,WAAW,CAAC,CAAC,GAAG,OAAO,EAC3B,OAAO,EAAE,MAAM,EACf,MAAM,EAAE,MAAM,EACd,IAAI,EAAE,MAAM,GACX,OAAO,CAAC,CAAC,GAAG,IAAI,CAAC;IAsBpB;;;;;;;;;;;OAWG;IACG,UAAU,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,mBAAmB,EAAE,UAAU,CAAC;CAc7G"}
@@ -26,7 +26,15 @@ export class LocalGitDataSource extends GitLabAPIDataSource {
26
26
  constructor(gitlabApi, repoPath, logger, config) {
27
27
  super(gitlabApi, logger || new Logger('LocalGitDataSource'));
28
28
  this.repoPath = repoPath;
29
- this.config = config || new ConfigService();
29
+ this.config = config || ConfigService.getInstance();
30
+ }
31
+ /**
32
+ * Get the repository path
33
+ *
34
+ * @returns The local repository path
35
+ */
36
+ get repositoryPath() {
37
+ return this.repoPath;
30
38
  }
31
39
  /**
32
40
  * Get the project path from the git remote URL
@@ -240,10 +248,88 @@ export class LocalGitDataSource extends GitLabAPIDataSource {
240
248
  throw ErrorHandler.gitOperationError('Failed to get project contributors', context, error instanceof Error ? error : new Error(String(error)));
241
249
  }
242
250
  }
251
+ /**
252
+ * Check if a path is a git submodule (gitlink with mode 160000)
253
+ *
254
+ * @param path - The file path to check
255
+ * @param ref - The commit SHA to check at
256
+ * @returns Promise resolving to true if path is a submodule
257
+ */
258
+ async isSubmodule(path, ref) {
259
+ try {
260
+ const git = simpleGit(this.repoPath);
261
+ const result = await git.raw(['ls-tree', ref, '--', path]);
262
+ // Submodules have mode 160000 (gitlink)
263
+ return result.startsWith('160000');
264
+ }
265
+ catch (error) {
266
+ // Re-throw MCPErrors, otherwise return false (graceful degradation)
267
+ if (error instanceof Error && error.message.includes('MCP')) {
268
+ throw error;
269
+ }
270
+ return false;
271
+ }
272
+ }
273
+ /**
274
+ * Get blame-like data for a submodule by using commit history
275
+ *
276
+ * Since git blame doesn't work on submodule gitlinks, we get the
277
+ * commit history for who changed the submodule reference.
278
+ *
279
+ * @param path - The submodule path
280
+ * @param ref - The commit SHA
281
+ * @returns Promise resolving to array of blame lines from commit history
282
+ */
283
+ async getSubmoduleBlame(path, ref) {
284
+ const git = simpleGit(this.repoPath);
285
+ try {
286
+ // Get the last commit that modified this submodule reference
287
+ const logResult = await git.raw([
288
+ 'log',
289
+ '-1',
290
+ '--format=%H%n%ae%n%an%n%aI%n%s',
291
+ ref,
292
+ '--',
293
+ path,
294
+ ]);
295
+ const lines = logResult.trim().split('\n');
296
+ if (lines.length < 5) {
297
+ return [];
298
+ }
299
+ const [commitId, authorEmail, authorName, authoredDate, message] = lines;
300
+ return [{
301
+ commit: {
302
+ id: commitId,
303
+ message,
304
+ parent_ids: [],
305
+ authored_date: authoredDate,
306
+ author_name: authorName,
307
+ author_email: authorEmail,
308
+ committed_date: authoredDate,
309
+ committer_name: authorName,
310
+ committer_email: authorEmail,
311
+ },
312
+ lines: ['1'],
313
+ }];
314
+ }
315
+ catch (error) {
316
+ // Re-throw MCPErrors, otherwise log and return empty (graceful degradation)
317
+ if (error instanceof Error && error.message.includes('MCP')) {
318
+ throw error;
319
+ }
320
+ this.logger.debug('Failed to get submodule commit history', {
321
+ path,
322
+ ref: ref.substring(0, 8),
323
+ error: error instanceof Error ? error.message : String(error),
324
+ });
325
+ return [];
326
+ }
327
+ }
243
328
  /**
244
329
  * Get git blame information from local repository
245
330
  *
246
331
  * Validates commit existence before attempting blame.
332
+ * For submodules, uses commit history instead of blame.
247
333
  * Falls back to API if local blame fails (graceful degradation).
248
334
  *
249
335
  * @param project - The project ID or path
@@ -257,6 +343,16 @@ export class LocalGitDataSource extends GitLabAPIDataSource {
257
343
  try {
258
344
  // Validate commit exists before attempting blame (Requirement 6.1)
259
345
  await this.validateCommitExists(ref);
346
+ // Check if path is a submodule - use commit history instead of blame
347
+ if (await this.isSubmodule(path, ref)) {
348
+ this.logger.info('Path is a submodule, using commit history instead of blame', {
349
+ ...context,
350
+ isSubmodule: true,
351
+ });
352
+ const submoduleBlame = await this.getSubmoduleBlame(path, ref);
353
+ endTimer();
354
+ return submoduleBlame;
355
+ }
260
356
  const git = simpleGit(this.repoPath);
261
357
  // Wrap git operation with retry logic (Requirement 3.2)
262
358
  const result = await ErrorHandler.withRetry(async () => {
@@ -576,5 +672,29 @@ export class LocalGitDataSource extends GitLabAPIDataSource {
576
672
  });
577
673
  }
578
674
  }
675
+ /**
676
+ * Create a note (comment) on a merge request
677
+ *
678
+ * Delegates to the parent GitLabAPIDataSource since comment posting
679
+ * requires GitLab API access regardless of data source.
680
+ *
681
+ * @param project - The project ID or path
682
+ * @param mr - The merge request internal ID
683
+ * @param body - The comment text (supports Markdown)
684
+ * @returns Promise resolving to the created note
685
+ * @throws {MCPError} If comment posting fails
686
+ */
687
+ async createNote(project, mr, body) {
688
+ const context = {
689
+ project,
690
+ mergeRequestIid: mr,
691
+ dataSource: 'local-git',
692
+ repoPath: this.repoPath,
693
+ };
694
+ this.logger.debug('Creating note via API delegation', context);
695
+ // Delegate to parent class (GitLabAPIDataSource) since comment posting
696
+ // always requires GitLab API access
697
+ return super.createNote(project, mr, body);
698
+ }
579
699
  }
580
700
  //# sourceMappingURL=local-git-data-source.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"local-git-data-source.js","sourceRoot":"","sources":["../../src/datasources/local-git-data-source.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"local-git-data-source.js","sourceRoot":"","sources":["../../src/datasources/local-git-data-source.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,26 @@
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
+ ];
package/dist/index.js CHANGED
File without changes
@@ -30,8 +30,8 @@ export class AutoReviewerMCPServer {
30
30
  * Initialize the MCP server with all required services
31
31
  */
32
32
  constructor() {
33
- // Initialize configuration
34
- this.config = new ConfigService();
33
+ // Initialize configuration using singleton to avoid duplicate logging
34
+ this.config = ConfigService.getInstance();
35
35
  // Initialize logger with configured log level
36
36
  const logLevel = Logger.parseLogLevel(this.config.get().logLevel);
37
37
  this.logger = new Logger('MCPServer', logLevel);
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"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"}
@@ -1,32 +1,38 @@
1
1
  import { GitDataSource } from "../datasources/git-data-source.interface.js";
2
+ import { Logger } from "../logging/logger.service.js";
2
3
  /**
3
4
  * Service for managing reviewer blacklists based on merge request history.
4
5
  *
5
6
  * Analyzes merge request notes to identify users who have been invited as reviewers
6
7
  * and then had their review requests removed, building a blacklist of users who
7
- * should not be automatically invited again.
8
+ * should not be automatically invited again. Also excludes currently assigned
9
+ * reviewers to prevent duplicate suggestions on subsequent runs.
8
10
  */
9
11
  export declare class BlacklistService {
10
12
  private dataSource;
13
+ private logger;
11
14
  /**
12
15
  * Creates a new BlacklistService instance.
13
16
  *
14
17
  * @param dataSource - The data source for accessing GitLab data
18
+ * @param logger - Optional logger instance for structured logging
15
19
  */
16
- constructor(dataSource: GitDataSource);
20
+ constructor(dataSource: GitDataSource, logger?: Logger);
17
21
  /**
18
22
  * Retrieves the blacklist of users who should not be invited as reviewers.
19
23
  *
20
24
  * Analyzes merge request notes to find users who were invited as reviewers
21
- * and then had their review requests removed. Also includes the MR author
22
- * in the blacklist to prevent self-review.
25
+ * and then had their review requests removed. Also includes:
26
+ * - The MR author (to prevent self-review)
27
+ * - Currently assigned reviewers (to prevent duplicate suggestions)
23
28
  *
24
29
  * @param project - The GitLab project identifier (ID or path)
25
30
  * @param mr - The merge request IID
26
31
  * @param author - The username of the merge request author
32
+ * @param currentReviewers - Optional array of currently assigned reviewer usernames
27
33
  * @returns Array of usernames that should be excluded from reviewer suggestions
28
34
  */
29
- getBlackList(project: string, mr: number, author: string): Promise<string[]>;
35
+ getBlackList(project: string, mr: number, author: string, currentReviewers?: string[]): Promise<string[]>;
30
36
  private updateInvitation;
31
37
  }
32
38
  //# sourceMappingURL=blacklist.service.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"blacklist.service.d.ts","sourceRoot":"","sources":["../../src/services/blacklist.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAG5E;;;;;;GAMG;AACH,qBAAa,gBAAgB;IAMf,OAAO,CAAC,UAAU;IAL9B;;;;OAIG;gBACiB,UAAU,EAAE,aAAa;IAE7C;;;;;;;;;;;OAWG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,GACb,OAAO,CAAC,MAAM,EAAE,CAAC;IAmBpB,OAAO,CAAC,gBAAgB;CAgBzB"}
1
+ {"version":3,"file":"blacklist.service.d.ts","sourceRoot":"","sources":["../../src/services/blacklist.service.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,6CAA6C,CAAC;AAE5E,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD;;;;;;;GAOG;AACH,qBAAa,gBAAgB;IASf,OAAO,CAAC,UAAU;IAR9B,OAAO,CAAC,MAAM,CAAS;IAEvB;;;;;OAKG;gBACiB,UAAU,EAAE,aAAa,EAAE,MAAM,CAAC,EAAE,MAAM;IAI9D;;;;;;;;;;;;;OAaG;IACG,YAAY,CAChB,OAAO,EAAE,MAAM,EACf,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,MAAM,EACd,gBAAgB,GAAE,MAAM,EAAO,GAC9B,OAAO,CAAC,MAAM,EAAE,CAAC;IAqCpB,OAAO,CAAC,gBAAgB;CAgBzB"}
@@ -1,33 +1,40 @@
1
+ import { Logger } from "../logging/logger.service.js";
1
2
  /**
2
3
  * Service for managing reviewer blacklists based on merge request history.
3
4
  *
4
5
  * Analyzes merge request notes to identify users who have been invited as reviewers
5
6
  * and then had their review requests removed, building a blacklist of users who
6
- * should not be automatically invited again.
7
+ * should not be automatically invited again. Also excludes currently assigned
8
+ * reviewers to prevent duplicate suggestions on subsequent runs.
7
9
  */
8
10
  export class BlacklistService {
9
11
  dataSource;
12
+ logger;
10
13
  /**
11
14
  * Creates a new BlacklistService instance.
12
15
  *
13
16
  * @param dataSource - The data source for accessing GitLab data
17
+ * @param logger - Optional logger instance for structured logging
14
18
  */
15
- constructor(dataSource) {
19
+ constructor(dataSource, logger) {
16
20
  this.dataSource = dataSource;
21
+ this.logger = logger || new Logger('BlacklistService');
17
22
  }
18
23
  /**
19
24
  * Retrieves the blacklist of users who should not be invited as reviewers.
20
25
  *
21
26
  * Analyzes merge request notes to find users who were invited as reviewers
22
- * and then had their review requests removed. Also includes the MR author
23
- * in the blacklist to prevent self-review.
27
+ * and then had their review requests removed. Also includes:
28
+ * - The MR author (to prevent self-review)
29
+ * - Currently assigned reviewers (to prevent duplicate suggestions)
24
30
  *
25
31
  * @param project - The GitLab project identifier (ID or path)
26
32
  * @param mr - The merge request IID
27
33
  * @param author - The username of the merge request author
34
+ * @param currentReviewers - Optional array of currently assigned reviewer usernames
28
35
  * @returns Array of usernames that should be excluded from reviewer suggestions
29
36
  */
30
- async getBlackList(project, mr, author) {
37
+ async getBlackList(project, mr, author, currentReviewers = []) {
31
38
  const invited = {};
32
39
  const notes = await this.dataSource.getNotes(project, mr);
33
40
  notes.forEach((note) => {
@@ -38,10 +45,24 @@ export class BlacklistService {
38
45
  this.updateInvitation(invited, note.body, false);
39
46
  }
40
47
  });
41
- return [
42
- ...Object.keys(invited).filter((username) => !invited[username]),
48
+ // Users who were invited then removed
49
+ const removedReviewers = Object.keys(invited).filter((username) => !invited[username]);
50
+ // Normalize current reviewers to lowercase for consistent comparison
51
+ const normalizedCurrentReviewers = currentReviewers.map(r => r.toLowerCase());
52
+ const blacklist = [
53
+ ...removedReviewers,
54
+ ...normalizedCurrentReviewers,
43
55
  author,
44
56
  ];
57
+ this.logger.info('Blacklist computed', {
58
+ project,
59
+ mr,
60
+ author,
61
+ currentReviewers: normalizedCurrentReviewers,
62
+ removedReviewers,
63
+ totalBlacklisted: blacklist.length,
64
+ });
65
+ return blacklist;
45
66
  }
46
67
  updateInvitation(reviewers, text, invited) {
47
68
  const splitter = /,? (?:and )?@/;
@@ -1 +1 @@
1
- {"version":3,"file":"blacklist.service.js","sourceRoot":"","sources":["../../src/services/blacklist.service.ts"],"names":[],"mappings":"AAGA;;;;;;GAMG;AACH,MAAM,OAAO,gBAAgB;IAMP;IALpB;;;;OAIG;IACH,YAAoB,UAAyB;QAAzB,eAAU,GAAV,UAAU,CAAe;IAAG,CAAC;IAEjD;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,EAAU,EACV,MAAc;QAEd,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE1D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,OAAO;YACL,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;YAChE,MAAM;SACP,CAAC;IACJ,CAAC;IAEO,gBAAgB,CACtB,SAAkC,EAClC,IAAY,EACZ,OAAgB;QAEhB,MAAM,QAAQ,GAAG,eAAe,CAAC;QACjC,IAAI;aACD,KAAK,CAAC,QAAQ,CAAC;aACf,KAAK,CAAC,CAAC,CAAC;aACR,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;aACzC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;CACF"}
1
+ {"version":3,"file":"blacklist.service.js","sourceRoot":"","sources":["../../src/services/blacklist.service.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AAEtD;;;;;;;GAOG;AACH,MAAM,OAAO,gBAAgB;IASP;IARZ,MAAM,CAAS;IAEvB;;;;;OAKG;IACH,YAAoB,UAAyB,EAAE,MAAe;QAA1C,eAAU,GAAV,UAAU,CAAe;QAC3C,IAAI,CAAC,MAAM,GAAG,MAAM,IAAI,IAAI,MAAM,CAAC,kBAAkB,CAAC,CAAC;IACzD,CAAC;IAED;;;;;;;;;;;;;OAaG;IACH,KAAK,CAAC,YAAY,CAChB,OAAe,EACf,EAAU,EACV,MAAc,EACd,mBAA6B,EAAE;QAE/B,MAAM,OAAO,GAA4B,EAAE,CAAC;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,CAAC,OAAO,EAAE,EAAE,CAAC,CAAC;QAE1D,KAAK,CAAC,OAAO,CAAC,CAAC,IAAgB,EAAE,EAAE;YACjC,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,wBAAwB,CAAC,EAAE,CAAC;gBACnD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,CAAC;YAClD,CAAC;YACD,IAAI,IAAI,CAAC,IAAI,CAAC,UAAU,CAAC,6BAA6B,CAAC,EAAE,CAAC;gBACxD,IAAI,CAAC,gBAAgB,CAAC,OAAO,EAAE,IAAI,CAAC,IAAI,EAAE,KAAK,CAAC,CAAC;YACnD,CAAC;QACH,CAAC,CAAC,CAAC;QAEH,sCAAsC;QACtC,MAAM,gBAAgB,GAAG,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,MAAM,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEvF,qEAAqE;QACrE,MAAM,0BAA0B,GAAG,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC;QAE9E,MAAM,SAAS,GAAG;YAChB,GAAG,gBAAgB;YACnB,GAAG,0BAA0B;YAC7B,MAAM;SACP,CAAC;QAEF,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oBAAoB,EAAE;YACrC,OAAO;YACP,EAAE;YACF,MAAM;YACN,gBAAgB,EAAE,0BAA0B;YAC5C,gBAAgB;YAChB,gBAAgB,EAAE,SAAS,CAAC,MAAM;SACnC,CAAC,CAAC;QAEH,OAAO,SAAS,CAAC;IACnB,CAAC;IAEO,gBAAgB,CACtB,SAAkC,EAClC,IAAY,EACZ,OAAgB;QAEhB,MAAM,QAAQ,GAAG,eAAe,CAAC;QACjC,IAAI;aACD,KAAK,CAAC,QAAQ,CAAC;aACf,KAAK,CAAC,CAAC,CAAC;aACR,GAAG,CAAC,CAAC,QAAQ,EAAE,EAAE,CAAC,QAAQ,CAAC,WAAW,EAAE,CAAC;aACzC,OAAO,CAAC,CAAC,QAAQ,EAAE,EAAE;YACpB,IAAI,CAAC,SAAS,CAAC,cAAc,CAAC,QAAQ,CAAC,EAAE,CAAC;gBACxC,SAAS,CAAC,QAAQ,CAAC,GAAG,OAAO,CAAC;YAChC,CAAC;QACH,CAAC,CAAC,CAAC;IACP,CAAC;CACF"}