@andrebuzeli/git-mcp 4.0.20 → 4.0.21
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/dist/config.d.ts +7 -239
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -221
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +11 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -16
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +1 -69
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +150 -711
- package/dist/server.js.map +1 -1
- package/dist/tools/git-analytics.d.ts +1 -0
- package/dist/tools/git-analytics.d.ts.map +1 -1
- package/dist/tools/git-analytics.js +18 -7
- package/dist/tools/git-analytics.js.map +1 -1
- package/dist/tools/git-archive.d.ts +2 -149
- package/dist/tools/git-archive.d.ts.map +1 -1
- package/dist/tools/git-archive.js +5 -222
- package/dist/tools/git-archive.js.map +1 -1
- package/dist/tools/git-backup.d.ts +1 -198
- package/dist/tools/git-backup.d.ts.map +1 -1
- package/dist/tools/git-backup.js +4 -805
- package/dist/tools/git-backup.js.map +1 -1
- package/dist/tools/git-branches.d.ts +1 -158
- package/dist/tools/git-branches.d.ts.map +1 -1
- package/dist/tools/git-branches.js +4 -539
- package/dist/tools/git-branches.js.map +1 -1
- package/dist/tools/git-config.d.ts +2 -124
- package/dist/tools/git-config.d.ts.map +1 -1
- package/dist/tools/git-config.js +5 -263
- package/dist/tools/git-config.js.map +1 -1
- package/dist/tools/git-files.d.ts +2 -115
- package/dist/tools/git-files.d.ts.map +1 -1
- package/dist/tools/git-files.js +161 -407
- package/dist/tools/git-files.js.map +1 -1
- package/dist/tools/git-issues.d.ts +1 -214
- package/dist/tools/git-issues.d.ts.map +1 -1
- package/dist/tools/git-issues.js +4 -678
- package/dist/tools/git-issues.js.map +1 -1
- package/dist/tools/git-monitor.d.ts +1 -143
- package/dist/tools/git-monitor.d.ts.map +1 -1
- package/dist/tools/git-monitor.js +4 -738
- package/dist/tools/git-monitor.js.map +1 -1
- package/dist/tools/git-packages.d.ts +2 -91
- package/dist/tools/git-packages.d.ts.map +1 -1
- package/dist/tools/git-packages.js +5 -258
- package/dist/tools/git-packages.js.map +1 -1
- package/dist/tools/git-pulls.d.ts +1 -63
- package/dist/tools/git-pulls.d.ts.map +1 -1
- package/dist/tools/git-pulls.js +4 -77
- package/dist/tools/git-pulls.js.map +1 -1
- package/dist/tools/git-release.d.ts +1 -169
- package/dist/tools/git-release.d.ts.map +1 -1
- package/dist/tools/git-release.js +4 -611
- package/dist/tools/git-release.js.map +1 -1
- package/dist/tools/git-remote.d.ts +1 -153
- package/dist/tools/git-remote.d.ts.map +1 -1
- package/dist/tools/git-remote.js +4 -555
- package/dist/tools/git-remote.js.map +1 -1
- package/dist/tools/git-reset.d.ts +1 -157
- package/dist/tools/git-reset.d.ts.map +1 -1
- package/dist/tools/git-reset.js +4 -597
- package/dist/tools/git-reset.js.map +1 -1
- package/dist/tools/git-stash.d.ts +1 -161
- package/dist/tools/git-stash.d.ts.map +1 -1
- package/dist/tools/git-stash.js +4 -640
- package/dist/tools/git-stash.js.map +1 -1
- package/dist/tools/git-sync.d.ts +1 -0
- package/dist/tools/git-sync.d.ts.map +1 -1
- package/dist/tools/git-sync.js +13 -7
- package/dist/tools/git-sync.js.map +1 -1
- package/dist/tools/git-tags.d.ts +1 -162
- package/dist/tools/git-tags.d.ts.map +1 -1
- package/dist/tools/git-tags.js +4 -549
- package/dist/tools/git-tags.js.map +1 -1
- package/dist/tools/git-workflow.d.ts +3 -96
- package/dist/tools/git-workflow.d.ts.map +1 -1
- package/dist/tools/git-workflow.js +287 -314
- package/dist/tools/git-workflow.js.map +1 -1
- package/package.json +3 -3
- package/dist/server-minimal.d.ts +0 -8
- package/dist/server-minimal.d.ts.map +0 -1
- package/dist/server-minimal.js +0 -218
- package/dist/server-minimal.js.map +0 -1
package/dist/tools/git-files.js
CHANGED
|
@@ -1,429 +1,183 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __setModuleDefault = (this && this.__setModuleDefault) || (Object.create ? (function(o, v) {
|
|
14
|
-
Object.defineProperty(o, "default", { enumerable: true, value: v });
|
|
15
|
-
}) : function(o, v) {
|
|
16
|
-
o["default"] = v;
|
|
17
|
-
});
|
|
18
|
-
var __importStar = (this && this.__importStar) || (function () {
|
|
19
|
-
var ownKeys = function(o) {
|
|
20
|
-
ownKeys = Object.getOwnPropertyNames || function (o) {
|
|
21
|
-
var ar = [];
|
|
22
|
-
for (var k in o) if (Object.prototype.hasOwnProperty.call(o, k)) ar[ar.length] = k;
|
|
23
|
-
return ar;
|
|
24
|
-
};
|
|
25
|
-
return ownKeys(o);
|
|
26
|
-
};
|
|
27
|
-
return function (mod) {
|
|
28
|
-
if (mod && mod.__esModule) return mod;
|
|
29
|
-
var result = {};
|
|
30
|
-
if (mod != null) for (var k = ownKeys(mod), i = 0; i < k.length; i++) if (k[i] !== "default") __createBinding(result, mod, k[i]);
|
|
31
|
-
__setModuleDefault(result, mod);
|
|
32
|
-
return result;
|
|
33
|
-
};
|
|
34
|
-
})();
|
|
35
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
36
3
|
exports.gitFilesTool = void 0;
|
|
37
|
-
const zod_1 = require("zod");
|
|
38
|
-
const git_operations_js_1 = require("../utils/git-operations.js");
|
|
39
4
|
const auto_detection_js_1 = require("../utils/auto-detection.js");
|
|
40
|
-
const error_handler_js_1 = require("../utils/error-handler.js");
|
|
41
|
-
const fs = __importStar(require("fs"));
|
|
42
|
-
const path = __importStar(require("path"));
|
|
43
5
|
/**
|
|
44
|
-
* Tool
|
|
45
|
-
*
|
|
46
|
-
* GERENCIAMENTO DE ARQUIVOS INTELIGENTE - v2.0 AI-First
|
|
47
|
-
*
|
|
48
|
-
* Conforme especificado no design.md, esta tool:
|
|
49
|
-
* - Requer apenas action + projectPath como obrigatórios
|
|
50
|
-
* - Auto-detecta repo name, owner e providers
|
|
51
|
-
* - Fornece respostas universais para todos os AI agents
|
|
52
|
-
* - Suporta apenas 5 ações principais otimizadas
|
|
6
|
+
* Git Files Tool - Gerenciamento de Arquivos
|
|
53
7
|
*
|
|
54
|
-
*
|
|
55
|
-
*
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
projectPath: zod_1.z.string(),
|
|
62
|
-
filePath: zod_1.z.string()
|
|
63
|
-
}),
|
|
64
|
-
// WRITE: Escrita com backup automático
|
|
65
|
-
zod_1.z.object({
|
|
66
|
-
action: zod_1.z.literal('write'),
|
|
67
|
-
projectPath: zod_1.z.string(),
|
|
68
|
-
filePath: zod_1.z.string(),
|
|
69
|
-
content: zod_1.z.string()
|
|
70
|
-
}),
|
|
71
|
-
// SEARCH: Busca eficiente no código
|
|
72
|
-
zod_1.z.object({
|
|
73
|
-
action: zod_1.z.literal('search'),
|
|
74
|
-
projectPath: zod_1.z.string(),
|
|
75
|
-
query: zod_1.z.string(),
|
|
76
|
-
path: zod_1.z.string().optional(),
|
|
77
|
-
caseSensitive: zod_1.z.boolean().optional().default(false)
|
|
78
|
-
}),
|
|
79
|
-
// UPDATE: Atualização com versionamento
|
|
80
|
-
zod_1.z.object({
|
|
81
|
-
action: zod_1.z.literal('update'),
|
|
82
|
-
projectPath: zod_1.z.string(),
|
|
83
|
-
filePath: zod_1.z.string(),
|
|
84
|
-
content: zod_1.z.string()
|
|
85
|
-
}),
|
|
86
|
-
// BACKUP-FILES: Backup seletivo de arquivos
|
|
87
|
-
zod_1.z.object({
|
|
88
|
-
action: zod_1.z.literal('backup-files'),
|
|
89
|
-
projectPath: zod_1.z.string(),
|
|
90
|
-
patterns: zod_1.z.array(zod_1.z.string()).optional(), // Padrões glob como ['*.js', 'src/**/*']
|
|
91
|
-
description: zod_1.z.string().optional()
|
|
92
|
-
})
|
|
93
|
-
]);
|
|
94
|
-
/**
|
|
95
|
-
* Classe principal para executar operações Git files
|
|
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
|
|
96
15
|
*/
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
catch (error) {
|
|
121
|
-
this.errorHandler.addError(error, undefined, { action: 'read', projectPath: detection.projectPath, filePath: input.filePath });
|
|
122
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'read', 'Falha ao ler arquivo', detection, 'git-files', undefined, this.errorHandler.toUniversalResponse());
|
|
123
|
-
}
|
|
124
|
-
}
|
|
125
|
-
/**
|
|
126
|
-
* Executa operação write
|
|
127
|
-
*/
|
|
128
|
-
async executeWrite(detection, input) {
|
|
129
|
-
try {
|
|
130
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
131
|
-
const fullPath = path.resolve(detection.projectPath, input.filePath);
|
|
132
|
-
// Cria diretório se não existir
|
|
133
|
-
const dir = path.dirname(fullPath);
|
|
134
|
-
if (!fs.existsSync(dir)) {
|
|
135
|
-
fs.mkdirSync(dir, { recursive: true });
|
|
136
|
-
}
|
|
137
|
-
// Escreve arquivo
|
|
138
|
-
fs.writeFileSync(fullPath, input.content, 'utf8');
|
|
139
|
-
// Adiciona ao Git e commita
|
|
140
|
-
await gitOps.addFiles([input.filePath]);
|
|
141
|
-
const commitMessage = `Update ${input.filePath}`;
|
|
142
|
-
await gitOps.commit(commitMessage);
|
|
143
|
-
// Push para providers disponÃveis
|
|
144
|
-
const pushedProviders = [];
|
|
145
|
-
for (const provider of detection.providers) {
|
|
146
|
-
try {
|
|
147
|
-
await gitOps.push('main', provider);
|
|
148
|
-
pushedProviders.push(provider);
|
|
149
|
-
}
|
|
150
|
-
catch (error) {
|
|
151
|
-
this.errorHandler.addError(error, provider, { action: 'write', projectPath: detection.projectPath });
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
return (0, auto_detection_js_1.createUniversalResponse)(true, 'write', `Arquivo escrito e committado com sucesso. Enviado para ${pushedProviders.length} providers.`, detection, 'git-files', {
|
|
155
|
-
filePath: input.filePath,
|
|
156
|
-
committed: true,
|
|
157
|
-
pushedTo: pushedProviders,
|
|
158
|
-
commitMessage,
|
|
159
|
-
size: Buffer.byteLength(input.content, 'utf8')
|
|
160
|
-
});
|
|
161
|
-
}
|
|
162
|
-
catch (error) {
|
|
163
|
-
this.errorHandler.addError(error, undefined, { action: 'write', projectPath: detection.projectPath, filePath: input.filePath });
|
|
164
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'write', 'Falha ao escrever arquivo', detection, 'git-files', undefined, this.errorHandler.toUniversalResponse());
|
|
16
|
+
const inputSchema = {
|
|
17
|
+
type: 'object',
|
|
18
|
+
properties: {
|
|
19
|
+
action: {
|
|
20
|
+
type: 'string',
|
|
21
|
+
enum: ['read', 'create', 'update', 'delete', 'search', 'backup'],
|
|
22
|
+
description: 'Ação de arquivo a executar'
|
|
23
|
+
},
|
|
24
|
+
projectPath: {
|
|
25
|
+
type: 'string',
|
|
26
|
+
description: 'Caminho do projeto (obrigatório)'
|
|
27
|
+
},
|
|
28
|
+
filePath: {
|
|
29
|
+
type: 'string',
|
|
30
|
+
description: 'Caminho do arquivo relativo ao projeto'
|
|
31
|
+
},
|
|
32
|
+
content: {
|
|
33
|
+
type: 'string',
|
|
34
|
+
description: 'Conteúdo do arquivo (para create/update)'
|
|
35
|
+
},
|
|
36
|
+
searchTerm: {
|
|
37
|
+
type: 'string',
|
|
38
|
+
description: 'Termo de busca (para search)'
|
|
165
39
|
}
|
|
166
|
-
}
|
|
167
|
-
|
|
168
|
-
|
|
169
|
-
|
|
170
|
-
|
|
40
|
+
},
|
|
41
|
+
required: ['action', 'projectPath']
|
|
42
|
+
};
|
|
43
|
+
exports.gitFilesTool = {
|
|
44
|
+
name: 'git-files',
|
|
45
|
+
description: '📁 GERENCIAMENTO DE ARQUIVOS - Operações de arquivo no contexto Git',
|
|
46
|
+
inputSchema,
|
|
47
|
+
async handler(input) {
|
|
171
48
|
try {
|
|
172
|
-
const
|
|
173
|
-
|
|
174
|
-
const
|
|
175
|
-
|
|
176
|
-
|
|
177
|
-
|
|
178
|
-
|
|
179
|
-
|
|
180
|
-
const
|
|
181
|
-
|
|
182
|
-
|
|
49
|
+
const { action, projectPath, filePath, content, searchTerm } = input;
|
|
50
|
+
const detection = (0, auto_detection_js_1.autoDetect)(projectPath);
|
|
51
|
+
const fs = require('fs');
|
|
52
|
+
const path = require('path');
|
|
53
|
+
switch (action) {
|
|
54
|
+
case 'read':
|
|
55
|
+
if (!filePath)
|
|
56
|
+
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
|
+
});
|
|
65
|
+
case 'create':
|
|
66
|
+
if (!filePath)
|
|
67
|
+
throw new Error('filePath é obrigatório para create');
|
|
68
|
+
if (!content)
|
|
69
|
+
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 });
|
|
75
|
+
}
|
|
76
|
+
fs.writeFileSync(createPath, content, 'utf8');
|
|
77
|
+
return (0, auto_detection_js_1.createUniversalResponse)(true, action, 'Arquivo criado com sucesso', detection, 'git-files', {
|
|
78
|
+
filePath,
|
|
79
|
+
created: true,
|
|
80
|
+
size: content.length
|
|
81
|
+
});
|
|
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');
|
|
90
|
+
}
|
|
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');
|
|
183
103
|
}
|
|
184
|
-
|
|
185
|
-
|
|
186
|
-
|
|
187
|
-
|
|
188
|
-
|
|
189
|
-
|
|
190
|
-
|
|
191
|
-
|
|
192
|
-
|
|
193
|
-
|
|
194
|
-
|
|
195
|
-
|
|
196
|
-
|
|
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
|
+
}
|
|
197
134
|
}
|
|
198
|
-
|
|
135
|
+
catch (error) {
|
|
136
|
+
// Ignorar arquivos que não podem ser lidos
|
|
137
|
+
}
|
|
138
|
+
}
|
|
199
139
|
}
|
|
200
|
-
|
|
201
|
-
|
|
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
|
+
});
|
|
202
161
|
}
|
|
203
162
|
}
|
|
204
|
-
|
|
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
|
|
167
|
+
});
|
|
168
|
+
default:
|
|
169
|
+
throw new Error(`Ação '${action}' não suportada`);
|
|
205
170
|
}
|
|
206
|
-
searchInDirectory(searchPath);
|
|
207
|
-
return (0, auto_detection_js_1.createUniversalResponse)(true, 'search', `Busca concluÃda. Encontrados ${results.length} resultados.`, detection, 'git-files', {
|
|
208
|
-
query: input.query,
|
|
209
|
-
caseSensitive: input.caseSensitive,
|
|
210
|
-
totalResults: results.length,
|
|
211
|
-
results: results.slice(0, 100) // Limita a 100 resultados
|
|
212
|
-
});
|
|
213
171
|
}
|
|
214
172
|
catch (error) {
|
|
215
|
-
|
|
216
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, '
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
*/
|
|
222
|
-
async executeUpdate(detection, input) {
|
|
223
|
-
try {
|
|
224
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
225
|
-
const fullPath = path.resolve(detection.projectPath, input.filePath);
|
|
226
|
-
// Verifica se arquivo existe
|
|
227
|
-
if (!fs.existsSync(fullPath)) {
|
|
228
|
-
throw new Error(`Arquivo não encontrado para atualização: ${input.filePath}`);
|
|
229
|
-
}
|
|
230
|
-
// Lê conteúdo atual para backup
|
|
231
|
-
const oldContent = fs.readFileSync(fullPath, 'utf8');
|
|
232
|
-
// Escreve novo conteúdo
|
|
233
|
-
fs.writeFileSync(fullPath, input.content, 'utf8');
|
|
234
|
-
// Adiciona ao Git e commita
|
|
235
|
-
await gitOps.addFiles([input.filePath]);
|
|
236
|
-
const commitMessage = `Update ${input.filePath}`;
|
|
237
|
-
await gitOps.commit(commitMessage);
|
|
238
|
-
// Push para providers disponÃveis
|
|
239
|
-
const pushedProviders = [];
|
|
240
|
-
for (const provider of detection.providers) {
|
|
241
|
-
try {
|
|
242
|
-
await gitOps.push('main', provider);
|
|
243
|
-
pushedProviders.push(provider);
|
|
244
|
-
}
|
|
245
|
-
catch (error) {
|
|
246
|
-
this.errorHandler.addError(error, provider, { action: 'update', projectPath: detection.projectPath });
|
|
247
|
-
}
|
|
248
|
-
}
|
|
249
|
-
return (0, auto_detection_js_1.createUniversalResponse)(true, 'update', `Arquivo atualizado e committado com sucesso. Enviado para ${pushedProviders.length} providers.`, detection, 'git-files', {
|
|
250
|
-
filePath: input.filePath,
|
|
251
|
-
committed: true,
|
|
252
|
-
pushedTo: pushedProviders,
|
|
253
|
-
commitMessage,
|
|
254
|
-
oldSize: Buffer.byteLength(oldContent, 'utf8'),
|
|
255
|
-
newSize: Buffer.byteLength(input.content, 'utf8')
|
|
173
|
+
const detection = (0, auto_detection_js_1.autoDetect)(input.projectPath || '');
|
|
174
|
+
return (0, auto_detection_js_1.createUniversalResponse)(false, input.action || 'unknown', error instanceof Error ? error.message : String(error), detection, 'git-files', undefined, {
|
|
175
|
+
code: 'FILES_ERROR',
|
|
176
|
+
message: error instanceof Error ? error.message : String(error),
|
|
177
|
+
cause: 'Erro na operação de arquivo',
|
|
178
|
+
suggestion: 'Verifique os parâmetros e permissões de arquivo'
|
|
256
179
|
});
|
|
257
180
|
}
|
|
258
|
-
catch (error) {
|
|
259
|
-
this.errorHandler.addError(error, undefined, { action: 'update', projectPath: detection.projectPath, filePath: input.filePath });
|
|
260
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'update', 'Falha ao atualizar arquivo', detection, 'git-files', undefined, this.errorHandler.toUniversalResponse());
|
|
261
|
-
}
|
|
262
|
-
}
|
|
263
|
-
/**
|
|
264
|
-
* Executa operação backup-files
|
|
265
|
-
*/
|
|
266
|
-
async executeBackupFiles(detection, input) {
|
|
267
|
-
try {
|
|
268
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
269
|
-
// Se não especificou padrões, usa padrões comuns
|
|
270
|
-
const patterns = input.patterns || ['*.js', '*.ts', '*.json', '*.md', 'src/**/*', 'lib/**/*'];
|
|
271
|
-
// Adiciona arquivos matching aos padrões
|
|
272
|
-
await gitOps.addFiles(patterns);
|
|
273
|
-
// Cria commit de backup
|
|
274
|
-
const backupMessage = input.description ?
|
|
275
|
-
`Backup: ${input.description}` :
|
|
276
|
-
`Backup automático - ${new Date().toISOString()}`;
|
|
277
|
-
await gitOps.commit(backupMessage);
|
|
278
|
-
// Push para todos os providers
|
|
279
|
-
const backedUpTo = [];
|
|
280
|
-
for (const provider of detection.providers) {
|
|
281
|
-
try {
|
|
282
|
-
await gitOps.push('main', provider);
|
|
283
|
-
backedUpTo.push(provider);
|
|
284
|
-
}
|
|
285
|
-
catch (error) {
|
|
286
|
-
this.errorHandler.addError(error, provider, { action: 'backup-files', projectPath: detection.projectPath });
|
|
287
|
-
}
|
|
288
|
-
}
|
|
289
|
-
return (0, auto_detection_js_1.createUniversalResponse)(true, 'backup-files', `Backup de arquivos realizado com sucesso em ${backedUpTo.length} providers`, detection, 'git-files', {
|
|
290
|
-
patterns,
|
|
291
|
-
backupCreated: true,
|
|
292
|
-
backedUpTo,
|
|
293
|
-
backupMessage,
|
|
294
|
-
timestamp: new Date().toISOString()
|
|
295
|
-
});
|
|
296
|
-
}
|
|
297
|
-
catch (error) {
|
|
298
|
-
this.errorHandler.addError(error, undefined, { action: 'backup-files', projectPath: detection.projectPath });
|
|
299
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'backup-files', 'Falha ao criar backup de arquivos', detection, 'git-files', undefined, this.errorHandler.toUniversalResponse());
|
|
300
|
-
}
|
|
301
|
-
}
|
|
302
|
-
}
|
|
303
|
-
// Instância global do executor
|
|
304
|
-
const filesExecutor = new GitFilesExecutor();
|
|
305
|
-
exports.gitFilesTool = {
|
|
306
|
-
name: 'git-files',
|
|
307
|
-
description: `ðŸ—‚ï¸ GERENCIAMENTO DE ARQUIVOS INTELIGENTE - v2.0 AI-First
|
|
308
|
-
â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”â”
|
|
309
|
-
🎯 APENAS 5 AÇÕES OTIMIZADAS (conforme design.md):
|
|
310
|
-
|
|
311
|
-
READ: Leitura rápida de arquivos
|
|
312
|
-
• Requer apenas: action + projectPath + filePath
|
|
313
|
-
• Retorna: conteúdo, metadados, encoding
|
|
314
|
-
|
|
315
|
-
WRITE: Escrita com backup automático
|
|
316
|
-
• Requer apenas: action + projectPath + filePath + content
|
|
317
|
-
• Auto-commita + push para todos os providers
|
|
318
|
-
|
|
319
|
-
SEARCH: Busca eficiente no código
|
|
320
|
-
• Requer apenas: action + projectPath + query
|
|
321
|
-
• Busca em .js, .ts, .json, .md files
|
|
322
|
-
• Resultados estruturados para AI parsing
|
|
323
|
-
|
|
324
|
-
UPDATE: Atualização com versionamento
|
|
325
|
-
• Requer apenas: action + projectPath + filePath + content
|
|
326
|
-
• Backup automático + commit inteligente
|
|
327
|
-
|
|
328
|
-
BACKUP-FILES: Backup seletivo de arquivos
|
|
329
|
-
• Requer apenas: action + projectPath
|
|
330
|
-
• Padrões configuráveis (*.js, src/**, etc.)
|
|
331
|
-
|
|
332
|
-
✨ DIFERENCIAIS v2.0:
|
|
333
|
-
• Zero-config: Apenas action + projectPath obrigatórios
|
|
334
|
-
• Auto-detecção universal: repo/owner/providers do projectPath
|
|
335
|
-
• Respostas universais: Funciona com qualquer AI agent/IDE
|
|
336
|
-
• Backup automático: Toda alteração é automaticamente versionada
|
|
337
|
-
• Busca inteligente: Resultados estruturados para AI processing
|
|
338
|
-
• Multi-provider automático: Push automático para todos os providers configurados`,
|
|
339
|
-
inputSchema: {
|
|
340
|
-
type: 'object',
|
|
341
|
-
properties: {
|
|
342
|
-
action: {
|
|
343
|
-
type: 'string',
|
|
344
|
-
enum: ['read', 'write', 'search', 'update', 'backup-files'],
|
|
345
|
-
description: 'File operation (apenas 5 ações otimizadas)'
|
|
346
|
-
},
|
|
347
|
-
projectPath: {
|
|
348
|
-
type: 'string',
|
|
349
|
-
description: 'Caminho absoluto do projeto (OBRIGATÓRIO - único parâmetro sempre necessário)'
|
|
350
|
-
},
|
|
351
|
-
filePath: {
|
|
352
|
-
type: 'string',
|
|
353
|
-
description: 'Caminho do arquivo (obrigatório para read/write/update)'
|
|
354
|
-
},
|
|
355
|
-
content: {
|
|
356
|
-
type: 'string',
|
|
357
|
-
description: 'Conteúdo do arquivo (obrigatório para write/update)'
|
|
358
|
-
},
|
|
359
|
-
query: {
|
|
360
|
-
type: 'string',
|
|
361
|
-
description: 'Termo de busca (obrigatório para search)'
|
|
362
|
-
},
|
|
363
|
-
path: {
|
|
364
|
-
type: 'string',
|
|
365
|
-
description: 'Caminho para busca (opcional, padrão: raiz do projeto)'
|
|
366
|
-
},
|
|
367
|
-
caseSensitive: {
|
|
368
|
-
type: 'boolean',
|
|
369
|
-
description: 'Busca case-sensitive (opcional, padrão: false)',
|
|
370
|
-
default: false
|
|
371
|
-
},
|
|
372
|
-
patterns: {
|
|
373
|
-
type: 'array',
|
|
374
|
-
items: { type: 'string' },
|
|
375
|
-
description: 'Padrões glob para backup (opcional, usa padrões comuns se omitido)'
|
|
376
|
-
},
|
|
377
|
-
description: {
|
|
378
|
-
type: 'string',
|
|
379
|
-
description: 'Descrição do backup (opcional)'
|
|
380
|
-
}
|
|
381
|
-
},
|
|
382
|
-
required: ['action', 'projectPath']
|
|
383
|
-
},
|
|
384
|
-
async handler(input) {
|
|
385
|
-
try {
|
|
386
|
-
// Valida input
|
|
387
|
-
const validatedInput = GitFilesInputSchema.parse(input);
|
|
388
|
-
// Auto-detecta contexto do projeto
|
|
389
|
-
const detection = (0, auto_detection_js_1.autoDetect)(validatedInput.projectPath);
|
|
390
|
-
// Valida se a auto-detecção foi bem-sucedida
|
|
391
|
-
const validation = (0, auto_detection_js_1.validateAutoDetection)(detection);
|
|
392
|
-
if (!validation.isValid) {
|
|
393
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, validatedInput.action, 'Falha na auto-detecção do projeto', detection, 'git-files', { validation }, {
|
|
394
|
-
code: 'AUTO_DETECTION_FAILED',
|
|
395
|
-
message: 'Não foi possÃvel detectar automaticamente as configurações do projeto',
|
|
396
|
-
cause: validation.errors.join('; '),
|
|
397
|
-
suggestion: 'Verifique se as variáveis de ambiente estão configuradas: GITEA_USERNAME/GITEA_TOKEN/GITEA_URL ou GITHUB_USERNAME/GITHUB_TOKEN'
|
|
398
|
-
});
|
|
399
|
-
}
|
|
400
|
-
// Executa ação especÃfica
|
|
401
|
-
switch (validatedInput.action) {
|
|
402
|
-
case 'read':
|
|
403
|
-
return await filesExecutor['executeRead'](detection, validatedInput);
|
|
404
|
-
case 'write':
|
|
405
|
-
return await filesExecutor['executeWrite'](detection, validatedInput);
|
|
406
|
-
case 'search':
|
|
407
|
-
return await filesExecutor['executeSearch'](detection, validatedInput);
|
|
408
|
-
case 'update':
|
|
409
|
-
return await filesExecutor['executeUpdate'](detection, validatedInput);
|
|
410
|
-
case 'backup-files':
|
|
411
|
-
return await filesExecutor['executeBackupFiles'](detection, validatedInput);
|
|
412
|
-
}
|
|
413
|
-
}
|
|
414
|
-
catch (error) {
|
|
415
|
-
// Cria resposta de erro universal
|
|
416
|
-
const detection = input.projectPath ? (0, auto_detection_js_1.autoDetect)(input.projectPath) : {
|
|
417
|
-
projectPath: input.projectPath || 'unknown',
|
|
418
|
-
repoName: 'unknown',
|
|
419
|
-
owner: 'unknown',
|
|
420
|
-
providers: [],
|
|
421
|
-
isValidRepo: false
|
|
422
|
-
};
|
|
423
|
-
const errorHandler = new error_handler_js_1.UniversalErrorHandler();
|
|
424
|
-
errorHandler.addError(error, undefined, { action: input.action, projectPath: input.projectPath });
|
|
425
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, input.action, `Erro na operação ${input.action}`, detection, 'git-files', undefined, errorHandler.toUniversalResponse());
|
|
426
|
-
}
|
|
427
181
|
}
|
|
428
182
|
};
|
|
429
183
|
//# sourceMappingURL=git-files.js.map
|
|
@@ -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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"}
|