@andrebuzeli/git-mcp 7.6.0 → 8.0.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 (91) hide show
  1. package/README.md +309 -0
  2. package/dist/index.js +3 -1
  3. package/dist/index.js.map +1 -1
  4. package/dist/providers/giteaProvider.d.ts +17 -1
  5. package/dist/providers/giteaProvider.d.ts.map +1 -1
  6. package/dist/providers/giteaProvider.js +86 -1
  7. package/dist/providers/giteaProvider.js.map +1 -1
  8. package/dist/providers/providerManager.d.ts +2 -0
  9. package/dist/providers/providerManager.d.ts.map +1 -1
  10. package/dist/providers/providerManager.js +3 -0
  11. package/dist/providers/providerManager.js.map +1 -1
  12. package/dist/server.d.ts +2 -0
  13. package/dist/server.d.ts.map +1 -1
  14. package/dist/server.js +1 -1
  15. package/dist/server.js.map +1 -1
  16. package/dist/tools/gitAnalytics.d.ts.map +1 -1
  17. package/dist/tools/gitAnalytics.js +5 -0
  18. package/dist/tools/gitAnalytics.js.map +1 -1
  19. package/dist/tools/gitBackup.d.ts +2 -2
  20. package/dist/tools/gitBackup.d.ts.map +1 -1
  21. package/dist/tools/gitBackup.js +5 -6
  22. package/dist/tools/gitBackup.js.map +1 -1
  23. package/dist/tools/gitBranches.d.ts.map +1 -1
  24. package/dist/tools/gitBranches.js +35 -21
  25. package/dist/tools/gitBranches.js.map +1 -1
  26. package/dist/tools/gitConfig.d.ts +2 -2
  27. package/dist/tools/gitConfig.d.ts.map +1 -1
  28. package/dist/tools/gitConfig.js +7 -8
  29. package/dist/tools/gitConfig.js.map +1 -1
  30. package/dist/tools/gitFix.d.ts +2 -1
  31. package/dist/tools/gitFix.d.ts.map +1 -1
  32. package/dist/tools/gitFix.js +24 -17
  33. package/dist/tools/gitFix.js.map +1 -1
  34. package/dist/tools/gitFix.tool.d.ts +2 -2
  35. package/dist/tools/gitFix.tool.d.ts.map +1 -1
  36. package/dist/tools/gitFix.tool.js +2 -2
  37. package/dist/tools/gitFix.tool.js.map +1 -1
  38. package/dist/tools/gitHistory.d.ts.map +1 -1
  39. package/dist/tools/gitHistory.js +9 -10
  40. package/dist/tools/gitHistory.js.map +1 -1
  41. package/dist/tools/gitIssues.d.ts.map +1 -1
  42. package/dist/tools/gitIssues.js +44 -13
  43. package/dist/tools/gitIssues.js.map +1 -1
  44. package/dist/tools/gitMonitor.d.ts.map +1 -1
  45. package/dist/tools/gitMonitor.js +10 -11
  46. package/dist/tools/gitMonitor.js.map +1 -1
  47. package/dist/tools/gitPackages.js +1 -1
  48. package/dist/tools/gitPackages.js.map +1 -1
  49. package/dist/tools/gitPulls.d.ts.map +1 -1
  50. package/dist/tools/gitPulls.js +24 -5
  51. package/dist/tools/gitPulls.js.map +1 -1
  52. package/dist/tools/gitRelease.d.ts.map +1 -1
  53. package/dist/tools/gitRelease.js +35 -4
  54. package/dist/tools/gitRelease.js.map +1 -1
  55. package/dist/tools/gitRemote.d.ts +6 -1
  56. package/dist/tools/gitRemote.d.ts.map +1 -1
  57. package/dist/tools/gitRemote.js +17 -9
  58. package/dist/tools/gitRemote.js.map +1 -1
  59. package/dist/tools/gitReset.d.ts.map +1 -1
  60. package/dist/tools/gitReset.js +6 -7
  61. package/dist/tools/gitReset.js.map +1 -1
  62. package/dist/tools/gitStash.d.ts +2 -2
  63. package/dist/tools/gitStash.d.ts.map +1 -1
  64. package/dist/tools/gitStash.js +21 -25
  65. package/dist/tools/gitStash.js.map +1 -1
  66. package/dist/tools/gitSync.d.ts.map +1 -1
  67. package/dist/tools/gitSync.js +16 -19
  68. package/dist/tools/gitSync.js.map +1 -1
  69. package/dist/tools/gitTags.d.ts.map +1 -1
  70. package/dist/tools/gitTags.js +12 -23
  71. package/dist/tools/gitTags.js.map +1 -1
  72. package/dist/tools/gitUpdate.d.ts.map +1 -1
  73. package/dist/tools/gitUpdate.js +28 -41
  74. package/dist/tools/gitUpdate.js.map +1 -1
  75. package/dist/tools/gitUpload.d.ts.map +1 -1
  76. package/dist/tools/gitUpload.js +19 -21
  77. package/dist/tools/gitUpload.js.map +1 -1
  78. package/dist/tools/gitWorkflow.d.ts.map +1 -1
  79. package/dist/tools/gitWorkflow.js +21 -39
  80. package/dist/tools/gitWorkflow.js.map +1 -1
  81. package/dist/types.d.ts +2 -0
  82. package/dist/types.d.ts.map +1 -1
  83. package/dist/utils/apiHelpers.d.ts +30 -0
  84. package/dist/utils/apiHelpers.d.ts.map +1 -0
  85. package/dist/utils/apiHelpers.js +126 -0
  86. package/dist/utils/apiHelpers.js.map +1 -0
  87. package/dist/utils/gitAdapter.d.ts +222 -0
  88. package/dist/utils/gitAdapter.d.ts.map +1 -0
  89. package/dist/utils/gitAdapter.js +1071 -0
  90. package/dist/utils/gitAdapter.js.map +1 -0
  91. package/package.json +12 -4
package/README.md ADDED
@@ -0,0 +1,309 @@
1
+ # 🚀 Git MCP - 100% Native JavaScript Git Implementation
2
+
3
+ **Model Context Protocol (MCP) server for Git operations with ZERO dependencies on installed Git!**
4
+
5
+ ## ✨ Key Features
6
+
7
+ ### 🎯 **100% Git Independent**
8
+ - **No Git installation required** - Pure JavaScript implementation using [isomorphic-git](https://isomorphic-git.org/)
9
+ - **Works anywhere** - Browser, Node.js, Electron, VS Code, or any JavaScript runtime
10
+ - **Cross-platform** - Windows, macOS, Linux with identical behavior
11
+ - **Portable** - Bundle everything in your app, no external dependencies
12
+
13
+ ### 🔄 **Dual-Provider Support**
14
+ - **GitHub + Gitea** - Automatic dual-push to both platforms
15
+ - **Unified API** - Single command pushes to both providers
16
+ - **Fallback support** - Works with either provider independently
17
+ - **Environment-based auth** - Uses `GITHUB_TOKEN` and `GITEA_TOKEN`
18
+
19
+ ### 🧠 **Smart Commit Authors**
20
+ - **Automatic detection** - Extracts username from GitHub/Gitea APIs
21
+ - **Provider-aware** - Uses authenticated provider username
22
+ - **Fallback chain** - Provider → Local .git/config → Default "MCP User"
23
+
24
+ ### 📊 **Complete Traceability**
25
+ - **Full history tracking** - Every change logged with timestamps
26
+ - **Issue integration** - Links commits to GitHub/Gitea issues
27
+ - **Detailed metadata** - Files changed, authors, providers, and more
28
+
29
+ ### 🛠️ **22 Comprehensive Tools**
30
+
31
+ #### Core Operations
32
+ - `git-workflow` - Initialize, status, commit, sync, backup
33
+ - `git-update` - Complete update workflow (add + commit + push)
34
+ - `git-upload` - Upload entire project to GitHub/Gitea
35
+ - `git-fix` - Auto-configure dual-provider system
36
+
37
+ #### Branch Management
38
+ - `git-branches` - List, create, delete, checkout, merge branches
39
+
40
+ #### Remote Operations
41
+ - `git-remote` - Manage remotes (add, remove, list)
42
+ - `git-sync` - Fetch, pull, push operations
43
+
44
+ #### Version Control
45
+ - `git-tags` - Create, list, delete tags
46
+ - `git-stash` - Save, list, apply, pop, drop stash (standard Git format)
47
+ - `git-reset` - Soft, mixed, hard reset operations
48
+
49
+ #### Configuration
50
+ - `git-config` - Local, global, and system Git configuration
51
+ - `git-ignore` - Manage .gitignore patterns
52
+
53
+ #### Collaboration
54
+ - `git-issues` - Create, list, update GitHub/Gitea issues
55
+ - `git-pulls` - Create, list, merge pull requests
56
+ - `git-release` - Create and manage releases
57
+
58
+ #### Advanced
59
+ - `git-history` - Complete change history with remote tracking
60
+ - `git-monitor` - Repository monitoring and analytics
61
+ - `git-analytics` - Detailed repository statistics
62
+ - `git-backup` - Backup and restore operations
63
+ - `git-archive` - Archive repository state
64
+ - `git-packages` - Package management
65
+
66
+ ## 🏗️ Architecture
67
+
68
+ ### GitAdapter Pattern
69
+ ```typescript
70
+ interface GitAdapter {
71
+ // Core operations
72
+ init(projectPath: string): Promise<void>;
73
+ status(projectPath: string): Promise<StatusResult>;
74
+ add(projectPath: string, files: string[]): Promise<void>;
75
+ commit(projectPath: string, message: string): Promise<string>;
76
+
77
+ // Remote operations (HTTP-based, no SSH)
78
+ push(projectPath: string, remote: string, branch: string): Promise<void>;
79
+ pull(projectPath: string, remote: string, branch: string): Promise<void>;
80
+ fetch(projectPath: string, remote: string): Promise<void>;
81
+
82
+ // Advanced operations
83
+ merge(projectPath: string, branch: string): Promise<void>;
84
+ log(projectPath: string, options?: any): Promise<LogEntry[]>;
85
+ diff(projectPath: string, ref1?: string, ref2?: string): Promise<DiffResult>;
86
+ reset(projectPath: string, ref: string, mode: 'soft'|'mixed'|'hard'): Promise<void>;
87
+
88
+ // Hybrid implementations
89
+ stashSave/List/Apply/Pop/Drop/Clear() // Uses refs/stash + reflog
90
+ getConfig/setConfig/listConfig() // isomorphic-git + fs for global/system
91
+ }
92
+ ```
93
+
94
+ ### IsomorphicGitAdapter Implementation
95
+ - **100% isomorphic-git** - No simple-git dependency
96
+ - **HTTP authentication** - Token-based via `onAuth` callbacks
97
+ - **Standard Git formats** - Compatible with native Git
98
+ - **Hybrid features** - Combines isomorphic-git with Node.js fs for full functionality
99
+
100
+ ## 📦 Installation
101
+
102
+ ```bash
103
+ npm install @andrebuzeli/git-mcp
104
+ ```
105
+
106
+ ### Environment Variables
107
+ ```bash
108
+ # GitHub authentication
109
+ GITHUB_TOKEN=ghp_xxxxxxxxxxxx
110
+ GITHUB_USERNAME=your-username
111
+
112
+ # Gitea authentication
113
+ GITEA_TOKEN=xxxxxxxxxx
114
+ GITEA_USERNAME=your-username
115
+ GITEA_URL=https://gitea.example.com # or http://localhost:3000
116
+ ```
117
+
118
+ ### MCP Configuration (Claude Desktop / IDEs)
119
+
120
+ Add to your `mcp.json`:
121
+
122
+ ```json
123
+ {
124
+ "mcpServers": {
125
+ "git-mcp": {
126
+ "command": "node",
127
+ "args": ["Z:\\MCP\\GIT MCP\\build\\index.js"],
128
+ "env": {
129
+ "GITHUB_TOKEN": "ghp_xxxxxxxxxxxx",
130
+ "GITHUB_USERNAME": "your-username",
131
+ "GITEA_TOKEN": "xxxxxxxxxx",
132
+ "GITEA_USERNAME": "your-username",
133
+ "GITEA_URL": "http://localhost:3000"
134
+ }
135
+ }
136
+ }
137
+ }
138
+ ```
139
+
140
+ ## 🚀 Quick Start
141
+
142
+ ### 1. Fix Existing Repository
143
+ ```typescript
144
+ {
145
+ "projectPath": "/path/to/repo",
146
+ "autoDetect": true // Auto-detects GitHub/Gitea from existing remotes
147
+ }
148
+ ```
149
+
150
+ ### 2. Initialize New Repository
151
+ ```typescript
152
+ {
153
+ "action": "init",
154
+ "projectPath": "/path/to/new-project"
155
+ }
156
+ ```
157
+
158
+ ### 3. Complete Update Workflow
159
+ ```typescript
160
+ {
161
+ "projectPath": "/path/to/project",
162
+ "commitMessage": "feat: add new feature",
163
+ "repoName": "my-project",
164
+ "description": "My awesome project",
165
+ "private": true
166
+ }
167
+ ```
168
+
169
+ ## 🔧 How It Works
170
+
171
+ ### No Git Installation Needed
172
+
173
+ Traditional Git tools require Git CLI to be installed:
174
+ ```bash
175
+ # ❌ OLD WAY - Requires Git installation
176
+ git add .
177
+ git commit -m "message"
178
+ git push origin main
179
+ ```
180
+
181
+ **Git MCP uses isomorphic-git - pure JavaScript:**
182
+ ```typescript
183
+ // ✅ NEW WAY - No Git installation required
184
+ await git.add(projectPath, '.');
185
+ await git.commit(projectPath, 'message');
186
+ await git.push(projectPath, 'origin', 'main');
187
+ ```
188
+
189
+ ### HTTP-Based Authentication
190
+
191
+ **No SSH keys needed** - Uses HTTP tokens:
192
+
193
+ ```typescript
194
+ // Automatic authentication via environment tokens
195
+ const auth = {
196
+ username: process.env.GITHUB_USERNAME,
197
+ password: process.env.GITHUB_TOKEN
198
+ };
199
+
200
+ await git.push({
201
+ fs,
202
+ http,
203
+ dir: projectPath,
204
+ remote: 'github',
205
+ ref: 'main',
206
+ onAuth: () => auth
207
+ });
208
+ ```
209
+
210
+ ### Hybrid Implementations
211
+
212
+ Some Git features not natively supported by isomorphic-git are implemented using hybrid approaches:
213
+
214
+ #### Stash (refs/stash + reflog)
215
+ ```typescript
216
+ // Creates standard Git stash using commits + refs/stash
217
+ await git.stashSave(projectPath, 'WIP: feature');
218
+
219
+ // Reflog stored in .git/logs/refs/stash
220
+ // Compatible with native Git stash commands
221
+ ```
222
+
223
+ #### Global Config (fs + isomorphic-git)
224
+ ```typescript
225
+ // Local config via isomorphic-git
226
+ await git.setConfig(projectPath, 'user.name', 'John', 'local');
227
+
228
+ // Global config via direct fs access to ~/.gitconfig
229
+ await git.setConfig(projectPath, 'user.email', 'john@example.com', 'global');
230
+ ```
231
+
232
+ ## 🎯 Use Cases
233
+
234
+ ### ✅ Perfect For:
235
+ - **CI/CD pipelines** - No Git installation needed
236
+ - **Electron apps** - Embedded Git functionality
237
+ - **VS Code extensions** - Native Git operations
238
+ - **Web applications** - Git in the browser
239
+ - **Docker containers** - Smaller images without Git
240
+ - **Cross-platform tools** - Consistent behavior everywhere
241
+
242
+ ### ⚠️ Limitations:
243
+ - **SSH not supported** - Use HTTPS with tokens
244
+ - **Large repos** - May be slower than native Git
245
+ - **Complex operations** - Some advanced features limited
246
+
247
+ ## 📊 Performance
248
+
249
+ - **Startup time**: ~100ms (no Git CLI spawning)
250
+ - **Small repos (<100MB)**: Comparable to native Git
251
+ - **Large repos (>1GB)**: 2-3x slower than native Git
252
+ - **Memory usage**: Higher than native Git (pure JavaScript)
253
+
254
+ ## 🔒 Security
255
+
256
+ - **Token-based auth** - No passwords or SSH keys stored
257
+ - **Environment variables** - Credentials from secure sources
258
+ - **No shell execution** - Pure JavaScript, no command injection
259
+ - **Sandboxed operations** - All operations in Node.js runtime
260
+
261
+ ## 🛠️ Development
262
+
263
+ ### Build
264
+ ```bash
265
+ npm run build
266
+ ```
267
+
268
+ ### Test
269
+ ```bash
270
+ npm test
271
+ ```
272
+
273
+ ### Lint
274
+ ```bash
275
+ npm run lint
276
+ ```
277
+
278
+ ## 📚 Documentation
279
+
280
+ - [isomorphic-git Documentation](https://isomorphic-git.org/)
281
+ - [Model Context Protocol](https://modelcontextprotocol.io/)
282
+ - [API Reference](./docs/api.md) *(coming soon)*
283
+
284
+ ## 🤝 Contributing
285
+
286
+ Contributions welcome! Please read [CONTRIBUTING.md](./CONTRIBUTING.md) for guidelines.
287
+
288
+ ## 📄 License
289
+
290
+ MIT License - see [LICENSE](./LICENSE) for details.
291
+
292
+ ## 🙏 Credits
293
+
294
+ Built with:
295
+ - [isomorphic-git](https://isomorphic-git.org/) - Pure JavaScript Git implementation
296
+ - [@modelcontextprotocol/sdk](https://modelcontextprotocol.io/) - MCP protocol
297
+ - [@octokit/rest](https://octokit.github.io/rest.js/) - GitHub API client
298
+ - [axios](https://axios-http.com/) - HTTP client for Gitea API
299
+
300
+ ## 📞 Support
301
+
302
+ - **Issues**: [GitHub Issues](https://github.com/Andre-Buzeli/git-mcp/issues)
303
+ - **Discussions**: [GitHub Discussions](https://github.com/Andre-Buzeli/git-mcp/discussions)
304
+
305
+ ---
306
+
307
+ **Made with ❤️ by Andre Buzeli**
308
+
309
+ *Git operations without Git - powered by isomorphic-git and MCP*
package/dist/index.js CHANGED
@@ -3,6 +3,7 @@ import { Server } from '@modelcontextprotocol/sdk/server/index.js';
3
3
  import { StdioServerTransport } from '@modelcontextprotocol/sdk/server/stdio.js';
4
4
  import { CallToolRequestSchema, ListToolsRequestSchema, ListResourcesRequestSchema, ReadResourceRequestSchema, } from '@modelcontextprotocol/sdk/types.js';
5
5
  import { ProviderManager } from './providers/providerManager.js';
6
+ import { IsomorphicGitAdapter } from './utils/gitAdapter.js';
6
7
  import { loadMCPConfig } from './config.js';
7
8
  import { GitFilesTool } from './tools/gitFiles.js';
8
9
  import { GitWorkflowTool } from './tools/gitWorkflow.js';
@@ -31,6 +32,7 @@ async function main() {
31
32
  // Load optional mcp.json configuration (will populate process.env if values present)
32
33
  loadMCPConfig();
33
34
  const providerManager = new ProviderManager();
35
+ const gitAdapter = new IsomorphicGitAdapter(providerManager);
34
36
  // Skip validation on startup to prevent hanging (validation happens on first use)
35
37
  // Provider validation moved to lazy initialization
36
38
  // Register all 22 Git tools
@@ -100,7 +102,7 @@ async function main() {
100
102
  throw new Error(`Tool not found: ${toolName}`);
101
103
  }
102
104
  try {
103
- const result = await tool.handle(request.params.arguments ?? {}, { providerManager });
105
+ const result = await tool.handle(request.params.arguments ?? {}, { providerManager, gitAdapter });
104
106
  return {
105
107
  content: [
106
108
  {
package/dist/index.js.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,20 @@
1
+ export declare class GiteaAPIError extends Error {
2
+ status: number;
3
+ url: string;
4
+ response?: any | undefined;
5
+ constructor(message: string, status: number, url: string, response?: any | undefined);
6
+ }
7
+ interface GiteaResponse<T = any> {
8
+ data: T;
9
+ headers?: Record<string, string>;
10
+ status: number;
11
+ }
1
12
  export declare function createGiteaClient(baseUrl: string, token: string): {
2
- request: (path: string, opts?: any) => Promise<import("axios").AxiosResponse<any, any, {}>>;
13
+ request<T = any>(path: string, opts?: any): Promise<GiteaResponse<T>>;
14
+ get<T = any>(path: string): Promise<GiteaResponse<T>>;
15
+ post<T = any>(path: string, data?: any): Promise<GiteaResponse<T>>;
16
+ patch<T = any>(path: string, data?: any): Promise<GiteaResponse<T>>;
17
+ delete<T = any>(path: string): Promise<GiteaResponse<T>>;
3
18
  };
19
+ export {};
4
20
  //# sourceMappingURL=giteaProvider.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"giteaProvider.d.ts","sourceRoot":"","sources":["../../src/providers/giteaProvider.ts"],"names":[],"mappings":"AAEA,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;oBAE5C,MAAM,SAAQ,GAAG;EAGpC"}
1
+ {"version":3,"file":"giteaProvider.d.ts","sourceRoot":"","sources":["../../src/providers/giteaProvider.ts"],"names":[],"mappings":"AAMA,qBAAa,aAAc,SAAQ,KAAK;IAG7B,MAAM,EAAE,MAAM;IACd,GAAG,EAAE,MAAM;IACX,QAAQ,CAAC,EAAE,GAAG;gBAHrB,OAAO,EAAE,MAAM,EACR,MAAM,EAAE,MAAM,EACd,GAAG,EAAE,MAAM,EACX,QAAQ,CAAC,EAAE,GAAG,YAAA;CAKxB;AAED,UAAU,aAAa,CAAC,CAAC,GAAG,GAAG;IAC7B,IAAI,EAAE,CAAC,CAAC;IACR,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IACjC,MAAM,EAAE,MAAM,CAAC;CAChB;AAoED,wBAAgB,iBAAiB,CAAC,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM;YAU9C,CAAC,cAAc,MAAM,SAAQ,GAAG,GAAQ,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;QAYrE,CAAC,cAAc,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;SAQhD,CAAC,cAAc,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;UAQ5D,CAAC,cAAc,MAAM,SAAS,GAAG,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;WAQ5D,CAAC,cAAc,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC;EAQjE"}
@@ -1,7 +1,92 @@
1
1
  import axios from 'axios';
2
+ // ============================================================================
3
+ // GITEA API ERROR HANDLING
4
+ // ============================================================================
5
+ export class GiteaAPIError extends Error {
6
+ constructor(message, status, url, response) {
7
+ super(message);
8
+ this.status = status;
9
+ this.url = url;
10
+ this.response = response;
11
+ this.name = 'GiteaAPIError';
12
+ }
13
+ }
14
+ // ============================================================================
15
+ // GITEA API VALIDATION & RETRY
16
+ // ============================================================================
17
+ async function validateGiteaResponse(response, url) {
18
+ // Axios throws on non-2xx, but double-check
19
+ if (response.status < 200 || response.status >= 300) {
20
+ const errorMessage = response.data?.message || `Gitea API Error: ${response.status} ${response.statusText}`;
21
+ throw new GiteaAPIError(errorMessage, response.status, url, response.data);
22
+ }
23
+ // Validate data exists
24
+ if (response.data === null || response.data === undefined) {
25
+ throw new GiteaAPIError('Response data is null or undefined', response.status, url);
26
+ }
27
+ return {
28
+ data: response.data,
29
+ headers: response.headers,
30
+ status: response.status
31
+ };
32
+ }
33
+ async function giteaFetchWithRetry(axiosCall, url, maxRetries = 3, retryDelay = 1000) {
34
+ let lastError = null;
35
+ for (let attempt = 0; attempt < maxRetries; attempt++) {
36
+ try {
37
+ const response = await axiosCall();
38
+ return await validateGiteaResponse(response, url);
39
+ }
40
+ catch (error) {
41
+ lastError = error;
42
+ // Don't retry on 4xx (client errors)
43
+ if (error.response?.status >= 400 && error.response?.status < 500) {
44
+ throw new GiteaAPIError(error.response.data?.message || error.message, error.response.status, url, error.response.data);
45
+ }
46
+ // Retry on 5xx (server errors) or network errors
47
+ if (attempt < maxRetries - 1) {
48
+ await new Promise(resolve => setTimeout(resolve, retryDelay * (attempt + 1)));
49
+ continue;
50
+ }
51
+ }
52
+ }
53
+ throw lastError || new Error('Max retries exceeded');
54
+ }
55
+ // ============================================================================
56
+ // GITEA CLIENT
57
+ // ============================================================================
2
58
  export function createGiteaClient(baseUrl, token) {
59
+ const cleanBaseUrl = baseUrl.replace(/\/+$/, ''); // Remove trailing slashes
60
+ const getHeaders = () => ({
61
+ 'Authorization': `token ${token}`,
62
+ 'Content-Type': 'application/json',
63
+ 'Accept': 'application/json'
64
+ });
3
65
  return {
4
- request: (path, opts = {}) => axios.request({ url: `${baseUrl}${path}`, headers: { Authorization: `token ${token}` }, ...opts }),
66
+ async request(path, opts = {}) {
67
+ const url = `${cleanBaseUrl}${path}`;
68
+ return giteaFetchWithRetry(() => axios.request({
69
+ url,
70
+ headers: { ...getHeaders(), ...opts.headers },
71
+ ...opts
72
+ }), url);
73
+ },
74
+ async get(path) {
75
+ const url = `${cleanBaseUrl}${path}`;
76
+ return giteaFetchWithRetry(() => axios.get(url, { headers: getHeaders() }), url);
77
+ },
78
+ async post(path, data) {
79
+ const url = `${cleanBaseUrl}${path}`;
80
+ return giteaFetchWithRetry(() => axios.post(url, data, { headers: getHeaders() }), url);
81
+ },
82
+ async patch(path, data) {
83
+ const url = `${cleanBaseUrl}${path}`;
84
+ return giteaFetchWithRetry(() => axios.patch(url, data, { headers: getHeaders() }), url);
85
+ },
86
+ async delete(path) {
87
+ const url = `${cleanBaseUrl}${path}`;
88
+ return giteaFetchWithRetry(() => axios.delete(url, { headers: getHeaders() }), url);
89
+ }
5
90
  };
6
91
  }
7
92
  //# sourceMappingURL=giteaProvider.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"giteaProvider.js","sourceRoot":"","sources":["../../src/providers/giteaProvider.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,UAAU,iBAAiB,CAAC,OAAe,EAAE,KAAa;IAC9D,OAAO;QACL,OAAO,EAAE,CAAC,IAAY,EAAE,OAAY,EAAE,EAAE,EAAE,CACxC,KAAK,CAAC,OAAO,CAAC,EAAE,GAAG,EAAE,GAAG,OAAO,GAAG,IAAI,EAAE,EAAE,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,KAAK,EAAE,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC;KACrG,CAAC;AACJ,CAAC"}
1
+ {"version":3,"file":"giteaProvider.js","sourceRoot":"","sources":["../../src/providers/giteaProvider.ts"],"names":[],"mappings":"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"}
@@ -1,6 +1,8 @@
1
1
  import { Octokit } from '@octokit/rest';
2
+ import { createGiteaClient } from './giteaProvider.js';
2
3
  export declare class ProviderManager {
3
4
  github?: Octokit;
5
+ gitea?: ReturnType<typeof createGiteaClient>;
4
6
  giteaBaseUrl?: string;
5
7
  giteaToken?: string;
6
8
  constructor();
@@ -1 +1 @@
1
- {"version":3,"file":"providerManager.d.ts","sourceRoot":"","sources":["../../src/providers/providerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAGxC,qBAAa,eAAe;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;;IAcd,2BAA2B;YACK,OAAO;gBAAU,MAAM;;CAqC9D"}
1
+ {"version":3,"file":"providerManager.d.ts","sourceRoot":"","sources":["../../src/providers/providerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AAExC,OAAO,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AAEvD,qBAAa,eAAe;IAC1B,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,KAAK,CAAC,EAAE,UAAU,CAAC,OAAO,iBAAiB,CAAC,CAAC;IAC7C,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,CAAC;;IAoBd,2BAA2B;YACK,OAAO;gBAAU,MAAM;;CAqC9D"}
@@ -1,5 +1,6 @@
1
1
  import { Octokit } from '@octokit/rest';
2
2
  import axios from 'axios';
3
+ import { createGiteaClient } from './giteaProvider.js';
3
4
  export class ProviderManager {
4
5
  constructor() {
5
6
  const ghToken = process.env.GITHUB_TOKEN;
@@ -9,6 +10,8 @@ export class ProviderManager {
9
10
  if (process.env.GITEA_URL && process.env.GITEA_TOKEN) {
10
11
  this.giteaBaseUrl = process.env.GITEA_URL;
11
12
  this.giteaToken = process.env.GITEA_TOKEN;
13
+ // Initialize Gitea client
14
+ this.gitea = createGiteaClient(process.env.GITEA_URL, process.env.GITEA_TOKEN);
12
15
  }
13
16
  }
14
17
  async validateConfiguredProviders() {
@@ -1 +1 @@
1
- {"version":3,"file":"providerManager.js","sourceRoot":"","sources":["../../src/providers/providerManager.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,eAAe,CAAC;AACxC,OAAO,KAAK,MAAM,OAAO,CAAC;AAE1B,MAAM,OAAO,eAAe;IAK1B;QACE,MAAM,OAAO,GAAG,OAAO,CAAC,GAAG,CAAC,YAAY,CAAC;QACzC,IAAI,OAAO,EAAE,CAAC;YACZ,IAAI,CAAC,MAAM,GAAG,IAAI,OAAO,CAAC,EAAE,IAAI,EAAE,OAAiB,EAAE,CAAC,CAAC;QACzD,CAAC;QAED,IAAI,OAAO,CAAC,GAAG,CAAC,SAAS,IAAI,OAAO,CAAC,GAAG,CAAC,WAAW,EAAE,CAAC;YACrD,IAAI,CAAC,YAAY,GAAG,OAAO,CAAC,GAAG,CAAC,SAAS,CAAC;YAC1C,IAAI,CAAC,UAAU,GAAG,OAAO,CAAC,GAAG,CAAC,WAAW,CAAC;QAC5C,CAAC;IACH,CAAC;IAED,KAAK,CAAC,2BAA2B;QAC/B,MAAM,OAAO,GAAoD,EAAE,CAAC;QACpE,MAAM,OAAO,GAAG,IAAI,CAAC,CAAC,gCAAgC;QAEtD,IAAI,IAAI,CAAC,MAAM,EAAE,CAAC;YAChB,IAAI,CAAC;gBACH,MAAM,UAAU,GAAG,IAAI,eAAe,EAAE,CAAC;gBACzC,MAAM,SAAS,GAAG,UAAU,CAAC,GAAG,EAAE,CAAC,UAAU,CAAC,KAAK,EAAE,EAAE,OAAO,CAAC,CAAC;gBAEhE,MAAM,OAAO,CAAC,IAAI,CAAC;oBACjB,IAAI,CAAC,MAAM,CAAC,IAAI,CAAC,KAAK,CAAC,gBAAgB,EAAE;oBACzC,IAAI,OAAO,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,EAAE,CACxB,UAAU,CAAC,GAAG,EAAE,CAAC,MAAM,CAAC,IAAI,KAAK,CAAC,SAAS,CAAC,CAAC,EAAE,OAAO,CAAC,CACxD;iBACF,CAAC,CAAC;gBAEH,YAAY,CAAC,SAAS,CAAC,CAAC;gBACxB,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;YAChC,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,MAAM,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YACrD,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,YAAY,IAAI,IAAI,CAAC,UAAU,EAAE,CAAC;YACzC,IAAI,CAAC;gBACH,MAAM,IAAI,GAAG,MAAM,KAAK,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,YAAY,cAAc,EAAE;oBAC/D,OAAO,EAAE,EAAE,aAAa,EAAE,SAAS,IAAI,CAAC,UAAU,EAAE,EAAE;oBACtD,OAAO,EAAE,OAAO;iBACjB,CAAC,CAAC;gBACH,IAAI,IAAI,CAAC,MAAM,KAAK,GAAG;oBAAE,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,IAAI,EAAE,CAAC;;oBACjD,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,UAAU,IAAI,CAAC,MAAM,EAAE,EAAE,CAAC;YACrE,CAAC;YAAC,OAAO,GAAQ,EAAE,CAAC;gBAClB,OAAO,CAAC,KAAK,GAAG,EAAE,EAAE,EAAE,KAAK,EAAE,KAAK,EAAE,GAAG,CAAC,OAAO,EAAE,CAAC;YACpD,CAAC;QACH,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF"}
1
+ {"version":3,"file":"providerManager.js","sourceRoot":"","sources":["../../src/providers/providerManager.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -1,8 +1,10 @@
1
1
  import { ProviderManager } from './providers/providerManager.js';
2
+ import { GitAdapter } from './utils/gitAdapter.js';
2
3
  import { Tool, Resource } from './types.js';
3
4
  export declare function createServer(opts: {
4
5
  tools: Tool[];
5
6
  providerManager: ProviderManager;
7
+ gitAdapter: GitAdapter;
6
8
  resources?: Resource[];
7
9
  }): import("express-serve-static-core").Express;
8
10
  //# sourceMappingURL=server.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,eAAe,CAAC;IACjC,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,+CAsEA"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"AAEA,OAAO,EAAE,eAAe,EAAE,MAAM,gCAAgC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,uBAAuB,CAAC;AACnD,OAAO,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,YAAY,CAAC;AAG5C,wBAAgB,YAAY,CAAC,IAAI,EAAE;IACjC,KAAK,EAAE,IAAI,EAAE,CAAC;IACd,eAAe,EAAE,eAAe,CAAC;IACjC,UAAU,EAAE,UAAU,CAAC;IACvB,SAAS,CAAC,EAAE,QAAQ,EAAE,CAAC;CACxB,+CAsEA"}
package/dist/server.js CHANGED
@@ -54,7 +54,7 @@ export function createServer(opts) {
54
54
  }
55
55
  try {
56
56
  // TODO: validate params via JSON Schema
57
- const result = await t.handle(params ?? {}, { providerManager: opts.providerManager });
57
+ const result = await t.handle(params ?? {}, { providerManager: opts.providerManager, gitAdapter: opts.gitAdapter });
58
58
  res.json({ success: true, result });
59
59
  }
60
60
  catch (err) {
@@ -1 +1 @@
1
- {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.js","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
@@ -1 +1 @@
1
- {"version":3,"file":"gitAnalytics.d.ts","sourceRoot":"","sources":["../../src/tools/gitAnalytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAK/C,qBAAa,gBAAiB,YAAW,IAAI;IAC3C,IAAI,SAAmB;IACvB,WAAW,SAAyG;IAEpH,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BT;IAEI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU;CA4N1D"}
1
+ {"version":3,"file":"gitAnalytics.d.ts","sourceRoot":"","sources":["../../src/tools/gitAnalytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,IAAI,EAAE,UAAU,EAAE,MAAM,aAAa,CAAC;AAM/C,qBAAa,gBAAiB,YAAW,IAAI;IAC3C,IAAI,SAAmB;IACvB,WAAW,SAAyG;IAEpH,WAAW;;;;;;;;;;;;;;;;;;;;;;;;;;;MA2BT;IAEI,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,EAAE,GAAG,EAAE,UAAU;CAkO1D"}
@@ -1,6 +1,7 @@
1
1
  import { MCPError } from '../utils/errors.js';
2
2
  import axios from 'axios';
3
3
  import { getRepoInfo, normalizeToolParams } from '../utils/repoHelpers.js';
4
+ import { validateStatsResponse, validateContributorsResponse } from '../utils/apiHelpers.js';
4
5
  export class GitAnalyticsTool {
5
6
  constructor() {
6
7
  this.name = 'git-analytics';
@@ -58,6 +59,8 @@ export class GitAnalyticsTool {
58
59
  owner: githubOwner,
59
60
  repo: repo,
60
61
  });
62
+ // Validate response
63
+ validateStatsResponse(repoData);
61
64
  const branches = await ctx.providerManager.github.rest.repos.listBranches({
62
65
  owner: githubOwner,
63
66
  repo: repo,
@@ -178,6 +181,8 @@ export class GitAnalyticsTool {
178
181
  repo: repo,
179
182
  per_page: 100,
180
183
  });
184
+ // Validate response
185
+ validateContributorsResponse(contributors);
181
186
  results.providers.github = {
182
187
  success: true,
183
188
  contributors: contributors.data.map((c) => ({
@@ -1 +1 @@
1
- {"version":3,"file":"gitAnalytics.js","sourceRoot":"","sources":["../../src/tools/gitAnalytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"gitAnalytics.js","sourceRoot":"","sources":["../../src/tools/gitAnalytics.ts"],"names":[],"mappings":"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"}