mcp-adr-analysis-server 2.1.22 → 2.1.28
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/README.md +63 -1
- package/dist/.tsbuildinfo +1 -1
- package/dist/src/index.d.ts.map +1 -1
- package/dist/src/index.js +370 -0
- package/dist/src/index.js.map +1 -1
- package/dist/src/tools/adr-aggregator-tools.d.ts +185 -0
- package/dist/src/tools/adr-aggregator-tools.d.ts.map +1 -0
- package/dist/src/tools/adr-aggregator-tools.js +872 -0
- package/dist/src/tools/adr-aggregator-tools.js.map +1 -0
- package/dist/src/tools/analyze-gaps-tool.d.ts +57 -0
- package/dist/src/tools/analyze-gaps-tool.d.ts.map +1 -0
- package/dist/src/tools/analyze-gaps-tool.js +727 -0
- package/dist/src/tools/analyze-gaps-tool.js.map +1 -0
- package/dist/src/tools/tool-catalog.d.ts +1 -1
- package/dist/src/tools/tool-catalog.d.ts.map +1 -1
- package/dist/src/tools/tool-catalog.js +382 -0
- package/dist/src/tools/tool-catalog.js.map +1 -1
- package/dist/src/tools/tool-dispatcher.d.ts.map +1 -1
- package/dist/src/tools/tool-dispatcher.js +4 -0
- package/dist/src/tools/tool-dispatcher.js.map +1 -1
- package/dist/src/types/adr-aggregator.d.ts +692 -0
- package/dist/src/types/adr-aggregator.d.ts.map +1 -0
- package/dist/src/types/adr-aggregator.js +8 -0
- package/dist/src/types/adr-aggregator.js.map +1 -0
- package/dist/src/types/index.d.ts +3 -2
- package/dist/src/types/index.d.ts.map +1 -1
- package/dist/src/types/memory-entities.d.ts +48 -48
- package/dist/src/utils/adr-aggregator-client.d.ts +177 -0
- package/dist/src/utils/adr-aggregator-client.d.ts.map +1 -0
- package/dist/src/utils/adr-aggregator-client.js +396 -0
- package/dist/src/utils/adr-aggregator-client.js.map +1 -0
- package/dist/src/utils/config.d.ts +3 -0
- package/dist/src/utils/config.d.ts.map +1 -1
- package/dist/src/utils/config.js +13 -0
- package/dist/src/utils/config.js.map +1 -1
- package/dist/src/utils/git-remote-detector.d.ts +67 -0
- package/dist/src/utils/git-remote-detector.d.ts.map +1 -0
- package/dist/src/utils/git-remote-detector.js +194 -0
- package/dist/src/utils/git-remote-detector.js.map +1 -0
- package/package.json +3 -3
|
@@ -0,0 +1,67 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git Remote Detection Utility
|
|
3
|
+
* Auto-detects repository name from git remote origin for ADR Aggregator integration
|
|
4
|
+
*/
|
|
5
|
+
/**
|
|
6
|
+
* Git hosting provider
|
|
7
|
+
*/
|
|
8
|
+
export type GitProvider = 'github' | 'gitlab' | 'bitbucket' | 'azure' | 'unknown';
|
|
9
|
+
/**
|
|
10
|
+
* Git remote information
|
|
11
|
+
*/
|
|
12
|
+
export interface GitRemoteInfo {
|
|
13
|
+
/** Full remote URL */
|
|
14
|
+
remoteUrl: string;
|
|
15
|
+
/** Extracted owner/repo format (e.g., "tosin2013/mcp-adr-analysis-server") */
|
|
16
|
+
repositoryName: string;
|
|
17
|
+
/** Git hosting provider */
|
|
18
|
+
provider: GitProvider;
|
|
19
|
+
/** Current branch name */
|
|
20
|
+
currentBranch: string;
|
|
21
|
+
}
|
|
22
|
+
/**
|
|
23
|
+
* Detect git remote origin and extract repository information
|
|
24
|
+
*
|
|
25
|
+
* @param projectPath - Path to the project directory (defaults to cwd)
|
|
26
|
+
* @returns Git remote information including repository name
|
|
27
|
+
* @throws McpAdrError if not a git repository or remote detection fails
|
|
28
|
+
*
|
|
29
|
+
* @example
|
|
30
|
+
* ```typescript
|
|
31
|
+
* const gitInfo = detectGitRemote('/path/to/project');
|
|
32
|
+
* console.log(gitInfo.repositoryName); // "owner/repo"
|
|
33
|
+
* console.log(gitInfo.provider); // "github"
|
|
34
|
+
* ```
|
|
35
|
+
*/
|
|
36
|
+
export declare function detectGitRemote(projectPath?: string): GitRemoteInfo;
|
|
37
|
+
/**
|
|
38
|
+
* Check if current directory is a git repository
|
|
39
|
+
*
|
|
40
|
+
* @param projectPath - Path to check (defaults to cwd)
|
|
41
|
+
* @returns true if directory is inside a git repository
|
|
42
|
+
*/
|
|
43
|
+
export declare function isGitRepository(projectPath?: string): boolean;
|
|
44
|
+
/**
|
|
45
|
+
* Get the git root directory
|
|
46
|
+
*
|
|
47
|
+
* @param projectPath - Starting path (defaults to cwd)
|
|
48
|
+
* @returns Absolute path to git root directory
|
|
49
|
+
* @throws McpAdrError if not in a git repository
|
|
50
|
+
*/
|
|
51
|
+
export declare function getGitRoot(projectPath?: string): string;
|
|
52
|
+
/**
|
|
53
|
+
* Get the current commit hash
|
|
54
|
+
*
|
|
55
|
+
* @param projectPath - Path to the project (defaults to cwd)
|
|
56
|
+
* @param short - Return short hash (7 chars) instead of full hash
|
|
57
|
+
* @returns Current commit hash
|
|
58
|
+
*/
|
|
59
|
+
export declare function getCurrentCommit(projectPath?: string, short?: boolean): string;
|
|
60
|
+
/**
|
|
61
|
+
* Check if there are uncommitted changes
|
|
62
|
+
*
|
|
63
|
+
* @param projectPath - Path to the project (defaults to cwd)
|
|
64
|
+
* @returns true if there are uncommitted changes
|
|
65
|
+
*/
|
|
66
|
+
export declare function hasUncommittedChanges(projectPath?: string): boolean;
|
|
67
|
+
//# sourceMappingURL=git-remote-detector.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-remote-detector.d.ts","sourceRoot":"","sources":["../../../src/utils/git-remote-detector.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAKH;;GAEG;AACH,MAAM,MAAM,WAAW,GAAG,QAAQ,GAAG,QAAQ,GAAG,WAAW,GAAG,OAAO,GAAG,SAAS,CAAC;AAElF;;GAEG;AACH,MAAM,WAAW,aAAa;IAC5B,sBAAsB;IACtB,SAAS,EAAE,MAAM,CAAC;IAClB,8EAA8E;IAC9E,cAAc,EAAE,MAAM,CAAC;IACvB,2BAA2B;IAC3B,QAAQ,EAAE,WAAW,CAAC;IACtB,0BAA0B;IAC1B,aAAa,EAAE,MAAM,CAAC;CACvB;AAED;;;;;;;;;;;;;GAaG;AACH,wBAAgB,eAAe,CAAC,WAAW,GAAE,MAAsB,GAAG,aAAa,CA+BlF;AA4ED;;;;;GAKG;AACH,wBAAgB,eAAe,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAW5E;AAED;;;;;;GAMG;AACH,wBAAgB,UAAU,CAAC,WAAW,GAAE,MAAsB,GAAG,MAAM,CAatE;AAED;;;;;;GAMG;AACH,wBAAgB,gBAAgB,CAC9B,WAAW,GAAE,MAAsB,EACnC,KAAK,GAAE,OAAe,GACrB,MAAM,CAcR;AAED;;;;;GAKG;AACH,wBAAgB,qBAAqB,CAAC,WAAW,GAAE,MAAsB,GAAG,OAAO,CAWlF"}
|
|
@@ -0,0 +1,194 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Git Remote Detection Utility
|
|
3
|
+
* Auto-detects repository name from git remote origin for ADR Aggregator integration
|
|
4
|
+
*/
|
|
5
|
+
import { execSync } from 'node:child_process';
|
|
6
|
+
import { McpAdrError } from '../types/index.js';
|
|
7
|
+
/**
|
|
8
|
+
* Detect git remote origin and extract repository information
|
|
9
|
+
*
|
|
10
|
+
* @param projectPath - Path to the project directory (defaults to cwd)
|
|
11
|
+
* @returns Git remote information including repository name
|
|
12
|
+
* @throws McpAdrError if not a git repository or remote detection fails
|
|
13
|
+
*
|
|
14
|
+
* @example
|
|
15
|
+
* ```typescript
|
|
16
|
+
* const gitInfo = detectGitRemote('/path/to/project');
|
|
17
|
+
* console.log(gitInfo.repositoryName); // "owner/repo"
|
|
18
|
+
* console.log(gitInfo.provider); // "github"
|
|
19
|
+
* ```
|
|
20
|
+
*/
|
|
21
|
+
export function detectGitRemote(projectPath = process.cwd()) {
|
|
22
|
+
try {
|
|
23
|
+
// Get remote origin URL
|
|
24
|
+
const remoteUrl = execSync('git config --get remote.origin.url', {
|
|
25
|
+
cwd: projectPath,
|
|
26
|
+
encoding: 'utf-8',
|
|
27
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
28
|
+
}).trim();
|
|
29
|
+
// Get current branch
|
|
30
|
+
const currentBranch = execSync('git rev-parse --abbrev-ref HEAD', {
|
|
31
|
+
cwd: projectPath,
|
|
32
|
+
encoding: 'utf-8',
|
|
33
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
34
|
+
}).trim();
|
|
35
|
+
// Extract repository name from URL
|
|
36
|
+
const { repositoryName, provider } = parseRemoteUrl(remoteUrl);
|
|
37
|
+
return {
|
|
38
|
+
remoteUrl,
|
|
39
|
+
repositoryName,
|
|
40
|
+
provider,
|
|
41
|
+
currentBranch,
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
catch (error) {
|
|
45
|
+
throw new McpAdrError(`Failed to detect git remote: ${error instanceof Error ? error.message : String(error)}`, 'GIT_REMOTE_DETECTION_ERROR');
|
|
46
|
+
}
|
|
47
|
+
}
|
|
48
|
+
/**
|
|
49
|
+
* Parse remote URL to extract repository name and provider
|
|
50
|
+
*
|
|
51
|
+
* Supports:
|
|
52
|
+
* - SSH format: git@github.com:owner/repo.git
|
|
53
|
+
* - HTTPS format: https://github.com/owner/repo.git
|
|
54
|
+
* - Azure DevOps: https://dev.azure.com/org/project/_git/repo
|
|
55
|
+
*/
|
|
56
|
+
function parseRemoteUrl(url) {
|
|
57
|
+
let repositoryName = '';
|
|
58
|
+
let provider = 'unknown';
|
|
59
|
+
// Handle SSH format: git@github.com:owner/repo.git
|
|
60
|
+
const sshMatch = url.match(/git@([^:]+):([^/]+)\/(.+?)(\.git)?$/);
|
|
61
|
+
if (sshMatch && sshMatch[1] && sshMatch[2] && sshMatch[3]) {
|
|
62
|
+
const host = sshMatch[1];
|
|
63
|
+
const owner = sshMatch[2];
|
|
64
|
+
const repo = sshMatch[3];
|
|
65
|
+
repositoryName = `${owner}/${repo}`;
|
|
66
|
+
provider = detectProvider(host);
|
|
67
|
+
return { repositoryName, provider };
|
|
68
|
+
}
|
|
69
|
+
// Handle Azure DevOps: https://dev.azure.com/org/project/_git/repo
|
|
70
|
+
const azureMatch = url.match(/https?:\/\/dev\.azure\.com\/([^/]+)\/([^/]+)\/_git\/(.+?)(\.git)?$/);
|
|
71
|
+
if (azureMatch && azureMatch[1] && azureMatch[2] && azureMatch[3]) {
|
|
72
|
+
const org = azureMatch[1];
|
|
73
|
+
const project = azureMatch[2];
|
|
74
|
+
const repo = azureMatch[3];
|
|
75
|
+
repositoryName = `${org}/${project}/${repo}`;
|
|
76
|
+
provider = 'azure';
|
|
77
|
+
return { repositoryName, provider };
|
|
78
|
+
}
|
|
79
|
+
// Handle Azure DevOps (visualstudio.com format)
|
|
80
|
+
const vsMatch = url.match(/https?:\/\/([^.]+)\.visualstudio\.com\/([^/]+)\/_git\/(.+?)(\.git)?$/);
|
|
81
|
+
if (vsMatch && vsMatch[1] && vsMatch[2] && vsMatch[3]) {
|
|
82
|
+
const org = vsMatch[1];
|
|
83
|
+
const project = vsMatch[2];
|
|
84
|
+
const repo = vsMatch[3];
|
|
85
|
+
repositoryName = `${org}/${project}/${repo}`;
|
|
86
|
+
provider = 'azure';
|
|
87
|
+
return { repositoryName, provider };
|
|
88
|
+
}
|
|
89
|
+
// Handle HTTPS format: https://github.com/owner/repo.git
|
|
90
|
+
const httpsMatch = url.match(/https?:\/\/([^/]+)\/([^/]+)\/(.+?)(\.git)?$/);
|
|
91
|
+
if (httpsMatch && httpsMatch[1] && httpsMatch[2] && httpsMatch[3]) {
|
|
92
|
+
const host = httpsMatch[1];
|
|
93
|
+
const owner = httpsMatch[2];
|
|
94
|
+
const repo = httpsMatch[3];
|
|
95
|
+
repositoryName = `${owner}/${repo}`;
|
|
96
|
+
provider = detectProvider(host);
|
|
97
|
+
return { repositoryName, provider };
|
|
98
|
+
}
|
|
99
|
+
// Fallback: return URL as-is
|
|
100
|
+
return { repositoryName: url, provider: 'unknown' };
|
|
101
|
+
}
|
|
102
|
+
/**
|
|
103
|
+
* Detect git provider from hostname
|
|
104
|
+
*/
|
|
105
|
+
function detectProvider(host) {
|
|
106
|
+
const hostLower = host.toLowerCase();
|
|
107
|
+
if (hostLower.includes('github'))
|
|
108
|
+
return 'github';
|
|
109
|
+
if (hostLower.includes('gitlab'))
|
|
110
|
+
return 'gitlab';
|
|
111
|
+
if (hostLower.includes('bitbucket'))
|
|
112
|
+
return 'bitbucket';
|
|
113
|
+
if (hostLower.includes('azure') || hostLower.includes('visualstudio'))
|
|
114
|
+
return 'azure';
|
|
115
|
+
return 'unknown';
|
|
116
|
+
}
|
|
117
|
+
/**
|
|
118
|
+
* Check if current directory is a git repository
|
|
119
|
+
*
|
|
120
|
+
* @param projectPath - Path to check (defaults to cwd)
|
|
121
|
+
* @returns true if directory is inside a git repository
|
|
122
|
+
*/
|
|
123
|
+
export function isGitRepository(projectPath = process.cwd()) {
|
|
124
|
+
try {
|
|
125
|
+
execSync('git rev-parse --is-inside-work-tree', {
|
|
126
|
+
cwd: projectPath,
|
|
127
|
+
encoding: 'utf-8',
|
|
128
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
129
|
+
});
|
|
130
|
+
return true;
|
|
131
|
+
}
|
|
132
|
+
catch {
|
|
133
|
+
return false;
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**
|
|
137
|
+
* Get the git root directory
|
|
138
|
+
*
|
|
139
|
+
* @param projectPath - Starting path (defaults to cwd)
|
|
140
|
+
* @returns Absolute path to git root directory
|
|
141
|
+
* @throws McpAdrError if not in a git repository
|
|
142
|
+
*/
|
|
143
|
+
export function getGitRoot(projectPath = process.cwd()) {
|
|
144
|
+
try {
|
|
145
|
+
return execSync('git rev-parse --show-toplevel', {
|
|
146
|
+
cwd: projectPath,
|
|
147
|
+
encoding: 'utf-8',
|
|
148
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
149
|
+
}).trim();
|
|
150
|
+
}
|
|
151
|
+
catch (error) {
|
|
152
|
+
throw new McpAdrError(`Not in a git repository: ${error instanceof Error ? error.message : String(error)}`, 'NOT_GIT_REPO');
|
|
153
|
+
}
|
|
154
|
+
}
|
|
155
|
+
/**
|
|
156
|
+
* Get the current commit hash
|
|
157
|
+
*
|
|
158
|
+
* @param projectPath - Path to the project (defaults to cwd)
|
|
159
|
+
* @param short - Return short hash (7 chars) instead of full hash
|
|
160
|
+
* @returns Current commit hash
|
|
161
|
+
*/
|
|
162
|
+
export function getCurrentCommit(projectPath = process.cwd(), short = false) {
|
|
163
|
+
try {
|
|
164
|
+
const format = short ? '--short' : '';
|
|
165
|
+
return execSync(`git rev-parse ${format} HEAD`, {
|
|
166
|
+
cwd: projectPath,
|
|
167
|
+
encoding: 'utf-8',
|
|
168
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
169
|
+
}).trim();
|
|
170
|
+
}
|
|
171
|
+
catch (error) {
|
|
172
|
+
throw new McpAdrError(`Failed to get current commit: ${error instanceof Error ? error.message : String(error)}`, 'GIT_COMMIT_ERROR');
|
|
173
|
+
}
|
|
174
|
+
}
|
|
175
|
+
/**
|
|
176
|
+
* Check if there are uncommitted changes
|
|
177
|
+
*
|
|
178
|
+
* @param projectPath - Path to the project (defaults to cwd)
|
|
179
|
+
* @returns true if there are uncommitted changes
|
|
180
|
+
*/
|
|
181
|
+
export function hasUncommittedChanges(projectPath = process.cwd()) {
|
|
182
|
+
try {
|
|
183
|
+
const status = execSync('git status --porcelain', {
|
|
184
|
+
cwd: projectPath,
|
|
185
|
+
encoding: 'utf-8',
|
|
186
|
+
stdio: ['pipe', 'pipe', 'pipe'],
|
|
187
|
+
}).trim();
|
|
188
|
+
return status.length > 0;
|
|
189
|
+
}
|
|
190
|
+
catch {
|
|
191
|
+
return false;
|
|
192
|
+
}
|
|
193
|
+
}
|
|
194
|
+
//# sourceMappingURL=git-remote-detector.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-remote-detector.js","sourceRoot":"","sources":["../../../src/utils/git-remote-detector.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "mcp-adr-analysis-server",
|
|
3
|
-
"version": "2.1.
|
|
3
|
+
"version": "2.1.28",
|
|
4
4
|
"description": "MCP server for analyzing Architectural Decision Records and project architecture",
|
|
5
5
|
"main": "dist/src/index.js",
|
|
6
6
|
"type": "module",
|
|
@@ -75,7 +75,7 @@
|
|
|
75
75
|
"@types/node": "^25.0.2",
|
|
76
76
|
"@typescript-eslint/eslint-plugin": "^8.45.0",
|
|
77
77
|
"@typescript-eslint/parser": "^8.45.0",
|
|
78
|
-
"@vitest/coverage-v8": "^4.0.
|
|
78
|
+
"@vitest/coverage-v8": "^4.0.17",
|
|
79
79
|
"ajv": "^8.17.1",
|
|
80
80
|
"eslint": "^9.36.0",
|
|
81
81
|
"eslint-config-prettier": "^10.1.8",
|
|
@@ -90,7 +90,7 @@
|
|
|
90
90
|
"tsx": "^4.6.0",
|
|
91
91
|
"typedoc": "^0.28.13",
|
|
92
92
|
"typescript": "^5.9.3",
|
|
93
|
-
"vitest": "^4.0.
|
|
93
|
+
"vitest": "^4.0.17"
|
|
94
94
|
},
|
|
95
95
|
"keywords": [
|
|
96
96
|
"mcp",
|