@andrebuzeli/git-mcp 5.0.4 → 5.0.6
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/LICENSE +21 -0
- package/README.md +143 -89
- package/dist/config.d.ts +72 -71
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +226 -139
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +15 -17
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +133 -128
- package/dist/index.js.map +1 -1
- package/dist/providers/base-provider.d.ts +42 -153
- package/dist/providers/base-provider.d.ts.map +1 -1
- package/dist/providers/base-provider.js +42 -302
- package/dist/providers/base-provider.js.map +1 -1
- package/dist/providers/gitea-provider.d.ts +67 -118
- package/dist/providers/gitea-provider.d.ts.map +1 -1
- package/dist/providers/gitea-provider.js +487 -1161
- package/dist/providers/gitea-provider.js.map +1 -1
- package/dist/providers/github-provider.d.ts +70 -81
- package/dist/providers/github-provider.d.ts.map +1 -1
- package/dist/providers/github-provider.js +641 -278
- package/dist/providers/github-provider.js.map +1 -1
- package/dist/providers/index.d.ts +9 -9
- package/dist/providers/index.d.ts.map +1 -1
- package/dist/providers/index.js +13 -19
- package/dist/providers/index.js.map +1 -1
- package/dist/providers/provider-factory.d.ts +29 -59
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +134 -265
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/provider-operation-handler.d.ts +93 -0
- package/dist/providers/provider-operation-handler.d.ts.map +1 -0
- package/dist/providers/provider-operation-handler.js +280 -0
- package/dist/providers/provider-operation-handler.js.map +1 -0
- package/dist/providers/types.d.ts +201 -355
- package/dist/providers/types.d.ts.map +1 -1
- package/dist/providers/types.js +3 -2
- package/dist/providers/types.js.map +1 -1
- package/dist/server.d.ts +34 -4
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +439 -262
- package/dist/server.js.map +1 -1
- package/dist/tools/git-analytics.d.ts +239 -16
- package/dist/tools/git-analytics.d.ts.map +1 -1
- package/dist/tools/git-analytics.js +737 -25
- package/dist/tools/git-analytics.js.map +1 -1
- package/dist/tools/git-archive.d.ts +109 -15
- package/dist/tools/git-archive.d.ts.map +1 -1
- package/dist/tools/git-archive.js +462 -10
- package/dist/tools/git-archive.js.map +1 -1
- package/dist/tools/git-backup.d.ts +101 -15
- package/dist/tools/git-backup.d.ts.map +1 -1
- package/dist/tools/git-backup.js +410 -10
- package/dist/tools/git-backup.js.map +1 -1
- package/dist/tools/git-branches.d.ts +141 -15
- package/dist/tools/git-branches.d.ts.map +1 -1
- package/dist/tools/git-branches.js +466 -11
- package/dist/tools/git-branches.js.map +1 -1
- package/dist/tools/git-config.d.ts +115 -15
- package/dist/tools/git-config.d.ts.map +1 -1
- package/dist/tools/git-config.js +446 -11
- package/dist/tools/git-config.js.map +1 -1
- package/dist/tools/git-files.d.ts +179 -59
- package/dist/tools/git-files.d.ts.map +1 -1
- package/dist/tools/git-files.js +682 -222
- package/dist/tools/git-files.js.map +1 -1
- package/dist/tools/git-issues.d.ts +158 -15
- package/dist/tools/git-issues.d.ts.map +1 -1
- package/dist/tools/git-issues.js +323 -11
- package/dist/tools/git-issues.js.map +1 -1
- package/dist/tools/git-monitor.d.ts +149 -14
- package/dist/tools/git-monitor.d.ts.map +1 -1
- package/dist/tools/git-monitor.js +528 -11
- package/dist/tools/git-monitor.js.map +1 -1
- package/dist/tools/git-packages.d.ts +163 -15
- package/dist/tools/git-packages.d.ts.map +1 -1
- package/dist/tools/git-packages.js +526 -11
- package/dist/tools/git-packages.js.map +1 -1
- package/dist/tools/git-pulls.d.ts +174 -15
- package/dist/tools/git-pulls.d.ts.map +1 -1
- package/dist/tools/git-pulls.js +352 -11
- package/dist/tools/git-pulls.js.map +1 -1
- package/dist/tools/git-release.d.ts +167 -15
- package/dist/tools/git-release.d.ts.map +1 -1
- package/dist/tools/git-release.js +465 -11
- package/dist/tools/git-release.js.map +1 -1
- package/dist/tools/git-remote.d.ts +124 -15
- package/dist/tools/git-remote.d.ts.map +1 -1
- package/dist/tools/git-remote.js +539 -11
- package/dist/tools/git-remote.js.map +1 -1
- package/dist/tools/git-reset.d.ts +100 -15
- package/dist/tools/git-reset.d.ts.map +1 -1
- package/dist/tools/git-reset.js +409 -11
- package/dist/tools/git-reset.js.map +1 -1
- package/dist/tools/git-stash.d.ts +120 -15
- package/dist/tools/git-stash.d.ts.map +1 -1
- package/dist/tools/git-stash.js +503 -11
- package/dist/tools/git-stash.js.map +1 -1
- package/dist/tools/git-sync.d.ts +160 -16
- package/dist/tools/git-sync.d.ts.map +1 -1
- package/dist/tools/git-sync.js +462 -113
- package/dist/tools/git-sync.js.map +1 -1
- package/dist/tools/git-tags.d.ts +142 -15
- package/dist/tools/git-tags.d.ts.map +1 -1
- package/dist/tools/git-tags.js +471 -11
- package/dist/tools/git-tags.js.map +1 -1
- package/dist/tools/git-workflow.d.ts +151 -80
- package/dist/tools/git-workflow.d.ts.map +1 -1
- package/dist/tools/git-workflow.js +407 -912
- package/dist/tools/git-workflow.js.map +1 -1
- package/dist/utils/credential-manager.d.ts +119 -0
- package/dist/utils/credential-manager.d.ts.map +1 -0
- package/dist/utils/credential-manager.js +450 -0
- package/dist/utils/credential-manager.js.map +1 -0
- package/dist/utils/git-command-executor.d.ts +326 -0
- package/dist/utils/git-command-executor.d.ts.map +1 -0
- package/dist/utils/git-command-executor.js +877 -0
- package/dist/utils/git-command-executor.js.map +1 -0
- package/dist/utils/logger.d.ts +143 -0
- package/dist/utils/logger.d.ts.map +1 -0
- package/dist/utils/logger.js +473 -0
- package/dist/utils/logger.js.map +1 -0
- package/dist/utils/operation-error-handler.d.ts +54 -41
- package/dist/utils/operation-error-handler.d.ts.map +1 -1
- package/dist/utils/operation-error-handler.js +211 -227
- package/dist/utils/operation-error-handler.js.map +1 -1
- package/dist/utils/parameter-validator.d.ts +41 -0
- package/dist/utils/parameter-validator.d.ts.map +1 -0
- package/dist/utils/parameter-validator.js +464 -0
- package/dist/utils/parameter-validator.js.map +1 -0
- package/dist/utils/repository-detector.d.ts +128 -0
- package/dist/utils/repository-detector.d.ts.map +1 -0
- package/dist/utils/repository-detector.js +422 -0
- package/dist/utils/repository-detector.js.map +1 -0
- package/dist/utils/response-formatter.d.ts +146 -0
- package/dist/utils/response-formatter.d.ts.map +1 -0
- package/dist/utils/response-formatter.js +378 -0
- package/dist/utils/response-formatter.js.map +1 -0
- package/dist/utils/retry.d.ts +12 -0
- package/dist/utils/retry.d.ts.map +1 -0
- package/dist/utils/retry.js +28 -0
- package/dist/utils/retry.js.map +1 -0
- package/dist/utils/terminal-controller.d.ts +73 -139
- package/dist/utils/terminal-controller.d.ts.map +1 -1
- package/dist/utils/terminal-controller.js +234 -459
- package/dist/utils/terminal-controller.js.map +1 -1
- package/package.json +79 -60
- package/dist/providers/error-handler.d.ts +0 -51
- package/dist/providers/error-handler.d.ts.map +0 -1
- package/dist/providers/error-handler.js +0 -176
- package/dist/providers/error-handler.js.map +0 -1
- package/dist/providers/github-provider-backup.d.ts +0 -81
- package/dist/providers/github-provider-backup.d.ts.map +0 -1
- package/dist/providers/github-provider-backup.js +0 -1179
- package/dist/providers/github-provider-backup.js.map +0 -1
- package/dist/providers/github-provider-complete.d.ts +0 -1
- package/dist/providers/github-provider-complete.d.ts.map +0 -1
- package/dist/providers/github-provider-complete.js +0 -2
- package/dist/providers/github-provider-complete.js.map +0 -1
- package/dist/tools/git-init.d.ts +0 -50
- package/dist/tools/git-init.d.ts.map +0 -1
- package/dist/tools/git-init.js +0 -258
- package/dist/tools/git-init.js.map +0 -1
- package/dist/tools/git-log.d.ts +0 -67
- package/dist/tools/git-log.d.ts.map +0 -1
- package/dist/tools/git-log.js +0 -320
- package/dist/tools/git-log.js.map +0 -1
- package/dist/tools/git-status.d.ts +0 -29
- package/dist/tools/git-status.d.ts.map +0 -1
- package/dist/tools/git-status.js +0 -182
- package/dist/tools/git-status.js.map +0 -1
- package/dist/tools/git-update.d.ts +0 -34
- package/dist/tools/git-update.d.ts.map +0 -1
- package/dist/tools/git-update.js +0 -191
- package/dist/tools/git-update.js.map +0 -1
- package/dist/utils/auto-detection.d.ts +0 -120
- package/dist/utils/auto-detection.d.ts.map +0 -1
- package/dist/utils/auto-detection.js +0 -259
- package/dist/utils/auto-detection.js.map +0 -1
- package/dist/utils/configuration-error-generator.d.ts +0 -41
- package/dist/utils/configuration-error-generator.d.ts.map +0 -1
- package/dist/utils/configuration-error-generator.js +0 -168
- package/dist/utils/configuration-error-generator.js.map +0 -1
- package/dist/utils/configuration-validator.d.ts +0 -67
- package/dist/utils/configuration-validator.d.ts.map +0 -1
- package/dist/utils/configuration-validator.js +0 -257
- package/dist/utils/configuration-validator.js.map +0 -1
- package/dist/utils/error-handler.d.ts +0 -107
- package/dist/utils/error-handler.d.ts.map +0 -1
- package/dist/utils/error-handler.js +0 -331
- package/dist/utils/error-handler.js.map +0 -1
- package/dist/utils/git-operations.d.ts +0 -200
- package/dist/utils/git-operations.d.ts.map +0 -1
- package/dist/utils/git-operations.js +0 -836
- package/dist/utils/git-operations.js.map +0 -1
- package/dist/utils/multi-provider-error-handler.d.ts +0 -75
- package/dist/utils/multi-provider-error-handler.d.ts.map +0 -1
- package/dist/utils/multi-provider-error-handler.js +0 -276
- package/dist/utils/multi-provider-error-handler.js.map +0 -1
- package/dist/utils/multi-provider-operation-handler.d.ts +0 -113
- package/dist/utils/multi-provider-operation-handler.d.ts.map +0 -1
- package/dist/utils/multi-provider-operation-handler.js +0 -303
- package/dist/utils/multi-provider-operation-handler.js.map +0 -1
- package/dist/utils/provider-operation-handler.d.ts +0 -80
- package/dist/utils/provider-operation-handler.d.ts.map +0 -1
- package/dist/utils/provider-operation-handler.js +0 -201
- package/dist/utils/provider-operation-handler.js.map +0 -1
- package/dist/utils/response-helper.d.ts +0 -57
- package/dist/utils/response-helper.d.ts.map +0 -1
- package/dist/utils/response-helper.js +0 -54
- package/dist/utils/response-helper.js.map +0 -1
- package/dist/utils/user-detection.d.ts +0 -25
- package/dist/utils/user-detection.d.ts.map +0 -1
- package/dist/utils/user-detection.js +0 -54
- package/dist/utils/user-detection.js.map +0 -1
|
@@ -1,331 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.UniversalErrorHandler = exports.ErrorCode = void 0;
|
|
4
|
-
exports.createDetailedError = createDetailedError;
|
|
5
|
-
exports.aggregateProviderErrors = aggregateProviderErrors;
|
|
6
|
-
exports.attemptAutoRecovery = attemptAutoRecovery;
|
|
7
|
-
exports.toUniversalResponseError = toUniversalResponseError;
|
|
8
|
-
/**
|
|
9
|
-
* Sistema de Tratamento de Erros Universal para MCP Git
|
|
10
|
-
*
|
|
11
|
-
* Conforme especificado no design.md, este módulo:
|
|
12
|
-
* - Fornece formato de erro padronizado para todos os AI agents
|
|
13
|
-
* - Inclui causa detalhada e sugestões de correção
|
|
14
|
-
* - Categoriza erros como recuperáveis ou críticos
|
|
15
|
-
* - Suporta multi-provider error aggregation
|
|
16
|
-
*/
|
|
17
|
-
/**
|
|
18
|
-
* Códigos de erro padronizados
|
|
19
|
-
*/
|
|
20
|
-
var ErrorCode;
|
|
21
|
-
(function (ErrorCode) {
|
|
22
|
-
// Autenticação
|
|
23
|
-
ErrorCode["AUTH_FAILED"] = "AUTH_FAILED";
|
|
24
|
-
ErrorCode["TOKEN_EXPIRED"] = "TOKEN_EXPIRED";
|
|
25
|
-
ErrorCode["PERMISSION_DENIED"] = "PERMISSION_DENIED";
|
|
26
|
-
// Repositório
|
|
27
|
-
ErrorCode["REPO_NOT_FOUND"] = "REPO_NOT_FOUND";
|
|
28
|
-
ErrorCode["REPO_ALREADY_EXISTS"] = "REPO_ALREADY_EXISTS";
|
|
29
|
-
ErrorCode["INVALID_REPO_NAME"] = "INVALID_REPO_NAME";
|
|
30
|
-
// Rede/Conectividade
|
|
31
|
-
ErrorCode["NETWORK_ERROR"] = "NETWORK_ERROR";
|
|
32
|
-
ErrorCode["TIMEOUT_ERROR"] = "TIMEOUT_ERROR";
|
|
33
|
-
ErrorCode["API_RATE_LIMIT"] = "API_RATE_LIMIT";
|
|
34
|
-
// Git/Local
|
|
35
|
-
ErrorCode["GIT_ERROR"] = "GIT_ERROR";
|
|
36
|
-
ErrorCode["MERGE_CONFLICT"] = "MERGE_CONFLICT";
|
|
37
|
-
ErrorCode["BRANCH_NOT_FOUND"] = "BRANCH_NOT_FOUND";
|
|
38
|
-
ErrorCode["COMMIT_FAILED"] = "COMMIT_FAILED";
|
|
39
|
-
// Validação
|
|
40
|
-
ErrorCode["INVALID_INPUT"] = "INVALID_INPUT";
|
|
41
|
-
ErrorCode["MISSING_REQUIRED_PARAM"] = "MISSING_REQUIRED_PARAM";
|
|
42
|
-
ErrorCode["INVALID_PATH"] = "INVALID_PATH";
|
|
43
|
-
// Sistema
|
|
44
|
-
ErrorCode["INTERNAL_ERROR"] = "INTERNAL_ERROR";
|
|
45
|
-
ErrorCode["UNKNOWN_ERROR"] = "UNKNOWN_ERROR";
|
|
46
|
-
})(ErrorCode || (exports.ErrorCode = ErrorCode = {}));
|
|
47
|
-
/**
|
|
48
|
-
* Mapeamento de códigos de erro para sugestões de correção
|
|
49
|
-
*/
|
|
50
|
-
const ERROR_SUGGESTIONS = {
|
|
51
|
-
[ErrorCode.AUTH_FAILED]: 'Verifique se o token está correto e não expirou. Execute: echo $GITEA_TOKEN ou echo $GITHUB_TOKEN',
|
|
52
|
-
[ErrorCode.TOKEN_EXPIRED]: 'Renove o token de acesso no provedor Git correspondente',
|
|
53
|
-
[ErrorCode.PERMISSION_DENIED]: 'Verifique se o token tem permissões adequadas para a operação solicitada',
|
|
54
|
-
[ErrorCode.REPO_NOT_FOUND]: 'Verifique se o repositório existe e você tem acesso a ele',
|
|
55
|
-
[ErrorCode.REPO_ALREADY_EXISTS]: 'Use um nome diferente para o repositório ou delete o existente',
|
|
56
|
-
[ErrorCode.INVALID_REPO_NAME]: 'Use apenas letras, números, hífens e underscores. Máximo 100 caracteres',
|
|
57
|
-
[ErrorCode.NETWORK_ERROR]: 'Verifique sua conexão com a internet e tente novamente',
|
|
58
|
-
[ErrorCode.TIMEOUT_ERROR]: 'A operação demorou muito. Tente novamente ou verifique o status do servidor',
|
|
59
|
-
[ErrorCode.API_RATE_LIMIT]: 'Aguarde alguns minutos antes de tentar novamente. Considere usar um token autenticado',
|
|
60
|
-
[ErrorCode.GIT_ERROR]: 'Verifique se o diretório é um repositório Git válido: git status',
|
|
61
|
-
[ErrorCode.MERGE_CONFLICT]: 'Resolva os conflitos manualmente nos arquivos e faça commit: git add <arquivo>; git commit',
|
|
62
|
-
[ErrorCode.BRANCH_NOT_FOUND]: 'Verifique se a branch existe: git branch -a',
|
|
63
|
-
[ErrorCode.COMMIT_FAILED]: 'Verifique se há mudanças para commitar: git status',
|
|
64
|
-
[ErrorCode.INVALID_INPUT]: 'Verifique os parâmetros fornecidos e tente novamente',
|
|
65
|
-
[ErrorCode.MISSING_REQUIRED_PARAM]: 'Forneça todos os parâmetros obrigatórios conforme documentação',
|
|
66
|
-
[ErrorCode.INVALID_PATH]: 'Verifique se o caminho do projeto existe e é acessível',
|
|
67
|
-
[ErrorCode.INTERNAL_ERROR]: 'Erro interno do sistema. Tente novamente ou reporte o problema',
|
|
68
|
-
[ErrorCode.UNKNOWN_ERROR]: 'Erro desconhecido. Verifique os logs para mais detalhes'
|
|
69
|
-
};
|
|
70
|
-
/**
|
|
71
|
-
* Erros considerados recuperáveis (podem tentar correção automática)
|
|
72
|
-
*/
|
|
73
|
-
const RECOVERABLE_ERRORS = [
|
|
74
|
-
ErrorCode.NETWORK_ERROR,
|
|
75
|
-
ErrorCode.TIMEOUT_ERROR,
|
|
76
|
-
ErrorCode.API_RATE_LIMIT,
|
|
77
|
-
ErrorCode.MERGE_CONFLICT
|
|
78
|
-
];
|
|
79
|
-
/**
|
|
80
|
-
* Mapeia mensagens de erro comuns para códigos padronizados
|
|
81
|
-
*/
|
|
82
|
-
function mapErrorToCode(error) {
|
|
83
|
-
const message = error.message?.toLowerCase() || '';
|
|
84
|
-
const code = error.code?.toLowerCase() || '';
|
|
85
|
-
// Autenticação
|
|
86
|
-
if (message.includes('unauthorized') || message.includes('authentication failed') || code === 'eauth') {
|
|
87
|
-
return ErrorCode.AUTH_FAILED;
|
|
88
|
-
}
|
|
89
|
-
if (message.includes('token') && (message.includes('expired') || message.includes('invalid'))) {
|
|
90
|
-
return ErrorCode.TOKEN_EXPIRED;
|
|
91
|
-
}
|
|
92
|
-
if (message.includes('permission') || message.includes('forbidden') || code === 'eperm') {
|
|
93
|
-
return ErrorCode.PERMISSION_DENIED;
|
|
94
|
-
}
|
|
95
|
-
// Repositório
|
|
96
|
-
if (message.includes('not found') && message.includes('repository')) {
|
|
97
|
-
return ErrorCode.REPO_NOT_FOUND;
|
|
98
|
-
}
|
|
99
|
-
if (message.includes('already exists') && message.includes('repository')) {
|
|
100
|
-
return ErrorCode.REPO_ALREADY_EXISTS;
|
|
101
|
-
}
|
|
102
|
-
// Rede
|
|
103
|
-
if (message.includes('network') || message.includes('connection') || code === 'enetwork') {
|
|
104
|
-
return ErrorCode.NETWORK_ERROR;
|
|
105
|
-
}
|
|
106
|
-
if (message.includes('timeout') || code === 'etimeout') {
|
|
107
|
-
return ErrorCode.TIMEOUT_ERROR;
|
|
108
|
-
}
|
|
109
|
-
if (message.includes('rate limit') || message.includes('too many requests')) {
|
|
110
|
-
return ErrorCode.API_RATE_LIMIT;
|
|
111
|
-
}
|
|
112
|
-
// Git
|
|
113
|
-
if (message.includes('merge conflict')) {
|
|
114
|
-
return ErrorCode.MERGE_CONFLICT;
|
|
115
|
-
}
|
|
116
|
-
if (message.includes('branch') && message.includes('not found')) {
|
|
117
|
-
return ErrorCode.BRANCH_NOT_FOUND;
|
|
118
|
-
}
|
|
119
|
-
if (message.includes('nothing to commit')) {
|
|
120
|
-
return ErrorCode.COMMIT_FAILED;
|
|
121
|
-
}
|
|
122
|
-
// Sistema
|
|
123
|
-
if (code === 'einval' || message.includes('invalid')) {
|
|
124
|
-
return ErrorCode.INVALID_INPUT;
|
|
125
|
-
}
|
|
126
|
-
if (message.includes('no such file') || message.includes('path')) {
|
|
127
|
-
return ErrorCode.INVALID_PATH;
|
|
128
|
-
}
|
|
129
|
-
return ErrorCode.UNKNOWN_ERROR;
|
|
130
|
-
}
|
|
131
|
-
/**
|
|
132
|
-
* Extrai causa detalhada do erro
|
|
133
|
-
*/
|
|
134
|
-
function extractCause(error) {
|
|
135
|
-
if (error.cause) {
|
|
136
|
-
return error.cause;
|
|
137
|
-
}
|
|
138
|
-
if (error.response?.data?.message) {
|
|
139
|
-
return error.response.data.message;
|
|
140
|
-
}
|
|
141
|
-
if (error.stderr) {
|
|
142
|
-
return error.stderr.toString().trim();
|
|
143
|
-
}
|
|
144
|
-
if (error.message) {
|
|
145
|
-
return error.message;
|
|
146
|
-
}
|
|
147
|
-
return 'Causa desconhecida';
|
|
148
|
-
}
|
|
149
|
-
/**
|
|
150
|
-
* Cria erro detalhado padronizado
|
|
151
|
-
*/
|
|
152
|
-
function createDetailedError(originalError, provider, context) {
|
|
153
|
-
const code = mapErrorToCode(originalError);
|
|
154
|
-
const cause = extractCause(originalError);
|
|
155
|
-
const suggestion = ERROR_SUGGESTIONS[code];
|
|
156
|
-
const recoverable = RECOVERABLE_ERRORS.includes(code);
|
|
157
|
-
return {
|
|
158
|
-
code,
|
|
159
|
-
message: ERROR_SUGGESTIONS[code] || 'Erro não catalogado',
|
|
160
|
-
cause,
|
|
161
|
-
suggestion,
|
|
162
|
-
provider,
|
|
163
|
-
recoverable,
|
|
164
|
-
context
|
|
165
|
-
};
|
|
166
|
-
}
|
|
167
|
-
/**
|
|
168
|
-
* Agrega múltiplos erros de diferentes providers
|
|
169
|
-
*/
|
|
170
|
-
function aggregateProviderErrors(errors) {
|
|
171
|
-
if (errors.length === 0) {
|
|
172
|
-
return createDetailedError(new Error('Nenhum erro fornecido'));
|
|
173
|
-
}
|
|
174
|
-
if (errors.length === 1) {
|
|
175
|
-
return errors[0];
|
|
176
|
-
}
|
|
177
|
-
// Se todos os providers falharam com o mesmo erro
|
|
178
|
-
const allSameCode = errors.every(e => e.code === errors[0].code);
|
|
179
|
-
if (allSameCode) {
|
|
180
|
-
return {
|
|
181
|
-
...errors[0],
|
|
182
|
-
message: `${errors[0].message} (todos os providers)`,
|
|
183
|
-
cause: errors.map(e => `${e.provider}: ${e.cause}`).join('; ')
|
|
184
|
-
};
|
|
185
|
-
}
|
|
186
|
-
// Erro genérico de múltiplos providers
|
|
187
|
-
return {
|
|
188
|
-
code: ErrorCode.INTERNAL_ERROR,
|
|
189
|
-
message: 'Falha em múltiplos providers',
|
|
190
|
-
cause: errors.map(e => `${e.provider}: ${e.code} - ${e.cause}`).join('; '),
|
|
191
|
-
suggestion: 'Verifique a configuração de cada provider individualmente',
|
|
192
|
-
recoverable: false,
|
|
193
|
-
context: { providerErrors: errors }
|
|
194
|
-
};
|
|
195
|
-
}
|
|
196
|
-
/**
|
|
197
|
-
* Tenta recuperação automática para erros recuperáveis
|
|
198
|
-
*/
|
|
199
|
-
async function attemptAutoRecovery(error, context) {
|
|
200
|
-
if (!error.recoverable) {
|
|
201
|
-
return { recovered: false, newError: error };
|
|
202
|
-
}
|
|
203
|
-
const maxRetries = 3;
|
|
204
|
-
const currentRetry = context.retryCount || 0;
|
|
205
|
-
if (currentRetry >= maxRetries) {
|
|
206
|
-
return {
|
|
207
|
-
recovered: false,
|
|
208
|
-
newError: {
|
|
209
|
-
...error,
|
|
210
|
-
message: `${error.message} (máximo de tentativas excedido)`
|
|
211
|
-
}
|
|
212
|
-
};
|
|
213
|
-
}
|
|
214
|
-
try {
|
|
215
|
-
switch (error.code) {
|
|
216
|
-
case ErrorCode.NETWORK_ERROR:
|
|
217
|
-
case ErrorCode.TIMEOUT_ERROR:
|
|
218
|
-
// Aguarda e tenta novamente
|
|
219
|
-
await new Promise(resolve => setTimeout(resolve, 1000 * (currentRetry + 1)));
|
|
220
|
-
return {
|
|
221
|
-
recovered: true,
|
|
222
|
-
result: { shouldRetry: true, retryCount: currentRetry + 1 }
|
|
223
|
-
};
|
|
224
|
-
case ErrorCode.API_RATE_LIMIT:
|
|
225
|
-
// Aguarda mais tempo para rate limit
|
|
226
|
-
await new Promise(resolve => setTimeout(resolve, 60000)); // 1 minuto
|
|
227
|
-
return {
|
|
228
|
-
recovered: true,
|
|
229
|
-
result: { shouldRetry: true, retryCount: currentRetry + 1 }
|
|
230
|
-
};
|
|
231
|
-
case ErrorCode.MERGE_CONFLICT:
|
|
232
|
-
// Para conflitos, sugere resolução manual
|
|
233
|
-
return {
|
|
234
|
-
recovered: false,
|
|
235
|
-
newError: {
|
|
236
|
-
...error,
|
|
237
|
-
suggestion: 'Resolva os conflitos manualmente: git status; git add <arquivo>; git commit'
|
|
238
|
-
}
|
|
239
|
-
};
|
|
240
|
-
default:
|
|
241
|
-
return { recovered: false, newError: error };
|
|
242
|
-
}
|
|
243
|
-
}
|
|
244
|
-
catch (recoveryError) {
|
|
245
|
-
return {
|
|
246
|
-
recovered: false,
|
|
247
|
-
newError: createDetailedError(recoveryError, error.provider, context)
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
}
|
|
251
|
-
/**
|
|
252
|
-
* Converte erro detalhado para formato UniversalResponse
|
|
253
|
-
*/
|
|
254
|
-
function toUniversalResponseError(error) {
|
|
255
|
-
return {
|
|
256
|
-
code: error.code,
|
|
257
|
-
message: error.message,
|
|
258
|
-
cause: error.cause,
|
|
259
|
-
suggestion: error.suggestion
|
|
260
|
-
};
|
|
261
|
-
}
|
|
262
|
-
/**
|
|
263
|
-
* Handler principal de erros para todas as tools
|
|
264
|
-
*/
|
|
265
|
-
class UniversalErrorHandler {
|
|
266
|
-
errors = [];
|
|
267
|
-
/**
|
|
268
|
-
* Registra um erro ocorrido
|
|
269
|
-
*/
|
|
270
|
-
addError(error, provider, context) {
|
|
271
|
-
const detailedError = createDetailedError(error, provider, context);
|
|
272
|
-
this.errors.push(detailedError);
|
|
273
|
-
}
|
|
274
|
-
/**
|
|
275
|
-
* Obtém todos os erros registrados
|
|
276
|
-
*/
|
|
277
|
-
getErrors() {
|
|
278
|
-
return [...this.errors];
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Verifica se há erros críticos (não recuperáveis)
|
|
282
|
-
*/
|
|
283
|
-
hasCriticalErrors() {
|
|
284
|
-
return this.errors.some(e => !e.recoverable);
|
|
285
|
-
}
|
|
286
|
-
/**
|
|
287
|
-
* Tenta recuperação automática de todos os erros
|
|
288
|
-
*/
|
|
289
|
-
async attemptRecovery(context) {
|
|
290
|
-
const results = [];
|
|
291
|
-
const remainingErrors = [];
|
|
292
|
-
for (const error of this.errors) {
|
|
293
|
-
const recovery = await attemptAutoRecovery(error, {
|
|
294
|
-
...context,
|
|
295
|
-
retryCount: 0
|
|
296
|
-
});
|
|
297
|
-
if (recovery.recovered) {
|
|
298
|
-
results.push(recovery.result);
|
|
299
|
-
}
|
|
300
|
-
else {
|
|
301
|
-
remainingErrors.push(recovery.newError || error);
|
|
302
|
-
}
|
|
303
|
-
}
|
|
304
|
-
return {
|
|
305
|
-
recovered: remainingErrors.length === 0,
|
|
306
|
-
results,
|
|
307
|
-
remainingErrors
|
|
308
|
-
};
|
|
309
|
-
}
|
|
310
|
-
/**
|
|
311
|
-
* Gera resposta de erro universal consolidada
|
|
312
|
-
*/
|
|
313
|
-
toUniversalResponse() {
|
|
314
|
-
if (this.errors.length === 0) {
|
|
315
|
-
return undefined;
|
|
316
|
-
}
|
|
317
|
-
if (this.errors.length === 1) {
|
|
318
|
-
return toUniversalResponseError(this.errors[0]);
|
|
319
|
-
}
|
|
320
|
-
const aggregatedError = aggregateProviderErrors(this.errors);
|
|
321
|
-
return toUniversalResponseError(aggregatedError);
|
|
322
|
-
}
|
|
323
|
-
/**
|
|
324
|
-
* Limpa todos os erros registrados
|
|
325
|
-
*/
|
|
326
|
-
clear() {
|
|
327
|
-
this.errors = [];
|
|
328
|
-
}
|
|
329
|
-
}
|
|
330
|
-
exports.UniversalErrorHandler = UniversalErrorHandler;
|
|
331
|
-
//# sourceMappingURL=error-handler.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"error-handler.js","sourceRoot":"","sources":["../../src/utils/error-handler.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,200 +0,0 @@
|
|
|
1
|
-
export interface GitResult {
|
|
2
|
-
success: boolean;
|
|
3
|
-
output: string;
|
|
4
|
-
error?: string;
|
|
5
|
-
exitCode: number;
|
|
6
|
-
}
|
|
7
|
-
export interface FileOperationResult {
|
|
8
|
-
success: boolean;
|
|
9
|
-
message: string;
|
|
10
|
-
data?: any;
|
|
11
|
-
error?: string;
|
|
12
|
-
}
|
|
13
|
-
/**
|
|
14
|
-
* Classe para operações Git locais - 100% auto-suficiente
|
|
15
|
-
* Implementa todas as operações Git sem depender de outras tools
|
|
16
|
-
*/
|
|
17
|
-
export declare class GitOperations {
|
|
18
|
-
private projectPath;
|
|
19
|
-
constructor(projectPath: string);
|
|
20
|
-
/**
|
|
21
|
-
* Executa comando Git local
|
|
22
|
-
*/
|
|
23
|
-
private runGitCommand;
|
|
24
|
-
/**
|
|
25
|
-
* Executa comando de sistema
|
|
26
|
-
*/
|
|
27
|
-
private runSystemCommand;
|
|
28
|
-
/**
|
|
29
|
-
* Verifica se é um repositório Git
|
|
30
|
-
*/
|
|
31
|
-
isGitRepository(): Promise<boolean>;
|
|
32
|
-
/**
|
|
33
|
-
* Inicializa repositório Git
|
|
34
|
-
*/
|
|
35
|
-
initRepository(bare?: boolean): Promise<GitResult>;
|
|
36
|
-
/**
|
|
37
|
-
* Clona repositório
|
|
38
|
-
*/
|
|
39
|
-
cloneRepository(url: string, directory?: string, options?: any): Promise<GitResult>;
|
|
40
|
-
/**
|
|
41
|
-
* Adiciona arquivos ao staging
|
|
42
|
-
*/
|
|
43
|
-
addFiles(files?: string[]): Promise<GitResult>;
|
|
44
|
-
/**
|
|
45
|
-
* Remove arquivos do staging
|
|
46
|
-
*/
|
|
47
|
-
resetFiles(files?: string[]): Promise<GitResult>;
|
|
48
|
-
/**
|
|
49
|
-
* Faz commit
|
|
50
|
-
*/
|
|
51
|
-
commit(message: string, options?: any): Promise<GitResult>;
|
|
52
|
-
/**
|
|
53
|
-
* Push para remote
|
|
54
|
-
*/
|
|
55
|
-
push(remote?: string, branch?: string, options?: any): Promise<GitResult>;
|
|
56
|
-
/**
|
|
57
|
-
* Pull do remote
|
|
58
|
-
*/
|
|
59
|
-
pull(remote?: string, branch?: string, options?: any): Promise<GitResult>;
|
|
60
|
-
/**
|
|
61
|
-
* Fetch do remote
|
|
62
|
-
*/
|
|
63
|
-
fetch(remote?: string, options?: any): Promise<GitResult>;
|
|
64
|
-
/**
|
|
65
|
-
* Lista branches
|
|
66
|
-
*/
|
|
67
|
-
listBranches(options?: any): Promise<GitResult>;
|
|
68
|
-
/**
|
|
69
|
-
* Cria branch
|
|
70
|
-
*/
|
|
71
|
-
createBranch(name: string, startPoint?: string, options?: any): Promise<GitResult>;
|
|
72
|
-
/**
|
|
73
|
-
* Deleta branch
|
|
74
|
-
*/
|
|
75
|
-
deleteBranch(name: string, options?: any): Promise<GitResult>;
|
|
76
|
-
/**
|
|
77
|
-
* Checkout branch/commit
|
|
78
|
-
*/
|
|
79
|
-
checkout(target: string, options?: any): Promise<GitResult>;
|
|
80
|
-
/**
|
|
81
|
-
* Merge branches
|
|
82
|
-
*/
|
|
83
|
-
merge(branch: string, options?: any): Promise<GitResult>;
|
|
84
|
-
/**
|
|
85
|
-
* Rebase
|
|
86
|
-
*/
|
|
87
|
-
rebase(target: string, options?: any): Promise<GitResult>;
|
|
88
|
-
/**
|
|
89
|
-
* Reset
|
|
90
|
-
*/
|
|
91
|
-
reset(target: string, options?: any): Promise<GitResult>;
|
|
92
|
-
/**
|
|
93
|
-
* Revert commit
|
|
94
|
-
*/
|
|
95
|
-
revert(commit: string, options?: any): Promise<GitResult>;
|
|
96
|
-
/**
|
|
97
|
-
* Cherry-pick
|
|
98
|
-
*/
|
|
99
|
-
cherryPick(commit: string, options?: any): Promise<GitResult>;
|
|
100
|
-
/**
|
|
101
|
-
* Stash
|
|
102
|
-
*/
|
|
103
|
-
stash(action?: string, options?: any): Promise<GitResult>;
|
|
104
|
-
/**
|
|
105
|
-
* Tag operations
|
|
106
|
-
*/
|
|
107
|
-
tag(name?: string, options?: any): Promise<GitResult>;
|
|
108
|
-
/**
|
|
109
|
-
* Log
|
|
110
|
-
*/
|
|
111
|
-
log(options?: any): Promise<GitResult>;
|
|
112
|
-
/**
|
|
113
|
-
* Status
|
|
114
|
-
*/
|
|
115
|
-
status(options?: any): Promise<GitResult>;
|
|
116
|
-
/**
|
|
117
|
-
* Diff
|
|
118
|
-
*/
|
|
119
|
-
diff(options?: any): Promise<GitResult>;
|
|
120
|
-
/**
|
|
121
|
-
* Remote operations
|
|
122
|
-
*/
|
|
123
|
-
remote(action: string, name?: string, url?: string): Promise<GitResult>;
|
|
124
|
-
/**
|
|
125
|
-
* Config operations
|
|
126
|
-
*/
|
|
127
|
-
config(key?: string, value?: string, options?: any): Promise<GitResult>;
|
|
128
|
-
/**
|
|
129
|
-
* Submodule operations
|
|
130
|
-
*/
|
|
131
|
-
submodule(action: string, options?: any): Promise<GitResult>;
|
|
132
|
-
/**
|
|
133
|
-
* Worktree operations
|
|
134
|
-
*/
|
|
135
|
-
worktree(action: string, options?: any): Promise<GitResult>;
|
|
136
|
-
/**
|
|
137
|
-
* Archive operations
|
|
138
|
-
*/
|
|
139
|
-
archive(format: string, treeish: string, output?: string, options?: any): Promise<GitResult>;
|
|
140
|
-
/**
|
|
141
|
-
* Bundle operations
|
|
142
|
-
*/
|
|
143
|
-
bundle(action: string, options?: any): Promise<GitResult>;
|
|
144
|
-
/**
|
|
145
|
-
* File operations
|
|
146
|
-
*/
|
|
147
|
-
readFile(filePath: string): Promise<FileOperationResult>;
|
|
148
|
-
writeFile(filePath: string, content: string): Promise<FileOperationResult>;
|
|
149
|
-
deleteFile(filePath: string): Promise<FileOperationResult>;
|
|
150
|
-
listFiles(directory?: string): Promise<FileOperationResult>;
|
|
151
|
-
createDirectory(dirPath: string): Promise<FileOperationResult>;
|
|
152
|
-
deleteDirectory(dirPath: string): Promise<FileOperationResult>;
|
|
153
|
-
/**
|
|
154
|
-
* Terminal operations
|
|
155
|
-
*/
|
|
156
|
-
runCommand(command: string, args?: string[]): Promise<GitResult>;
|
|
157
|
-
/**
|
|
158
|
-
* Network operations
|
|
159
|
-
*/
|
|
160
|
-
testConnection(url: string): Promise<GitResult>;
|
|
161
|
-
/**
|
|
162
|
-
* Utility operations
|
|
163
|
-
*/
|
|
164
|
-
getCurrentDirectory(): Promise<string>;
|
|
165
|
-
changeDirectory(newPath: string): Promise<void>;
|
|
166
|
-
/**
|
|
167
|
-
* Obtém a branch atual
|
|
168
|
-
*/
|
|
169
|
-
getCurrentBranch(): Promise<GitResult>;
|
|
170
|
-
getGitInfo(): Promise<any>;
|
|
171
|
-
/**
|
|
172
|
-
* Inicializa repositório com branch específica
|
|
173
|
-
*/
|
|
174
|
-
init(branch?: string): Promise<GitResult>;
|
|
175
|
-
/**
|
|
176
|
-
* Obtém remotes configurados
|
|
177
|
-
*/
|
|
178
|
-
getRemotes(): Promise<GitResult>;
|
|
179
|
-
/**
|
|
180
|
-
* Obtém último commit
|
|
181
|
-
*/
|
|
182
|
-
getLastCommit(): Promise<GitResult>;
|
|
183
|
-
/**
|
|
184
|
-
* Obtém log com opções customizadas
|
|
185
|
-
*/
|
|
186
|
-
getLog(options?: string[]): Promise<GitResult>;
|
|
187
|
-
/**
|
|
188
|
-
* Obtém histórico de arquivo específico
|
|
189
|
-
*/
|
|
190
|
-
getFileHistory(filePath: string, options?: string[]): Promise<GitResult>;
|
|
191
|
-
/**
|
|
192
|
-
* Obtém histórico de branch
|
|
193
|
-
*/
|
|
194
|
-
getBranchHistory(branch: string, options?: string[]): Promise<GitResult>;
|
|
195
|
-
/**
|
|
196
|
-
* Adiciona remote
|
|
197
|
-
*/
|
|
198
|
-
addRemote(name: string, url: string): Promise<GitResult>;
|
|
199
|
-
}
|
|
200
|
-
//# sourceMappingURL=git-operations.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-operations.d.ts","sourceRoot":"","sources":["../../src/utils/git-operations.ts"],"names":[],"mappings":"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"}
|