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.
Files changed (40) hide show
  1. package/README.md +63 -1
  2. package/dist/.tsbuildinfo +1 -1
  3. package/dist/src/index.d.ts.map +1 -1
  4. package/dist/src/index.js +370 -0
  5. package/dist/src/index.js.map +1 -1
  6. package/dist/src/tools/adr-aggregator-tools.d.ts +185 -0
  7. package/dist/src/tools/adr-aggregator-tools.d.ts.map +1 -0
  8. package/dist/src/tools/adr-aggregator-tools.js +872 -0
  9. package/dist/src/tools/adr-aggregator-tools.js.map +1 -0
  10. package/dist/src/tools/analyze-gaps-tool.d.ts +57 -0
  11. package/dist/src/tools/analyze-gaps-tool.d.ts.map +1 -0
  12. package/dist/src/tools/analyze-gaps-tool.js +727 -0
  13. package/dist/src/tools/analyze-gaps-tool.js.map +1 -0
  14. package/dist/src/tools/tool-catalog.d.ts +1 -1
  15. package/dist/src/tools/tool-catalog.d.ts.map +1 -1
  16. package/dist/src/tools/tool-catalog.js +382 -0
  17. package/dist/src/tools/tool-catalog.js.map +1 -1
  18. package/dist/src/tools/tool-dispatcher.d.ts.map +1 -1
  19. package/dist/src/tools/tool-dispatcher.js +4 -0
  20. package/dist/src/tools/tool-dispatcher.js.map +1 -1
  21. package/dist/src/types/adr-aggregator.d.ts +692 -0
  22. package/dist/src/types/adr-aggregator.d.ts.map +1 -0
  23. package/dist/src/types/adr-aggregator.js +8 -0
  24. package/dist/src/types/adr-aggregator.js.map +1 -0
  25. package/dist/src/types/index.d.ts +3 -2
  26. package/dist/src/types/index.d.ts.map +1 -1
  27. package/dist/src/types/memory-entities.d.ts +48 -48
  28. package/dist/src/utils/adr-aggregator-client.d.ts +177 -0
  29. package/dist/src/utils/adr-aggregator-client.d.ts.map +1 -0
  30. package/dist/src/utils/adr-aggregator-client.js +396 -0
  31. package/dist/src/utils/adr-aggregator-client.js.map +1 -0
  32. package/dist/src/utils/config.d.ts +3 -0
  33. package/dist/src/utils/config.d.ts.map +1 -1
  34. package/dist/src/utils/config.js +13 -0
  35. package/dist/src/utils/config.js.map +1 -1
  36. package/dist/src/utils/git-remote-detector.d.ts +67 -0
  37. package/dist/src/utils/git-remote-detector.d.ts.map +1 -0
  38. package/dist/src/utils/git-remote-detector.js +194 -0
  39. package/dist/src/utils/git-remote-detector.js.map +1 -0
  40. 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.22",
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.16",
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.16"
93
+ "vitest": "^4.0.17"
94
94
  },
95
95
  "keywords": [
96
96
  "mcp",