@andrebuzeli/git-mcp 2.28.2 → 2.29.1
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/providers/error-handler.d.ts +24 -0
- package/dist/providers/error-handler.d.ts.map +1 -1
- package/dist/providers/error-handler.js +59 -0
- package/dist/providers/error-handler.js.map +1 -1
- package/dist/server.js +11 -11
- package/dist/server.js.map +1 -1
- package/dist/tools/git-archive.d.ts +13 -9
- package/dist/tools/git-archive.d.ts.map +1 -1
- package/dist/tools/git-archive.js +34 -21
- package/dist/tools/git-archive.js.map +1 -1
- package/dist/tools/git-branches.d.ts +150 -146
- package/dist/tools/git-branches.d.ts.map +1 -1
- package/dist/tools/git-branches.js +184 -171
- package/dist/tools/git-branches.js.map +1 -1
- package/dist/tools/git-commits.d.ts +161 -157
- package/dist/tools/git-commits.d.ts.map +1 -1
- package/dist/tools/git-commits.js +200 -187
- package/dist/tools/git-commits.js.map +1 -1
- package/dist/tools/git-config.d.ts +18 -14
- package/dist/tools/git-config.d.ts.map +1 -1
- package/dist/tools/git-config.js +57 -44
- package/dist/tools/git-config.js.map +1 -1
- package/dist/tools/git-files.d.ts +204 -200
- package/dist/tools/git-files.d.ts.map +1 -1
- package/dist/tools/git-files.js +233 -220
- package/dist/tools/git-files.js.map +1 -1
- package/dist/tools/git-initialize.d.ts +46 -42
- package/dist/tools/git-initialize.d.ts.map +1 -1
- package/dist/tools/git-initialize.js +81 -68
- package/dist/tools/git-initialize.js.map +1 -1
- package/dist/tools/git-issues.d.ts +193 -189
- package/dist/tools/git-issues.d.ts.map +1 -1
- package/dist/tools/git-issues.js +238 -225
- package/dist/tools/git-issues.js.map +1 -1
- package/dist/tools/git-pulls.d.ts +212 -208
- package/dist/tools/git-pulls.d.ts.map +1 -1
- package/dist/tools/git-pulls.js +238 -225
- package/dist/tools/git-pulls.js.map +1 -1
- package/dist/tools/git-releases.d.ts +160 -156
- package/dist/tools/git-releases.d.ts.map +1 -1
- package/dist/tools/git-releases.js +183 -170
- package/dist/tools/git-releases.js.map +1 -1
- package/dist/tools/git-remote.d.ts +9 -5
- package/dist/tools/git-remote.d.ts.map +1 -1
- package/dist/tools/git-remote.js +26 -13
- package/dist/tools/git-remote.js.map +1 -1
- package/dist/tools/git-repositories.d.ts +179 -175
- package/dist/tools/git-repositories.d.ts.map +1 -1
- package/dist/tools/git-repositories.js +230 -217
- package/dist/tools/git-repositories.js.map +1 -1
- package/dist/tools/git-reset.d.ts +13 -9
- package/dist/tools/git-reset.d.ts.map +1 -1
- package/dist/tools/git-reset.js +27 -14
- package/dist/tools/git-reset.js.map +1 -1
- package/dist/tools/git-revert.d.ts +14 -10
- package/dist/tools/git-revert.d.ts.map +1 -1
- package/dist/tools/git-revert.js +30 -17
- package/dist/tools/git-revert.js.map +1 -1
- package/dist/tools/git-stash.d.ts +10 -6
- package/dist/tools/git-stash.d.ts.map +1 -1
- package/dist/tools/git-stash.js +23 -10
- package/dist/tools/git-stash.js.map +1 -1
- package/dist/tools/git-sync.d.ts +18 -14
- package/dist/tools/git-sync.d.ts.map +1 -1
- package/dist/tools/git-sync.js +46 -33
- package/dist/tools/git-sync.js.map +1 -1
- package/dist/tools/git-tags.d.ts +137 -133
- package/dist/tools/git-tags.d.ts.map +1 -1
- package/dist/tools/git-tags.js +164 -151
- package/dist/tools/git-tags.js.map +1 -1
- package/dist/tools/git-upload-project.d.ts +5 -1
- package/dist/tools/git-upload-project.d.ts.map +1 -1
- package/dist/tools/git-upload-project.js +21 -1
- package/dist/tools/git-upload-project.js.map +1 -1
- package/dist/tools/git-webhooks.d.ts +147 -143
- package/dist/tools/git-webhooks.d.ts.map +1 -1
- package/dist/tools/git-webhooks.js +174 -157
- package/dist/tools/git-webhooks.js.map +1 -1
- package/dist/utils/git-error-analyzer.d.ts +64 -0
- package/dist/utils/git-error-analyzer.d.ts.map +1 -0
- package/dist/utils/git-error-analyzer.js +286 -0
- package/dist/utils/git-error-analyzer.js.map +1 -0
- package/package.json +2 -2
|
@@ -0,0 +1,64 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Analisador inteligente de erros Git com sugestões de solução automática
|
|
3
|
+
*
|
|
4
|
+
* FUNCIONALIDADE:
|
|
5
|
+
* - Analisa erros Git específicos
|
|
6
|
+
* - Identifica a causa raiz do problema
|
|
7
|
+
* - Sugere comandos Git para resolver
|
|
8
|
+
* - Permite ao AI agent resolver automaticamente
|
|
9
|
+
*
|
|
10
|
+
* CASOS DE USO:
|
|
11
|
+
* - Conflitos de merge
|
|
12
|
+
* - Problemas de autenticação
|
|
13
|
+
* - Branches divergentes
|
|
14
|
+
* - Repositórios não sincronizados
|
|
15
|
+
* - Permissões insuficientes
|
|
16
|
+
*/
|
|
17
|
+
export interface GitErrorAnalysis {
|
|
18
|
+
errorType: string;
|
|
19
|
+
cause: string;
|
|
20
|
+
solution: string;
|
|
21
|
+
suggestedCommands: string[];
|
|
22
|
+
autoFixable: boolean;
|
|
23
|
+
requiresUserAction: boolean;
|
|
24
|
+
relatedTools: string[];
|
|
25
|
+
}
|
|
26
|
+
export interface IntelligentErrorResponse {
|
|
27
|
+
success: false;
|
|
28
|
+
action: string;
|
|
29
|
+
message: string;
|
|
30
|
+
error: string;
|
|
31
|
+
analysis: GitErrorAnalysis;
|
|
32
|
+
nextSteps: string[];
|
|
33
|
+
}
|
|
34
|
+
export declare class GitErrorAnalyzer {
|
|
35
|
+
/**
|
|
36
|
+
* Analisa erro Git e retorna análise inteligente com sugestões
|
|
37
|
+
*/
|
|
38
|
+
static analyzeGitError(error: string, context?: string): GitErrorAnalysis;
|
|
39
|
+
/**
|
|
40
|
+
* Analisa erros genéricos tentando extrair informações úteis
|
|
41
|
+
*/
|
|
42
|
+
private static analyzeGenericError;
|
|
43
|
+
/**
|
|
44
|
+
* Cria resposta inteligente de erro com análise e sugestões
|
|
45
|
+
*/
|
|
46
|
+
static createIntelligentErrorResponse(action: string, error: string, context?: string): IntelligentErrorResponse;
|
|
47
|
+
/**
|
|
48
|
+
* Gera próximos passos baseados na análise do erro
|
|
49
|
+
*/
|
|
50
|
+
private static generateNextSteps;
|
|
51
|
+
/**
|
|
52
|
+
* Retorna descrição da tool para contexto
|
|
53
|
+
*/
|
|
54
|
+
private static getToolDescription;
|
|
55
|
+
/**
|
|
56
|
+
* Verifica se um erro pode ser resolvido automaticamente
|
|
57
|
+
*/
|
|
58
|
+
static isAutoFixable(error: string): boolean;
|
|
59
|
+
/**
|
|
60
|
+
* Retorna as tools relacionadas que podem ajudar a resolver o erro
|
|
61
|
+
*/
|
|
62
|
+
static getRelatedTools(error: string): string[];
|
|
63
|
+
}
|
|
64
|
+
//# sourceMappingURL=git-error-analyzer.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-error-analyzer.d.ts","sourceRoot":"","sources":["../../src/utils/git-error-analyzer.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;GAeG;AAEH,MAAM,WAAW,gBAAgB;IAC/B,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAC5B,WAAW,EAAE,OAAO,CAAC;IACrB,kBAAkB,EAAE,OAAO,CAAC;IAC5B,YAAY,EAAE,MAAM,EAAE,CAAC;CACxB;AAED,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,KAAK,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;IACf,OAAO,EAAE,MAAM,CAAC;IAChB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,gBAAgB,CAAC;IAC3B,SAAS,EAAE,MAAM,EAAE,CAAC;CACrB;AAED,qBAAa,gBAAgB;IAE3B;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,EAAE,OAAO,GAAE,MAAW,GAAG,gBAAgB;IAqJ7E;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,mBAAmB;IAwDlC;;OAEG;IACH,MAAM,CAAC,8BAA8B,CACnC,MAAM,EAAE,MAAM,EACd,KAAK,EAAE,MAAM,EACb,OAAO,GAAE,MAAW,GACnB,wBAAwB;IAa3B;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,iBAAiB;IAuBhC;;OAEG;IACH,OAAO,CAAC,MAAM,CAAC,kBAAkB;IAcjC;;OAEG;IACH,MAAM,CAAC,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO;IAK5C;;OAEG;IACH,MAAM,CAAC,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,EAAE;CAIhD"}
|
|
@@ -0,0 +1,286 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Analisador inteligente de erros Git com sugestões de solução automática
|
|
4
|
+
*
|
|
5
|
+
* FUNCIONALIDADE:
|
|
6
|
+
* - Analisa erros Git específicos
|
|
7
|
+
* - Identifica a causa raiz do problema
|
|
8
|
+
* - Sugere comandos Git para resolver
|
|
9
|
+
* - Permite ao AI agent resolver automaticamente
|
|
10
|
+
*
|
|
11
|
+
* CASOS DE USO:
|
|
12
|
+
* - Conflitos de merge
|
|
13
|
+
* - Problemas de autenticação
|
|
14
|
+
* - Branches divergentes
|
|
15
|
+
* - Repositórios não sincronizados
|
|
16
|
+
* - Permissões insuficientes
|
|
17
|
+
*/
|
|
18
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
19
|
+
exports.GitErrorAnalyzer = void 0;
|
|
20
|
+
class GitErrorAnalyzer {
|
|
21
|
+
/**
|
|
22
|
+
* Analisa erro Git e retorna análise inteligente com sugestões
|
|
23
|
+
*/
|
|
24
|
+
static analyzeGitError(error, context = '') {
|
|
25
|
+
const errorLower = error.toLowerCase();
|
|
26
|
+
// 1. CONFLITOS DE MERGE
|
|
27
|
+
if (errorLower.includes('conflict') || errorLower.includes('merge conflict')) {
|
|
28
|
+
return {
|
|
29
|
+
errorType: 'MERGE_CONFLICT',
|
|
30
|
+
cause: 'Conflito de merge entre branches divergentes',
|
|
31
|
+
solution: 'Resolver conflitos manualmente ou usar estratégia de merge',
|
|
32
|
+
suggestedCommands: [
|
|
33
|
+
'git status',
|
|
34
|
+
'git diff',
|
|
35
|
+
'git add .',
|
|
36
|
+
'git commit -m "Resolve merge conflicts"',
|
|
37
|
+
'git push origin main'
|
|
38
|
+
],
|
|
39
|
+
autoFixable: false,
|
|
40
|
+
requiresUserAction: true,
|
|
41
|
+
relatedTools: ['git-commits', 'git-branches', 'git-files']
|
|
42
|
+
};
|
|
43
|
+
}
|
|
44
|
+
// 2. BRANCHES DIVERGENTES
|
|
45
|
+
if (errorLower.includes('divergent') || errorLower.includes('non-fast-forward')) {
|
|
46
|
+
return {
|
|
47
|
+
errorType: 'DIVERGENT_BRANCHES',
|
|
48
|
+
cause: 'Branches locais e remotas divergiram - histórico não relacionado',
|
|
49
|
+
solution: 'Sincronizar branches usando pull com rebase ou merge',
|
|
50
|
+
suggestedCommands: [
|
|
51
|
+
'git pull origin main --rebase',
|
|
52
|
+
'git pull origin main --allow-unrelated-histories',
|
|
53
|
+
'git push origin main --force'
|
|
54
|
+
],
|
|
55
|
+
autoFixable: true,
|
|
56
|
+
requiresUserAction: false,
|
|
57
|
+
relatedTools: ['git-commits', 'git-branches', 'git-remote']
|
|
58
|
+
};
|
|
59
|
+
}
|
|
60
|
+
// 3. REPOSITÓRIO NÃO SINCRONIZADO
|
|
61
|
+
if (errorLower.includes('fetch first') || errorLower.includes('updates were rejected')) {
|
|
62
|
+
return {
|
|
63
|
+
errorType: 'OUT_OF_SYNC',
|
|
64
|
+
cause: 'Repositório local está desatualizado em relação ao remoto',
|
|
65
|
+
solution: 'Fazer pull para sincronizar antes do push',
|
|
66
|
+
suggestedCommands: [
|
|
67
|
+
'git pull origin main',
|
|
68
|
+
'git push origin main'
|
|
69
|
+
],
|
|
70
|
+
autoFixable: true,
|
|
71
|
+
requiresUserAction: false,
|
|
72
|
+
relatedTools: ['git-commits', 'git-remote']
|
|
73
|
+
};
|
|
74
|
+
}
|
|
75
|
+
// 4. PROBLEMAS DE AUTENTICAÇÃO
|
|
76
|
+
if (errorLower.includes('authentication') || errorLower.includes('unauthorized') ||
|
|
77
|
+
errorLower.includes('failed to authenticate')) {
|
|
78
|
+
return {
|
|
79
|
+
errorType: 'AUTHENTICATION_ERROR',
|
|
80
|
+
cause: 'Falha na autenticação - credenciais inválidas ou expiradas',
|
|
81
|
+
solution: 'Verificar e configurar credenciais Git',
|
|
82
|
+
suggestedCommands: [
|
|
83
|
+
'git config --global user.name "Your Name"',
|
|
84
|
+
'git config --global user.email "your.email@example.com"',
|
|
85
|
+
'git remote set-url origin https://username:token@host/repo.git'
|
|
86
|
+
],
|
|
87
|
+
autoFixable: false,
|
|
88
|
+
requiresUserAction: true,
|
|
89
|
+
relatedTools: ['git-config', 'git-remote']
|
|
90
|
+
};
|
|
91
|
+
}
|
|
92
|
+
// 5. REPOSITÓRIO NÃO ENCONTRADO
|
|
93
|
+
if (errorLower.includes('not found') || errorLower.includes('repository not found')) {
|
|
94
|
+
return {
|
|
95
|
+
errorType: 'REPOSITORY_NOT_FOUND',
|
|
96
|
+
cause: 'Repositório não existe ou URL incorreta',
|
|
97
|
+
solution: 'Verificar URL do repositório e permissões',
|
|
98
|
+
suggestedCommands: [
|
|
99
|
+
'git remote -v',
|
|
100
|
+
'git remote set-url origin https://correct-url.git',
|
|
101
|
+
'git push origin main'
|
|
102
|
+
],
|
|
103
|
+
autoFixable: false,
|
|
104
|
+
requiresUserAction: true,
|
|
105
|
+
relatedTools: ['git-remote', 'git-repositories']
|
|
106
|
+
};
|
|
107
|
+
}
|
|
108
|
+
// 6. PERMISSÕES INSUFICIENTES
|
|
109
|
+
if (errorLower.includes('permission') || errorLower.includes('forbidden') ||
|
|
110
|
+
errorLower.includes('access denied')) {
|
|
111
|
+
return {
|
|
112
|
+
errorType: 'PERMISSION_DENIED',
|
|
113
|
+
cause: 'Usuário não tem permissão para realizar a operação',
|
|
114
|
+
solution: 'Verificar permissões do usuário no repositório',
|
|
115
|
+
suggestedCommands: [
|
|
116
|
+
'git config --list | grep user',
|
|
117
|
+
'git remote -v',
|
|
118
|
+
'Verificar permissões no GitHub/Gitea'
|
|
119
|
+
],
|
|
120
|
+
autoFixable: false,
|
|
121
|
+
requiresUserAction: true,
|
|
122
|
+
relatedTools: ['git-config', 'git-remote']
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
// 7. WORKING DIRECTORY SUJO
|
|
126
|
+
if (errorLower.includes('working tree') || errorLower.includes('uncommitted changes')) {
|
|
127
|
+
return {
|
|
128
|
+
errorType: 'DIRTY_WORKING_TREE',
|
|
129
|
+
cause: 'Working directory tem mudanças não commitadas',
|
|
130
|
+
solution: 'Fazer commit ou stash das mudanças antes da operação',
|
|
131
|
+
suggestedCommands: [
|
|
132
|
+
'git status',
|
|
133
|
+
'git add .',
|
|
134
|
+
'git commit -m "Save changes"',
|
|
135
|
+
'git stash',
|
|
136
|
+
'git stash pop'
|
|
137
|
+
],
|
|
138
|
+
autoFixable: true,
|
|
139
|
+
requiresUserAction: false,
|
|
140
|
+
relatedTools: ['git-commits', 'git-stash']
|
|
141
|
+
};
|
|
142
|
+
}
|
|
143
|
+
// 8. BRANCH NÃO EXISTE
|
|
144
|
+
if (errorLower.includes('branch') && errorLower.includes('does not exist')) {
|
|
145
|
+
return {
|
|
146
|
+
errorType: 'BRANCH_NOT_FOUND',
|
|
147
|
+
cause: 'Branch especificada não existe localmente ou remotamente',
|
|
148
|
+
solution: 'Criar branch ou fazer checkout de branch existente',
|
|
149
|
+
suggestedCommands: [
|
|
150
|
+
'git branch -a',
|
|
151
|
+
'git checkout -b new-branch',
|
|
152
|
+
'git checkout existing-branch',
|
|
153
|
+
'git push origin new-branch'
|
|
154
|
+
],
|
|
155
|
+
autoFixable: true,
|
|
156
|
+
requiresUserAction: false,
|
|
157
|
+
relatedTools: ['git-branches']
|
|
158
|
+
};
|
|
159
|
+
}
|
|
160
|
+
// 9. ERRO GENÉRICO - TENTAR ANÁLISE MAIS PROFUNDA
|
|
161
|
+
return this.analyzeGenericError(error, context);
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Analisa erros genéricos tentando extrair informações úteis
|
|
165
|
+
*/
|
|
166
|
+
static analyzeGenericError(error, context) {
|
|
167
|
+
const errorLower = error.toLowerCase();
|
|
168
|
+
// Verificar se é erro de rede
|
|
169
|
+
if (errorLower.includes('network') || errorLower.includes('connection') ||
|
|
170
|
+
errorLower.includes('timeout')) {
|
|
171
|
+
return {
|
|
172
|
+
errorType: 'NETWORK_ERROR',
|
|
173
|
+
cause: 'Problema de conectividade de rede',
|
|
174
|
+
solution: 'Verificar conexão e tentar novamente',
|
|
175
|
+
suggestedCommands: [
|
|
176
|
+
'ping hostname',
|
|
177
|
+
'git remote -v',
|
|
178
|
+
'Tentar novamente em alguns minutos'
|
|
179
|
+
],
|
|
180
|
+
autoFixable: true,
|
|
181
|
+
requiresUserAction: false,
|
|
182
|
+
relatedTools: ['git-remote']
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
// Verificar se é erro de espaço em disco
|
|
186
|
+
if (errorLower.includes('space') || errorLower.includes('disk') ||
|
|
187
|
+
errorLower.includes('full')) {
|
|
188
|
+
return {
|
|
189
|
+
errorType: 'DISK_SPACE_ERROR',
|
|
190
|
+
cause: 'Espaço em disco insuficiente',
|
|
191
|
+
solution: 'Liberar espaço em disco',
|
|
192
|
+
suggestedCommands: [
|
|
193
|
+
'df -h',
|
|
194
|
+
'git gc --prune=now',
|
|
195
|
+
'git remote prune origin'
|
|
196
|
+
],
|
|
197
|
+
autoFixable: false,
|
|
198
|
+
requiresUserAction: true,
|
|
199
|
+
relatedTools: []
|
|
200
|
+
};
|
|
201
|
+
}
|
|
202
|
+
// Erro desconhecido
|
|
203
|
+
return {
|
|
204
|
+
errorType: 'UNKNOWN_ERROR',
|
|
205
|
+
cause: 'Erro não identificado - análise manual necessária',
|
|
206
|
+
solution: 'Verificar logs detalhados e documentação',
|
|
207
|
+
suggestedCommands: [
|
|
208
|
+
'git status',
|
|
209
|
+
'git log --oneline -5',
|
|
210
|
+
'git remote -v',
|
|
211
|
+
'Verificar documentação Git'
|
|
212
|
+
],
|
|
213
|
+
autoFixable: false,
|
|
214
|
+
requiresUserAction: true,
|
|
215
|
+
relatedTools: ['git-commits', 'git-remote', 'git-config']
|
|
216
|
+
};
|
|
217
|
+
}
|
|
218
|
+
/**
|
|
219
|
+
* Cria resposta inteligente de erro com análise e sugestões
|
|
220
|
+
*/
|
|
221
|
+
static createIntelligentErrorResponse(action, error, context = '') {
|
|
222
|
+
const analysis = this.analyzeGitError(error, context);
|
|
223
|
+
return {
|
|
224
|
+
success: false,
|
|
225
|
+
action,
|
|
226
|
+
message: `Erro na operação ${action}: ${analysis.cause}`,
|
|
227
|
+
error: error,
|
|
228
|
+
analysis,
|
|
229
|
+
nextSteps: this.generateNextSteps(analysis)
|
|
230
|
+
};
|
|
231
|
+
}
|
|
232
|
+
/**
|
|
233
|
+
* Gera próximos passos baseados na análise do erro
|
|
234
|
+
*/
|
|
235
|
+
static generateNextSteps(analysis) {
|
|
236
|
+
const steps = [];
|
|
237
|
+
if (analysis.autoFixable) {
|
|
238
|
+
steps.push(`✅ ERRO AUTOMATICAMENTE RESOLVÍVEL: ${analysis.solution}`);
|
|
239
|
+
steps.push(`🔧 Use as seguintes tools para resolver:`);
|
|
240
|
+
analysis.relatedTools.forEach(tool => {
|
|
241
|
+
steps.push(` - ${tool}: Para ${this.getToolDescription(tool)}`);
|
|
242
|
+
});
|
|
243
|
+
}
|
|
244
|
+
else {
|
|
245
|
+
steps.push(`⚠️ ERRO REQUER AÇÃO MANUAL: ${analysis.solution}`);
|
|
246
|
+
steps.push(`📋 Comandos sugeridos:`);
|
|
247
|
+
analysis.suggestedCommands.forEach(cmd => {
|
|
248
|
+
steps.push(` - ${cmd}`);
|
|
249
|
+
});
|
|
250
|
+
}
|
|
251
|
+
steps.push(`🎯 CAUSA IDENTIFICADA: ${analysis.cause}`);
|
|
252
|
+
steps.push(`💡 TIPO DE ERRO: ${analysis.errorType}`);
|
|
253
|
+
return steps;
|
|
254
|
+
}
|
|
255
|
+
/**
|
|
256
|
+
* Retorna descrição da tool para contexto
|
|
257
|
+
*/
|
|
258
|
+
static getToolDescription(tool) {
|
|
259
|
+
const descriptions = {
|
|
260
|
+
'git-commits': 'gerenciar commits e histórico',
|
|
261
|
+
'git-branches': 'gerenciar branches',
|
|
262
|
+
'git-remote': 'configurar repositórios remotos',
|
|
263
|
+
'git-config': 'configurar credenciais Git',
|
|
264
|
+
'git-files': 'gerenciar arquivos',
|
|
265
|
+
'git-stash': 'salvar mudanças temporariamente',
|
|
266
|
+
'git-repositories': 'gerenciar repositórios'
|
|
267
|
+
};
|
|
268
|
+
return descriptions[tool] || 'operar com Git';
|
|
269
|
+
}
|
|
270
|
+
/**
|
|
271
|
+
* Verifica se um erro pode ser resolvido automaticamente
|
|
272
|
+
*/
|
|
273
|
+
static isAutoFixable(error) {
|
|
274
|
+
const analysis = this.analyzeGitError(error);
|
|
275
|
+
return analysis.autoFixable;
|
|
276
|
+
}
|
|
277
|
+
/**
|
|
278
|
+
* Retorna as tools relacionadas que podem ajudar a resolver o erro
|
|
279
|
+
*/
|
|
280
|
+
static getRelatedTools(error) {
|
|
281
|
+
const analysis = this.analyzeGitError(error);
|
|
282
|
+
return analysis.relatedTools;
|
|
283
|
+
}
|
|
284
|
+
}
|
|
285
|
+
exports.GitErrorAnalyzer = GitErrorAnalyzer;
|
|
286
|
+
//# sourceMappingURL=git-error-analyzer.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"git-error-analyzer.js","sourceRoot":"","sources":["../../src/utils/git-error-analyzer.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": "2.
|
|
3
|
+
"version": "2.29.1",
|
|
4
4
|
"description": "MCP server for Gitea and GitHub integration with 18 comprehensive DevOps tools - 100% AUTO-SUFFICIENT: Complete Git/GitHub functionality with ALL methods implemented, GitOperations class, FileOperations, TerminalOperations, Project Upload, Git Initialize - NO external dependencies, NO terminal commands, FULLY IMPLEMENTED - Enhanced validation with required projectPath and provider parameters",
|
|
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 v2.
|
|
16
|
+
"postpublish": "echo 'Git MCP v2.29.1 published successfully - Fixed MCP protocol compliance!'"
|
|
17
17
|
},
|
|
18
18
|
"keywords": [
|
|
19
19
|
"mcp",
|