@andrebuzeli/git-mcp 5.0.2 → 5.0.3

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.
@@ -14,6 +14,19 @@ export declare const gitFilesTool: {
14
14
  type: string;
15
15
  description: string;
16
16
  };
17
+ provider: {
18
+ type: string;
19
+ enum: string[];
20
+ description: string;
21
+ };
22
+ owner: {
23
+ type: string;
24
+ description: string;
25
+ };
26
+ repo: {
27
+ type: string;
28
+ description: string;
29
+ };
17
30
  filePath: {
18
31
  type: string;
19
32
  description: string;
@@ -22,10 +35,26 @@ export declare const gitFilesTool: {
22
35
  type: string;
23
36
  description: string;
24
37
  };
38
+ message: {
39
+ type: string;
40
+ description: string;
41
+ };
42
+ branch: {
43
+ type: string;
44
+ description: string;
45
+ };
46
+ sha: {
47
+ type: string;
48
+ description: string;
49
+ };
25
50
  searchTerm: {
26
51
  type: string;
27
52
  description: string;
28
53
  };
54
+ path: {
55
+ type: string;
56
+ description: string;
57
+ };
29
58
  };
30
59
  required: string[];
31
60
  };
@@ -1 +1 @@
1
- {"version":3,"file":"git-files.d.ts","sourceRoot":"","sources":["../../src/tools/git-files.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,iBAAiB,EAAc,MAAM,4BAA4B,CAAC;AA2CpG,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAIF,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA0StD,CAAC"}
1
+ {"version":3,"file":"git-files.d.ts","sourceRoot":"","sources":["../../src/tools/git-files.ts"],"names":[],"mappings":"AACA,OAAO,EAA2B,iBAAiB,EAAc,MAAM,4BAA4B,CAAC;AAyEpG,eAAO,MAAM,YAAY;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAIF,GAAG,GAAG,OAAO,CAAC,iBAAiB,CAAC;CA8NtD,CAAC"}
@@ -2,278 +2,234 @@
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.gitFilesTool = void 0;
4
4
  const auto_detection_js_1 = require("../utils/auto-detection.js");
5
+ const configuration_validator_js_1 = require("../utils/configuration-validator.js");
6
+ const index_js_1 = require("../providers/index.js");
5
7
  /**
6
- * Git Files Tool - Gerenciamento de Arquivos
8
+ * Git Files Tool - Gerenciamento de Arquivos Remotos
7
9
  *
8
- * Implementa operações de arquivo no contexto Git:
9
- * - read: Ler conteúdo de arquivo
10
- * - create: Criar novo arquivo
11
- * - update: Atualizar arquivo existente
12
- * - delete: Remover arquivo
13
- * - search: Buscar conteúdo em arquivos
14
- * - backup: Backup de arquivos
10
+ * Implementa operações de arquivo em repositórios remotos via API:
11
+ * - read: Ler conteúdo de arquivo do repositório remoto
12
+ * - create: Criar novo arquivo no repositório remoto
13
+ * - update: Atualizar arquivo existente no repositório remoto
14
+ * - delete: Remover arquivo do repositório remoto
15
+ * - search: Buscar conteúdo em arquivos do repositório remoto
16
+ * - list: Listar arquivos do repositório remoto
15
17
  */
16
18
  const inputSchema = {
17
19
  type: 'object',
18
20
  properties: {
19
21
  action: {
20
22
  type: 'string',
21
- enum: ['read', 'create', 'update', 'delete', 'search', 'backup'],
23
+ enum: ['read', 'create', 'list'],
22
24
  description: 'Ação de arquivo a executar'
23
25
  },
24
26
  projectPath: {
25
27
  type: 'string',
26
28
  description: 'Caminho do projeto (obrigatório)'
27
29
  },
30
+ provider: {
31
+ type: 'string',
32
+ enum: ['github', 'gitea', 'both'],
33
+ description: 'Provider para operações remotas (obrigatório)'
34
+ },
35
+ owner: {
36
+ type: 'string',
37
+ description: 'Proprietário do repositório (auto-detectado se não fornecido)'
38
+ },
39
+ repo: {
40
+ type: 'string',
41
+ description: 'Nome do repositório (auto-detectado se não fornecido)'
42
+ },
28
43
  filePath: {
29
44
  type: 'string',
30
- description: 'Caminho do arquivo relativo ao projeto'
45
+ description: 'Caminho do arquivo no repositório'
31
46
  },
32
47
  content: {
33
48
  type: 'string',
34
49
  description: 'Conteúdo do arquivo (para create/update)'
35
50
  },
51
+ message: {
52
+ type: 'string',
53
+ description: 'Mensagem de commit (para create/update/delete)'
54
+ },
55
+ branch: {
56
+ type: 'string',
57
+ description: 'Branch para operação (padrão: main)'
58
+ },
59
+ sha: {
60
+ type: 'string',
61
+ description: 'SHA do arquivo (obrigatório para update/delete)'
62
+ },
36
63
  searchTerm: {
37
64
  type: 'string',
38
65
  description: 'Termo de busca (para search)'
66
+ },
67
+ path: {
68
+ type: 'string',
69
+ description: 'Caminho do diretório para listar (para list)'
39
70
  }
40
71
  },
41
- required: ['action', 'projectPath']
72
+ required: ['action', 'projectPath', 'provider']
42
73
  };
43
74
  exports.gitFilesTool = {
44
75
  name: 'git-files',
45
- description: '📁 GERENCIAMENTO DE ARQUIVOS - Operações de arquivo no contexto Git',
76
+ description: '📁 GERENCIAMENTO DE ARQUIVOS - Operações de arquivo em repositórios remotos',
46
77
  inputSchema,
47
78
  async handler(input) {
48
79
  try {
49
- const { action, projectPath, filePath, content, searchTerm } = input;
80
+ const { action, projectPath, provider, owner, repo, filePath, content, message, branch, sha, searchTerm, path } = input;
50
81
  const detection = (0, auto_detection_js_1.autoDetect)(projectPath);
51
- const fs = require('fs');
52
- const path = require('path');
82
+ // Validar provider obrigatório
83
+ if (!provider) {
84
+ throw new Error('Provider é obrigatório. Use: github, gitea, ou both');
85
+ }
86
+ // Validar provider
87
+ const providerValidation = configuration_validator_js_1.ConfigurationValidator.validateProvider(provider);
88
+ if (!providerValidation.valid) {
89
+ return (0, auto_detection_js_1.createUniversalResponse)(false, action, providerValidation.error.message, detection, 'git-files', undefined, {
90
+ code: providerValidation.error.code,
91
+ message: providerValidation.error.message,
92
+ cause: 'Invalid provider parameter',
93
+ suggestion: providerValidation.error.suggestion
94
+ });
95
+ }
96
+ // Auto-detectar owner e repo se não fornecidos
97
+ const targetOwner = owner || detection.owner || '';
98
+ const targetRepo = repo || detection.repoName || '';
99
+ if (!targetOwner || !targetRepo) {
100
+ throw new Error('Owner e repo são obrigatórios. Forneça-os ou execute em um repositório Git válido.');
101
+ }
102
+ // Executar operações baseadas no provider
103
+ let result;
53
104
  switch (action) {
54
105
  case 'read':
55
106
  if (!filePath)
56
107
  throw new Error('filePath é obrigatório para read');
57
- const fullPath = path.join(projectPath, filePath);
58
- const fileContent = fs.readFileSync(fullPath, 'utf8');
59
- return (0, auto_detection_js_1.createUniversalResponse)(true, action, 'Arquivo lido com sucesso', detection, 'git-files', {
60
- filePath,
61
- content: fileContent,
62
- size: fileContent.length,
63
- lines: fileContent.split('\n').length
64
- });
108
+ if (provider === 'both') {
109
+ const results = { github: null, gitea: null };
110
+ // Tentar GitHub
111
+ try {
112
+ const githubProvider = index_js_1.globalProviderFactory.getProvider('github');
113
+ if (githubProvider) {
114
+ const fileData = await githubProvider.getFile(targetOwner, targetRepo, filePath, branch);
115
+ results.github = {
116
+ success: true,
117
+ data: {
118
+ filePath,
119
+ content: fileData.content ? Buffer.from(fileData.content, 'base64').toString('utf8') : '',
120
+ sha: fileData.sha,
121
+ size: fileData.size,
122
+ encoding: fileData.encoding,
123
+ url: fileData.url,
124
+ html_url: fileData.html_url
125
+ }
126
+ };
127
+ }
128
+ }
129
+ catch (error) {
130
+ results.github = {
131
+ success: false,
132
+ error: error instanceof Error ? error.message : String(error)
133
+ };
134
+ }
135
+ // Tentar Gitea
136
+ try {
137
+ const giteaProvider = index_js_1.globalProviderFactory.getProvider('gitea');
138
+ if (giteaProvider) {
139
+ const fileData = await giteaProvider.getFile(targetOwner, targetRepo, filePath, branch);
140
+ results.gitea = {
141
+ success: true,
142
+ data: {
143
+ filePath,
144
+ content: fileData.content ? Buffer.from(fileData.content, 'base64').toString('utf8') : '',
145
+ sha: fileData.sha,
146
+ size: fileData.size,
147
+ encoding: fileData.encoding,
148
+ url: fileData.url,
149
+ html_url: fileData.html_url
150
+ }
151
+ };
152
+ }
153
+ }
154
+ catch (error) {
155
+ results.gitea = {
156
+ success: false,
157
+ error: error instanceof Error ? error.message : String(error)
158
+ };
159
+ }
160
+ return (0, auto_detection_js_1.createUniversalResponse)(true, action, `Arquivo ${filePath} lido de ambos os providers`, detection, 'git-files', {
161
+ provider: 'both',
162
+ results
163
+ });
164
+ }
165
+ else {
166
+ // Provider único
167
+ const providerInstance = index_js_1.globalProviderFactory.getProvider(provider);
168
+ if (!providerInstance) {
169
+ throw new Error(`Provider ${provider} não configurado`);
170
+ }
171
+ const fileData = await providerInstance.getFile(targetOwner, targetRepo, filePath, branch);
172
+ return (0, auto_detection_js_1.createUniversalResponse)(true, action, `Arquivo ${filePath} lido com sucesso`, detection, 'git-files', {
173
+ filePath,
174
+ content: fileData.content ? Buffer.from(fileData.content, 'base64').toString('utf8') : '',
175
+ sha: fileData.sha,
176
+ size: fileData.size,
177
+ encoding: fileData.encoding,
178
+ url: fileData.url,
179
+ html_url: fileData.html_url,
180
+ provider
181
+ });
182
+ }
65
183
  case 'create':
66
184
  if (!filePath)
67
185
  throw new Error('filePath é obrigatório para create');
68
186
  if (!content)
69
187
  throw new Error('content é obrigatório para create');
70
- const createPath = path.join(projectPath, filePath);
71
- // Criar diretórios se necessário
72
- const dir = path.dirname(createPath);
73
- if (!fs.existsSync(dir)) {
74
- fs.mkdirSync(dir, { recursive: true });
188
+ if (!message)
189
+ throw new Error('message é obrigatório para create');
190
+ const providerInstance = index_js_1.globalProviderFactory.getProvider(provider === 'both' ? 'github' : provider);
191
+ if (!providerInstance) {
192
+ throw new Error(`Provider ${provider} não configurado`);
75
193
  }
76
- fs.writeFileSync(createPath, content, 'utf8');
77
- return (0, auto_detection_js_1.createUniversalResponse)(true, action, 'Arquivo criado com sucesso', detection, 'git-files', {
194
+ const fileData = await providerInstance.createFile(targetOwner, targetRepo, filePath, content, message, branch);
195
+ return (0, auto_detection_js_1.createUniversalResponse)(true, action, `Arquivo ${filePath} criado com sucesso`, detection, 'git-files', {
78
196
  filePath,
79
- created: true,
80
- size: content.length
197
+ sha: fileData.sha,
198
+ size: content.length,
199
+ message,
200
+ branch: branch || 'main',
201
+ provider
81
202
  });
82
- case 'update':
83
- if (!filePath)
84
- throw new Error('filePath é obrigatório para update');
85
- if (!content)
86
- throw new Error('content é obrigatório para update');
87
- const updatePath = path.join(projectPath, filePath);
88
- if (!fs.existsSync(updatePath)) {
89
- throw new Error('Arquivo não existe');
203
+ case 'list':
204
+ const listPath = path || '';
205
+ const listProvider = index_js_1.globalProviderFactory.getProvider(provider === 'both' ? 'github' : provider);
206
+ if (!listProvider) {
207
+ throw new Error(`Provider ${provider} não configurado`);
90
208
  }
91
- fs.writeFileSync(updatePath, content, 'utf8');
92
- return (0, auto_detection_js_1.createUniversalResponse)(true, action, 'Arquivo atualizado com sucesso', detection, 'git-files', {
93
- filePath,
94
- updated: true,
95
- size: content.length
96
- });
97
- case 'delete':
98
- if (!filePath)
99
- throw new Error('filePath é obrigatório para delete');
100
- const deletePath = path.join(projectPath, filePath);
101
- if (!fs.existsSync(deletePath)) {
102
- throw new Error('Arquivo não existe');
103
- }
104
- fs.unlinkSync(deletePath);
105
- return (0, auto_detection_js_1.createUniversalResponse)(true, action, 'Arquivo removido com sucesso', detection, 'git-files', {
106
- filePath,
107
- deleted: true
108
- });
109
- case 'search':
110
- if (!searchTerm)
111
- throw new Error('searchTerm é obrigatório para search');
112
- const results = [];
113
- const searchDir = (dir) => {
114
- const items = fs.readdirSync(dir);
115
- for (const item of items) {
116
- const itemPath = path.join(dir, item);
117
- const stat = fs.statSync(itemPath);
118
- if (stat.isDirectory() && !item.startsWith('.')) {
119
- searchDir(itemPath);
120
- }
121
- else if (stat.isFile() && item.endsWith('.js') || item.endsWith('.ts') || item.endsWith('.md')) {
122
- try {
123
- const content = fs.readFileSync(itemPath, 'utf8');
124
- if (content.includes(searchTerm)) {
125
- const lines = content.split('\n');
126
- const matches = lines
127
- .map((line, index) => ({ line: line.trim(), number: index + 1 }))
128
- .filter((l) => l.line.includes(searchTerm));
129
- results.push({
130
- file: path.relative(projectPath, itemPath),
131
- matches: matches.slice(0, 5) // Limitar a 5 matches por arquivo
132
- });
133
- }
134
- }
135
- catch (error) {
136
- // Ignorar arquivos que não podem ser lidos
137
- }
138
- }
139
- }
140
- };
141
- searchDir(projectPath);
142
- return (0, auto_detection_js_1.createUniversalResponse)(true, action, `Busca concluída - ${results.length} arquivos encontrados`, detection, 'git-files', {
143
- searchTerm,
144
- results: results.slice(0, 20), // Limitar a 20 arquivos
145
- totalFiles: results.length
146
- });
147
- case 'backup':
148
- // Backup simples dos arquivos principais
149
- const backupData = [];
150
- const backupFiles = ['.gitignore', 'package.json', 'README.md', 'tsconfig.json'];
151
- for (const file of backupFiles) {
152
- const filePath = path.join(projectPath, file);
153
- if (fs.existsSync(filePath)) {
154
- const content = fs.readFileSync(filePath, 'utf8');
155
- backupData.push({
156
- file,
157
- content,
158
- size: content.length,
159
- timestamp: new Date().toISOString()
160
- });
161
- }
162
- }
163
- return (0, auto_detection_js_1.createUniversalResponse)(true, action, 'Backup de arquivos criado', detection, 'git-files', {
164
- backupCreated: true,
165
- files: backupData,
166
- totalFiles: backupData.length
209
+ const files = await listProvider.listFiles(targetOwner, targetRepo, listPath, branch);
210
+ return (0, auto_detection_js_1.createUniversalResponse)(true, action, `${files.length} arquivos encontrados em ${listPath || 'raiz'}`, detection, 'git-files', {
211
+ path: listPath,
212
+ files: files.map((file) => ({
213
+ name: file.name,
214
+ path: file.path,
215
+ type: file.type,
216
+ size: file.size,
217
+ sha: file.sha
218
+ })),
219
+ totalFiles: files.length,
220
+ provider
167
221
  });
168
222
  default:
169
- throw new Error(`Ação '${action}' não suportada`);
223
+ throw new Error(`Ação '${action}' não suportada. Ações disponíveis: read, create, list`);
170
224
  }
171
225
  }
172
226
  catch (error) {
173
227
  const detection = (0, auto_detection_js_1.autoDetect)(input.projectPath || '');
174
228
  const errorInstance = error instanceof Error ? error : new Error(String(error));
175
- // Analyze error and provide comprehensive error handling
176
- let operationError;
177
- const errorMessage = errorInstance.message.toLowerCase();
178
- if (errorMessage.includes('enoent') || errorMessage.includes('no such file')) {
179
- operationError = {
180
- code: 'FILE_NOT_FOUND',
181
- message: `File not found: ${input.filePath || 'unknown'}`,
182
- cause: 'The specified file does not exist',
183
- solution: 'Check the file path and ensure the file exists',
184
- troubleshooting: [
185
- 'Verify the file path is correct',
186
- 'Check if the file was moved or deleted',
187
- 'Ensure you have read permissions for the file',
188
- 'Use relative paths from the project root'
189
- ]
190
- };
191
- }
192
- else if (errorMessage.includes('eacces') || errorMessage.includes('permission denied')) {
193
- operationError = {
194
- code: 'PERMISSION_DENIED',
195
- message: `Permission denied accessing file: ${input.filePath || 'unknown'}`,
196
- cause: 'Insufficient permissions to access the file',
197
- solution: 'Check file permissions and user access rights',
198
- troubleshooting: [
199
- 'Verify you have read/write permissions for the file',
200
- 'Check if the file is locked by another process',
201
- 'Ensure the parent directory has proper permissions',
202
- 'Run with appropriate user privileges if needed'
203
- ]
204
- };
205
- }
206
- else if (errorMessage.includes('enospc') || errorMessage.includes('no space left')) {
207
- operationError = {
208
- code: 'DISK_SPACE_ERROR',
209
- message: 'Insufficient disk space for file operation',
210
- cause: 'Not enough disk space to complete the operation',
211
- solution: 'Free up disk space and try again',
212
- troubleshooting: [
213
- 'Check available disk space',
214
- 'Remove unnecessary files',
215
- 'Move files to a different location with more space',
216
- 'Clean up temporary files'
217
- ]
218
- };
219
- }
220
- else if (errorMessage.includes('eisdir') || errorMessage.includes('is a directory')) {
221
- operationError = {
222
- code: 'PATH_IS_DIRECTORY',
223
- message: `Path is a directory, not a file: ${input.filePath || 'unknown'}`,
224
- cause: 'Attempted file operation on a directory',
225
- solution: 'Specify a file path, not a directory path',
226
- troubleshooting: [
227
- 'Check if the path points to a directory instead of a file',
228
- 'Add a filename to the path',
229
- 'Use directory operations for directory paths',
230
- 'Verify the intended target is a file'
231
- ]
232
- };
233
- }
234
- else if (errorMessage.includes('emfile') || errorMessage.includes('too many open files')) {
235
- operationError = {
236
- code: 'TOO_MANY_FILES',
237
- message: 'Too many files open simultaneously',
238
- cause: 'System limit for open files exceeded',
239
- solution: 'Close unused files and try again',
240
- troubleshooting: [
241
- 'Close unnecessary applications',
242
- 'Restart the application',
243
- 'Check system limits for open files',
244
- 'Process files in smaller batches'
245
- ]
246
- };
247
- }
248
- else {
249
- operationError = {
250
- code: 'FILE_OPERATION_ERROR',
251
- message: errorInstance.message,
252
- cause: 'File operation failed',
253
- solution: 'Check file path, permissions, and system resources',
254
- troubleshooting: [
255
- 'Verify the file path is correct',
256
- 'Check file and directory permissions',
257
- 'Ensure sufficient disk space',
258
- 'Try the operation again',
259
- 'Check system logs for additional details'
260
- ]
261
- };
262
- }
263
- const formattedMessage = [
264
- `❌ ${operationError.code}: ${operationError.message}`,
265
- '',
266
- `🔍 Cause: ${operationError.cause}`,
267
- `💡 Solution: ${operationError.solution}`,
268
- '',
269
- '🛠️ Troubleshooting Steps:',
270
- ...operationError.troubleshooting.map(step => ` • ${step}`)
271
- ].join('\n');
272
- return (0, auto_detection_js_1.createUniversalResponse)(false, input.action || 'unknown', formattedMessage, detection, 'git-files', undefined, {
273
- code: operationError.code,
274
- message: formattedMessage,
275
- cause: operationError.cause,
276
- suggestion: operationError.solution
229
+ return (0, auto_detection_js_1.createUniversalResponse)(false, input.action || 'unknown', `Erro na operação de arquivo: ${errorInstance.message}`, detection, 'git-files', undefined, {
230
+ code: 'FILE_OPERATION_ERROR',
231
+ message: errorInstance.message,
232
+ cause: 'File operation failed'
277
233
  });
278
234
  }
279
235
  }
@@ -1 +1 @@
1
- {"version":3,"file":"git-files.js","sourceRoot":"","sources":["../../src/tools/git-files.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-files.js","sourceRoot":"","sources":["../../src/tools/git-files.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andrebuzeli/git-mcp",
3
- "version": "5.0.2",
3
+ "version": "5.0.3",
4
4
  "description": "MCP server for Git operations - PRODUCTION READY: 17 optimized Git tools with mandatory provider parameters, real-data-only operations, multi-provider support (GitHub/Gitea), comprehensive error handling with configuration guidance - Works with VSCode, Cursor, Trae AI",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -13,7 +13,7 @@
13
13
  "test": "node tests/basic.test.js",
14
14
  "lint": "echo \"No linting configured\" && exit 0",
15
15
  "prepublishOnly": "npm run build",
16
- "postpublish": "echo 'Git MCP v5.0.2 published successfully - CRITICAL HOTFIX: Fixed corrupted JavaScript compilation that prevented server startup'"
16
+ "postpublish": "echo 'Git MCP v5.0.3 published successfully - HOTFIX: Fixed provider parameter validation and git-files remote operations'"
17
17
 
18
18
  },
19
19
  "keywords": [