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.
- package/LICENSE +1 -1
- package/README.md +20 -10
- package/dist/bin/cli.js +155 -85
- package/dist/bin/cli.js.map +1 -1
- package/dist/bin/index.d.ts +1 -8
- package/dist/bin/index.d.ts.map +1 -1
- package/dist/bin/index.js +26 -9
- package/dist/bin/index.js.map +1 -1
- package/dist/bin/mcp.js +0 -0
- package/dist/cli/cicd-integration.d.ts +127 -0
- package/dist/cli/cicd-integration.d.ts.map +1 -0
- package/dist/cli/cicd-integration.js +385 -0
- package/dist/cli/cicd-integration.js.map +1 -0
- package/dist/cli/commands.d.ts +21 -4
- package/dist/cli/commands.d.ts.map +1 -1
- package/dist/cli/commands.js +417 -71
- package/dist/cli/commands.js.map +1 -1
- package/dist/cli/config.d.ts +145 -0
- package/dist/cli/config.d.ts.map +1 -0
- package/dist/cli/config.js +277 -0
- package/dist/cli/config.js.map +1 -0
- package/dist/cli/consistency-validator.d.ts +175 -0
- package/dist/cli/consistency-validator.d.ts.map +1 -0
- package/dist/cli/consistency-validator.js +599 -0
- package/dist/cli/consistency-validator.js.map +1 -0
- package/dist/cli/data-source-consistency.d.ts +105 -0
- package/dist/cli/data-source-consistency.d.ts.map +1 -0
- package/dist/cli/data-source-consistency.js +271 -0
- package/dist/cli/data-source-consistency.js.map +1 -0
- package/dist/cli/data-source-selector.d.ts +103 -0
- package/dist/cli/data-source-selector.d.ts.map +1 -0
- package/dist/cli/data-source-selector.js +242 -0
- package/dist/cli/data-source-selector.js.map +1 -0
- package/dist/cli/enhanced-cli.d.ts +104 -0
- package/dist/cli/enhanced-cli.d.ts.map +1 -0
- package/dist/cli/enhanced-cli.js +321 -0
- package/dist/cli/enhanced-cli.js.map +1 -0
- package/dist/cli/enhanced-data-source-resolver.d.ts +67 -0
- package/dist/cli/enhanced-data-source-resolver.d.ts.map +1 -0
- package/dist/cli/enhanced-data-source-resolver.js +249 -0
- package/dist/cli/enhanced-data-source-resolver.js.map +1 -0
- package/dist/cli/enhanced-parameter-resolver.d.ts +111 -0
- package/dist/cli/enhanced-parameter-resolver.d.ts.map +1 -0
- package/dist/cli/enhanced-parameter-resolver.js +233 -0
- package/dist/cli/enhanced-parameter-resolver.js.map +1 -0
- package/dist/cli/errors.d.ts +105 -0
- package/dist/cli/errors.d.ts.map +1 -0
- package/dist/cli/errors.js +577 -0
- package/dist/cli/errors.js.map +1 -0
- package/dist/cli/output.d.ts +43 -3
- package/dist/cli/output.d.ts.map +1 -1
- package/dist/cli/output.js +157 -30
- package/dist/cli/output.js.map +1 -1
- package/dist/cli/parameter-source-tracker.d.ts +169 -0
- package/dist/cli/parameter-source-tracker.d.ts.map +1 -0
- package/dist/cli/parameter-source-tracker.js +252 -0
- package/dist/cli/parameter-source-tracker.js.map +1 -0
- package/dist/cli/template-engine.d.ts +109 -0
- package/dist/cli/template-engine.d.ts.map +1 -0
- package/dist/cli/template-engine.js +220 -0
- package/dist/cli/template-engine.js.map +1 -0
- package/dist/config/config.service.d.ts +24 -2
- package/dist/config/config.service.d.ts.map +1 -1
- package/dist/config/config.service.js +39 -6
- package/dist/config/config.service.js.map +1 -1
- package/dist/datasources/local-git-data-source.d.ts +39 -0
- package/dist/datasources/local-git-data-source.d.ts.map +1 -1
- package/dist/datasources/local-git-data-source.js +121 -1
- package/dist/datasources/local-git-data-source.js.map +1 -1
- package/dist/enhanced-config.js +26 -0
- package/dist/index.js +0 -0
- package/dist/mcp/server.js +2 -2
- package/dist/mcp/server.js.map +1 -1
- package/dist/services/blacklist.service.d.ts +11 -5
- package/dist/services/blacklist.service.d.ts.map +1 -1
- package/dist/services/blacklist.service.js +28 -7
- package/dist/services/blacklist.service.js.map +1 -1
- package/dist/services/reviewer-service.d.ts +24 -0
- package/dist/services/reviewer-service.d.ts.map +1 -1
- package/dist/services/reviewer-service.js +177 -7
- package/dist/services/reviewer-service.js.map +1 -1
- package/dist/services/whitelist.service.js +1 -1
- package/dist/services/whitelist.service.js.map +1 -1
- package/dist/types/enhanced-config.d.ts +121 -0
- package/dist/types/enhanced-config.d.ts.map +1 -0
- package/dist/types/enhanced-config.js +27 -0
- package/dist/types/enhanced-config.js.map +1 -0
- package/dist/types.d.ts +28 -0
- package/dist/types.d.ts.map +1 -1
- package/package.json +11 -11
- package/dist/bin/deprecated-mcp.d.ts +0 -12
- package/dist/bin/deprecated-mcp.d.ts.map +0 -1
- package/dist/bin/deprecated-mcp.js +0 -73
- package/dist/bin/deprecated-mcp.js.map +0 -1
- package/dist/tools.d.ts +0 -22
- package/dist/tools.d.ts.map +0 -1
- package/dist/tools.js +0 -176
- 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
|
-
|
|
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":"AAAA;;;;;GAKG;AAwCH
|
|
1
|
+
{"version":3,"file":"config.service.js","sourceRoot":"","sources":["../../src/config/config.service.ts"],"names":[],"mappings":"AAAA;;;;;GAKG;AAwCH;;;;;;;GAOG;AACH,MAAM,OAAO,aAAa;IAChB,MAAM,CAAC,QAAQ,GAAyB,IAAI,CAAC;IAC7C,MAAM,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAEjC,MAAM,CAAkB;IACxB,eAAe,GAAyB,IAAI,GAAG,EAAE,CAAC;IAE1D;;;;;;;OAOG;IACH,YAAY,WAAW,GAAG,KAAK;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,CAAC,eAAe,CAAC,WAAW,CAAC,CAAC;IAClD,CAAC;IAED;;;;;;;OAOG;IACH,MAAM,CAAC,WAAW;QAChB,IAAI,CAAC,aAAa,CAAC,QAAQ,EAAE,CAAC;YAC5B,aAAa,CAAC,QAAQ,GAAG,IAAI,aAAa,EAAE,CAAC;QAC/C,CAAC;QACD,OAAO,aAAa,CAAC,QAAQ,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,MAAM,CAAC,aAAa;QAClB,aAAa,CAAC,QAAQ,GAAG,IAAI,CAAC;QAC9B,aAAa,CAAC,iBAAiB,GAAG,KAAK,CAAC;IAC1C,CAAC;IAED;;OAEG;IACH,GAAG;QACD,OAAO,MAAM,CAAC,MAAM,CAAC,EAAE,GAAG,IAAI,CAAC,MAAM,EAAE,CAAC,CAAC;IAC3C,CAAC;IAED;;OAEG;IACH,kBAAkB;QAChB,6DAA6D;QAC7D,OAAO,IAAI,GAAG,CAAC,IAAI,CAAC,eAAe,CAAC,CAAC;IACvC,CAAC;IAED;;;;OAIG;IACK,eAAe,CAAC,WAAW,GAAG,KAAK;QACzC,MAAM,MAAM,GAAoB;YAC9B,uBAAuB;YACvB,SAAS,EAAE,IAAI,CAAC,eAAe,CAAC,YAAY,EAAE,oBAAoB,CAAC;YACnE,WAAW,EAAE,OAAO,CAAC,GAAG,CAAC,YAAY;YAErC,2BAA2B;YAC3B,QAAQ,EAAE,OAAO,CAAC,GAAG,CAAC,SAAS;YAE/B,4BAA4B;YAC5B,YAAY,EAAE,IAAI,CAAC,aAAa,CAAC,eAAe,EAAE,IAAI,CAAC;YACvD,QAAQ,EAAE,IAAI,CAAC,YAAY,CAAC,WAAW,EAAE,MAAM,CAAC,EAAE,oBAAoB;YACtE,mBAAmB,EAAE,IAAI,CAAC,YAAY,CAAC,uBAAuB,EAAE,CAAC,CAAC;YAElE,oBAAoB;YACpB,eAAe,EAAE,IAAI,CAAC,YAAY,CAAC,kBAAkB,EAAE,GAAG,CAAC;YAC3D,UAAU,EAAE,IAAI,CAAC,YAAY,CAAC,aAAa,EAAE,CAAC,CAAC;YAC/C,YAAY,EAAE,IAAI,CAAC,YAAY,CAAC,gBAAgB,EAAE,IAAI,CAAC;YAEvD,wBAAwB;YACxB,QAAQ,EAAE,IAAI,CAAC,WAAW,EAAE;YAC5B,KAAK,EAAE,IAAI,CAAC,aAAa,CAAC,OAAO,EAAE,KAAK,CAAC;SAC1C,CAAC;QAEF,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;QAC5B,IAAI,CAAC,WAAW,EAAE,CAAC;YACjB,IAAI,CAAC,kBAAkB,EAAE,CAAC;QAC5B,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,cAAc,CAAC,MAAuB;QAC5C,MAAM,MAAM,GAAa,EAAE,CAAC;QAE5B,sBAAsB;QACtB,IAAI,CAAC,MAAM,CAAC,SAAS,EAAE,CAAC;YACtB,MAAM,CAAC,IAAI,CAAC,wBAAwB,CAAC,CAAC;QACxC,CAAC;aAAM,CAAC;YACN,IAAI,CAAC;gBACH,IAAI,GAAG,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC;YAC5B,CAAC;YAAC,MAAM,CAAC;gBACP,MAAM,CAAC,IAAI,CAAC,kCAAkC,MAAM,CAAC,SAAS,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAED,0BAA0B;QAC1B,IAAI,MAAM,CAAC,QAAQ,GAAG,CAAC,EAAE,CAAC;YACxB,MAAM,CAAC,IAAI,CAAC,wCAAwC,MAAM,CAAC,QAAQ,EAAE,CAAC,CAAC;QACzE,CAAC;QAED,IAAI,MAAM,CAAC,mBAAmB,GAAG,CAAC,EAAE,CAAC;YACnC,MAAM,CAAC,IAAI,CAAC,kDAAkD,MAAM,CAAC,mBAAmB,EAAE,CAAC,CAAC;QAC9F,CAAC;QAED,IAAI,MAAM,CAAC,eAAe,GAAG,CAAC,EAAE,CAAC;YAC/B,MAAM,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,eAAe,EAAE,CAAC,CAAC;QACrF,CAAC;QAED,IAAI,MAAM,CAAC,UAAU,GAAG,CAAC,EAAE,CAAC;YAC1B,MAAM,CAAC,IAAI,CAAC,0CAA0C,MAAM,CAAC,UAAU,EAAE,CAAC,CAAC;QAC7E,CAAC;QAED,IAAI,MAAM,CAAC,YAAY,GAAG,CAAC,EAAE,CAAC;YAC5B,MAAM,CAAC,IAAI,CAAC,6CAA6C,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC;QAClF,CAAC;QAED,IAAI,MAAM,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,KAAK,CACb,qCAAqC,MAAM,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM;gBACjF,wDAAwD,CACzD,CAAC;QACJ,CAAC;IACH,CAAC;IAED;;OAEG;IACK,eAAe,CAAI,GAAW,EAAE,YAAe;QACrD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC5C,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,KAAU,CAAC;IACpB,CAAC;IAED;;OAEG;IACK,aAAa,CAAC,GAAW,EAAE,YAAqB;QACtD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC5C,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,OAAO,KAAK,CAAC,WAAW,EAAE,KAAK,MAAM,IAAI,KAAK,KAAK,GAAG,CAAC;IACzD,CAAC;IAED;;OAEG;IACK,YAAY,CAAC,GAAW,EAAE,YAAoB;QACpD,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC;QAC/B,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,GAAG,EAAE,YAAY,CAAC,CAAC;YAC5C,OAAO,YAAY,CAAC;QACtB,CAAC;QACD,MAAM,MAAM,GAAG,QAAQ,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;QACnC,IAAI,KAAK,CAAC,MAAM,CAAC,EAAE,CAAC;YAClB,MAAM,IAAI,KAAK,CACb,wBAAwB,GAAG,2BAA2B,KAAK,EAAE,CAC9D,CAAC;QACJ,CAAC;QACD,OAAO,MAAM,CAAC;IAChB,CAAC;IAED;;OAEG;IACK,WAAW;QACjB,MAAM,KAAK,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,EAAE,WAAW,EAAE,CAAC;QACnD,IAAI,KAAK,KAAK,SAAS,EAAE,CAAC;YACxB,IAAI,CAAC,eAAe,CAAC,GAAG,CAAC,WAAW,EAAE,MAAM,CAAC,CAAC;YAC9C,OAAO,MAAM,CAAC;QAChB,CAAC;QAED,MAAM,WAAW,GAAG,CAAC,OAAO,EAAE,MAAM,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;QACvD,IAAI,CAAC,WAAW,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,KAAK,CACb,6BAA6B,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,UAAU,KAAK,EAAE,CACrE,CAAC;QACJ,CAAC;QAED,OAAO,KAA4C,CAAC;IACtD,CAAC;IAED;;;;OAIG;IACK,kBAAkB;QACxB,IAAI,IAAI,CAAC,eAAe,CAAC,IAAI,KAAK,CAAC,IAAI,aAAa,CAAC,iBAAiB,EAAE,CAAC;YACvE,OAAO;QACT,CAAC;QAED,aAAa,CAAC,iBAAiB,GAAG,IAAI,CAAC;QACvC,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC3C,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,gEAAgE,CAAC,CAAC;QAE7F,KAAK,MAAM,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,IAAI,CAAC,eAAe,CAAC,OAAO,EAAE,EAAE,CAAC;YAC1D,OAAO,CAAC,KAAK,CAAC,IAAI,SAAS,8BAA8B,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7F,CAAC;IACH,CAAC"}
|
|
@@ -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
|
|
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 ||
|
|
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
|
package/dist/mcp/server.js
CHANGED
|
@@ -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 =
|
|
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);
|
package/dist/mcp/server.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAQlE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACxB,MAAM,CAAS;IACf,gBAAgB,CAA+B;IAC/C,MAAM,CAAgB;IACtB,MAAM,CAAS;IACf,KAAK,CAAe;IAE5B;;OAEG;IACH;QACE,
|
|
1
|
+
{"version":3,"file":"server.js","sourceRoot":"","sources":["../../src/mcp/server.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AAEH,OAAO,EAAE,MAAM,EAAE,MAAM,2CAA2C,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,2CAA2C,CAAC;AACjF,OAAO,EACL,qBAAqB,EACrB,sBAAsB,GACvB,MAAM,oCAAoC,CAAC;AAC5C,OAAO,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AACnC,OAAO,EAAE,eAAe,EAAE,MAAM,iCAAiC,CAAC;AAQlE,OAAO,EAAE,aAAa,EAAE,MAAM,6BAA6B,CAAC;AAC5D,OAAO,EAAE,MAAM,EAAE,MAAM,8BAA8B,CAAC;AACtD,OAAO,EAAE,YAAY,EAAE,MAAM,4BAA4B,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,MAAM,2BAA2B,CAAC;AAEzD;;GAEG;AACH,MAAM,OAAO,qBAAqB;IACxB,MAAM,CAAS;IACf,gBAAgB,CAA+B;IAC/C,MAAM,CAAgB;IACtB,MAAM,CAAS;IACf,KAAK,CAAe;IAE5B;;OAEG;IACH;QACE,sEAAsE;QACtE,IAAI,CAAC,MAAM,GAAG,aAAa,CAAC,WAAW,EAAE,CAAC;QAE1C,8CAA8C;QAC9C,MAAM,QAAQ,GAAG,MAAM,CAAC,aAAa,CAAC,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,CAAC,CAAC;QAClE,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CAAC,WAAW,EAAE,QAAQ,CAAC,CAAC;QAEhD,uBAAuB;QACvB,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,kBAAkB,EAAE,CAAC;QAClD,IAAI,QAAQ,CAAC,IAAI,GAAG,CAAC,EAAE,CAAC;YACtB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,oCAAoC,EAAE;gBACrD,QAAQ,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,KAAwB,EAAE,EAAE,CAAC,CAAC,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC;aACjH,CAAC,CAAC;QACL,CAAC;QAED,uCAAuC;QACvC,IAAI,CAAC,KAAK,GAAG,IAAI,YAAY,CAC3B,EAAE,KAAK,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ,GAAG,IAAI,EAAE,EAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,CAC3B,CAAC;QAEF,wBAAwB;QACxB,IAAI,CAAC,MAAM,GAAG,IAAI,MAAM,CACtB,EAAE,IAAI,EAAE,uBAAuB,EAAE,OAAO,EAAE,OAAO,EAAE,EACnD,EAAE,YAAY,EAAE,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,CAChC,CAAC;QACF,IAAI,CAAC,gBAAgB,GAAG,IAAI,GAAG,EAAE,CAAC;QAElC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,wBAAwB,EAAE;YACzC,OAAO,EAAE,OAAO;YAChB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ;YACpC,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ;SACrC,CAAC,CAAC;QAEH,IAAI,CAAC,aAAa,EAAE,CAAC;IACvB,CAAC;IAED;;;;;;;;OAQG;IACK,kBAAkB,CACxB,SAAiB,EACjB,KAAa,EACb,QAAiB;QAEjB,MAAM,GAAG,GAAG,GAAG,SAAS,IAAI,KAAK,IAAI,QAAQ,IAAI,KAAK,EAAE,CAAC;QACzD,IAAI,CAAC,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE,CAAC;YACpC,MAAM,YAAY,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,YAAY,CAAC;YACpD,IAAI,CAAC,gBAAgB,CAAC,GAAG,CACvB,GAAG,EACH,IAAI,eAAe,CACjB,SAAS,EACT,KAAK,EACL,QAAQ,EACR,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,iBAAiB,CAAC,EACpC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC,CAAC,SAAS,CACtC,CACF,CAAC;YACF,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,6BAA6B,EAAE;gBAC/C,SAAS;gBACT,QAAQ,EAAE,QAAQ,IAAI,UAAU;gBAChC,YAAY;aACb,CAAC,CAAC;QACL,CAAC;QACD,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,GAAG,CAAE,CAAC;IACzC,CAAC;IAED;;;OAGG;IACK,aAAa;QACnB,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,IAAI,EAAE;YAC/D,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4BAA4B,CAAC,CAAC;YAChD,OAAO,EAAE,KAAK,EAAE,KAAK,EAAE,CAAC;QAC1B,CAAC,CAAC,CAAC;QAEH,IAAI,CAAC,MAAM,CAAC,iBAAiB,CAAC,qBAAqB,EAAE,KAAK,EAAE,OAAO,EAAE,EAAE;YACrE,MAAM,EAAE,IAAI,EAAE,SAAS,EAAE,IAAI,EAAE,GAAG,OAAO,CAAC,MAAM,CAAC;YACjD,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,cAAc,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;YAE7D,MAAM,QAAQ,GAAG,IAAI,CAAC,MAAM,CAAC,UAAU,CAAC,SAAS,IAAI,EAAE,CAAC,CAAC;YAEzD,IAAI,CAAC;gBACH,MAAM,MAAM,GAAG,MAAM,YAAY,CAAC,IAAI,CACpC,GAAG,EAAE,CAAC,IAAI,CAAC,cAAc,CAAC,IAAI,EAAE,IAAI,CAAC,EACrC,kBAAkB,EAClB,aAAa,IAAI,SAAS,EAC1B,EAAE,IAAI,EAAE,IAAI,EAAE,CACf,CAAC;gBAEF,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,qBAAqB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;gBAExD,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,IAAI,CAAC,SAAS,CAAC,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,EAAE,CAAC;iBACnE,CAAC;YACJ,CAAC;YAAC,OAAO,KAAK,EAAE,CAAC;gBACf,QAAQ,EAAE,CAAC;gBACX,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,kBAAkB,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;gBAEjG,MAAM,YAAY,GAAG,YAAY,CAAC,WAAW,CAC3C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,IAAI,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,CAC1D,CAAC;gBAEF,OAAO;oBACL,OAAO,EAAE,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,IAAI,EAAE,UAAU,YAAY,EAAE,EAAE,CAAC;oBAC3D,OAAO,EAAE,IAAI;iBACd,CAAC;YACJ,CAAC;QACH,CAAC,CAAC,CAAC;IACL,CAAC;IAED;;;;;;;;OAQG;IACK,KAAK,CAAC,cAAc,CAAC,IAAY,EAAE,IAAa;QACtD,MAAM,MAAM,GAAG,IAA+B,CAAC;QAE/C,mCAAmC;QACnC,MAAM,MAAM,GAAG,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC;QACjC,MAAM,SAAS,GACb,CAAC,OAAO,MAAM,CAAC,SAAS,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,SAAS,CAAC,CAAC,CAAC,SAAS,CAAC;YACrE,OAAO,CAAC,GAAG,CAAC,UAAU;YACtB,MAAM,CAAC,SAAS,CAAC;QACnB,MAAM,KAAK,GACT,CAAC,OAAO,MAAM,CAAC,WAAW,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,WAAW,CAAC,CAAC,CAAC,SAAS,CAAC;YACzE,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QAC3B,MAAM,QAAQ,GACZ,CAAC,OAAO,MAAM,CAAC,QAAQ,KAAK,QAAQ,CAAC,CAAC,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,CAAC,SAAS,CAAC;YACnE,OAAO,CAAC,GAAG,CAAC,SAAS;YACrB,IAAI,CAAC,cAAc,EAAE,CAAC;QAExB,IAAI,CAAC,KAAK,EAAE,CAAC;YACX,MAAM,YAAY,CAAC,kBAAkB,CACnC,mGAAmG,EACnG,EAAE,SAAS,EAAE,WAAW,EAAE,CAAC,CAAC,QAAQ,EAAE,CACvC,CAAC;QACJ,CAAC;QAED,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE;YAC5C,SAAS;YACT,QAAQ,EAAE,CAAC,CAAC,KAAK;YACjB,QAAQ,EAAE,QAAQ,IAAI,UAAU;SACjC,CAAC,CAAC;QAEH,MAAM,eAAe,GAAG,IAAI,CAAC,kBAAkB,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,CAAC,CAAC;QAE5E,QAAQ,IAAI,EAAE,CAAC;YACb,KAAK,mBAAmB;gBACtB,OAAO,eAAe,CAAC,gBAAgB,CAAC,MAAuC,CAAC,CAAC;YACnF,KAAK,0BAA0B;gBAC7B,OAAO,eAAe,CAAC,sBAAsB,CAC3C,MAA8C,CAC/C,CAAC;YACJ,KAAK,uBAAuB;gBAC1B,OAAO,eAAe,CAAC,mBAAmB,CACxC,MAA2C,CAC5C,CAAC;YACJ,KAAK,cAAc;gBACjB,OAAO,eAAe,CAAC,WAAW,CAAC,MAAsC,CAAC,CAAC;YAC7E,KAAK,kBAAkB;gBACrB,OAAO,eAAe,CAAC,eAAe,CAAC,MAA0C,CAAC,CAAC;YACrF;gBACE,MAAM,YAAY,CAAC,eAAe,CAAC,iBAAiB,IAAI,EAAE,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,CAAC,CAAC;QAChF,CAAC;IACH,CAAC;IAED;;;;;OAKG;IACK,cAAc;QACpB,IAAI,CAAC;YACH,MAAM,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;YAC9C,MAAM,OAAO,GAAG,QAAQ,CAAC,+BAA+B,EAAE;gBACxD,QAAQ,EAAE,OAAO;gBACjB,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;aACnB,CAAC,CAAC,IAAI,EAAE,CAAC;YACV,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,yBAAyB,EAAE,EAAE,OAAO,EAAE,CAAC,CAAC;YACzD,OAAO,OAAO,CAAC;QACjB,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,4CAA4C,EAAE;gBAC9D,GAAG,EAAE,OAAO,CAAC,GAAG,EAAE;aACnB,CAAC,CAAC;YACH,OAAO,SAAS,CAAC;QACnB,CAAC;IACH,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,GAAG;QACP,MAAM,SAAS,GAAG,IAAI,oBAAoB,EAAE,CAAC;QAC7C,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,SAAS,CAAC,CAAC;QAErC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,gDAAgD,EAAE;YACjE,SAAS,EAAE,KAAK,CAAC,IAAI;YACrB,QAAQ,EAAE,IAAI,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,QAAQ;SACrC,CAAC,CAAC;IACL,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,QAAQ;QACZ,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,6BAA6B,CAAC,CAAC;QAEhD,uCAAuC;QACvC,MAAM,KAAK,GAAG,IAAI,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC;QACpC,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,kBAAkB,EAAE;YACnC,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,IAAI,EAAE,KAAK,CAAC,IAAI;YAChB,OAAO,EAAE,KAAK,CAAC,OAAO;SACvB,CAAC,CAAC;QAEH,cAAc;QACd,IAAI,CAAC,KAAK,CAAC,KAAK,EAAE,CAAC;QAEnB,eAAe;QACf,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,EAAE,CAAC;QAE1B,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,mCAAmC,CAAC,CAAC;IACxD,CAAC;CACF"}
|
|
@@ -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
|
|
22
|
-
*
|
|
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;
|
|
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
|
|
23
|
-
*
|
|
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
|
-
|
|
42
|
-
|
|
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":"
|
|
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"}
|