@andrebuzeli/git-mcp 3.2.5 → 3.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +18 -1
- package/dist/server.js.map +1 -1
- package/dist/tools/git-archive.d.ts +0 -3
- package/dist/tools/git-archive.d.ts.map +1 -1
- package/dist/tools/git-archive.js +2 -2
- package/dist/tools/git-archive.js.map +1 -1
- package/dist/tools/git-branches.d.ts +6 -413
- package/dist/tools/git-branches.d.ts.map +1 -1
- package/dist/tools/git-branches.js +1 -622
- package/dist/tools/git-branches.js.map +1 -1
- package/dist/tools/git-commits.d.ts +6 -472
- package/dist/tools/git-commits.d.ts.map +1 -1
- package/dist/tools/git-commits.js +1 -738
- package/dist/tools/git-commits.js.map +1 -1
- package/dist/tools/git-config.d.ts +0 -3
- package/dist/tools/git-config.d.ts.map +1 -1
- package/dist/tools/git-config.js +2 -2
- package/dist/tools/git-config.js.map +1 -1
- package/dist/tools/git-files.d.ts +5 -468
- package/dist/tools/git-files.d.ts.map +1 -1
- package/dist/tools/git-files.js +1 -608
- package/dist/tools/git-files.js.map +1 -1
- package/dist/tools/git-initialize.js +119 -119
- package/dist/tools/git-issues.d.ts +5 -18
- package/dist/tools/git-issues.d.ts.map +1 -1
- package/dist/tools/git-issues.js +24 -55
- package/dist/tools/git-issues.js.map +1 -1
- package/dist/tools/git-packages.d.ts +0 -3
- package/dist/tools/git-packages.d.ts.map +1 -1
- package/dist/tools/git-packages.js +3 -3
- package/dist/tools/git-packages.js.map +1 -1
- package/dist/tools/git-projects.d.ts +0 -3
- package/dist/tools/git-projects.d.ts.map +1 -1
- package/dist/tools/git-projects.js +4 -4
- package/dist/tools/git-projects.js.map +1 -1
- package/dist/tools/git-pulls.d.ts +7 -16
- package/dist/tools/git-pulls.d.ts.map +1 -1
- package/dist/tools/git-pulls.js +43 -42
- package/dist/tools/git-pulls.js.map +1 -1
- package/dist/tools/git-releases.d.ts +3 -15
- package/dist/tools/git-releases.d.ts.map +1 -1
- package/dist/tools/git-releases.js +23 -29
- package/dist/tools/git-releases.js.map +1 -1
- package/dist/tools/git-remote.d.ts +0 -3
- package/dist/tools/git-remote.d.ts.map +1 -1
- package/dist/tools/git-remote.js +2 -2
- package/dist/tools/git-remote.js.map +1 -1
- package/dist/tools/git-repositories.d.ts +3 -18
- package/dist/tools/git-repositories.d.ts.map +1 -1
- package/dist/tools/git-repositories.js +23 -30
- package/dist/tools/git-repositories.js.map +1 -1
- package/dist/tools/git-reset.d.ts +2 -5
- package/dist/tools/git-reset.d.ts.map +1 -1
- package/dist/tools/git-reset.js +2 -2
- package/dist/tools/git-reset.js.map +1 -1
- package/dist/tools/git-revert.d.ts +0 -3
- package/dist/tools/git-revert.d.ts.map +1 -1
- package/dist/tools/git-revert.js +2 -2
- package/dist/tools/git-revert.js.map +1 -1
- package/dist/tools/git-stash.d.ts +0 -3
- package/dist/tools/git-stash.d.ts.map +1 -1
- package/dist/tools/git-stash.js +2 -2
- package/dist/tools/git-stash.js.map +1 -1
- package/dist/tools/git-tags.d.ts +3 -12
- package/dist/tools/git-tags.d.ts.map +1 -1
- package/dist/tools/git-tags.js +8 -11
- package/dist/tools/git-tags.js.map +1 -1
- package/dist/tools/git-update-project.d.ts +3 -9
- package/dist/tools/git-update-project.d.ts.map +1 -1
- package/dist/tools/git-update-project.js +22 -17
- package/dist/tools/git-update-project.js.map +1 -1
- package/dist/utils/user-detection.d.ts +13 -1
- package/dist/utils/user-detection.d.ts.map +1 -1
- package/dist/utils/user-detection.js +26 -1
- package/dist/utils/user-detection.js.map +1 -1
- package/package.json +3 -3
- package/dist/tools/git-files-backup.d.ts +0 -596
- package/dist/tools/git-files-backup.d.ts.map +0 -1
- package/dist/tools/git-files-backup.js +0 -868
- package/dist/tools/git-files-backup.js.map +0 -1
- package/dist/tools/git-publish.d.ts +0 -327
- package/dist/tools/git-publish.d.ts.map +0 -1
- package/dist/tools/git-publish.js +0 -632
- package/dist/tools/git-publish.js.map +0 -1
- package/dist/tools/git-workflow.d.ts +0 -299
- package/dist/tools/git-workflow.d.ts.map +0 -1
- package/dist/tools/git-workflow.js +0 -563
- package/dist/tools/git-workflow.js.map +0 -1
|
@@ -1,626 +1,5 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.branchesTool = void 0;
|
|
4
|
-
|
|
5
|
-
const index_js_1 = require("../providers/index.js");
|
|
6
|
-
const user_detection_js_1 = require("../utils/user-detection.js");
|
|
7
|
-
/**
|
|
8
|
-
* Tool: branches
|
|
9
|
-
*
|
|
10
|
-
* DESCRIÇÃO:
|
|
11
|
-
* Gerenciamento completo de branches Gitea com múltiplas ações
|
|
12
|
-
*
|
|
13
|
-
* FUNCIONALIDADES:
|
|
14
|
-
* - Criação de novas branches
|
|
15
|
-
* - Listagem e busca de branches
|
|
16
|
-
* - Obtenção de detalhes específicos
|
|
17
|
-
* - Exclusão de branches
|
|
18
|
-
* - Merge de branches
|
|
19
|
-
* - Comparação entre branches
|
|
20
|
-
*
|
|
21
|
-
* USO:
|
|
22
|
-
* - Para gerenciar fluxo de trabalho Git
|
|
23
|
-
* - Para criar branches de feature
|
|
24
|
-
* - Para organizar desenvolvimento
|
|
25
|
-
* - Para controle de versão
|
|
26
|
-
*
|
|
27
|
-
* RECOMENDAÇÕES:
|
|
28
|
-
* - Use convenções de nomenclatura consistentes
|
|
29
|
-
* - Proteja branches importantes
|
|
30
|
-
* - Mantenha branches limpas
|
|
31
|
-
* - Documente propósito das branches
|
|
32
|
-
*/
|
|
33
|
-
/**
|
|
34
|
-
* Schema de validação para entrada da tool branches
|
|
35
|
-
*
|
|
36
|
-
* VALIDAÇÕES:
|
|
37
|
-
* - action: Ação obrigatória (create, list, get, delete, merge, compare)
|
|
38
|
-
* - Parâmetros específicos por ação
|
|
39
|
-
* - Validação de tipos e formatos
|
|
40
|
-
*
|
|
41
|
-
* RECOMENDAÇÕES:
|
|
42
|
-
* - Sempre valide entrada antes de usar
|
|
43
|
-
* - Use parâmetros opcionais adequadamente
|
|
44
|
-
* - Documente parâmetros obrigatórios
|
|
45
|
-
*/
|
|
46
|
-
const BranchesInputSchema = zod_1.z.object({
|
|
47
|
-
action: zod_1.z.enum(['create', 'list', 'get', 'delete', 'merge', 'compare']),
|
|
48
|
-
// Parâmetros comuns
|
|
49
|
-
repo: zod_1.z.string(),
|
|
50
|
-
projectPath: zod_1.z.string().describe('Local project path for git operations'),
|
|
51
|
-
provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'), // Para create
|
|
52
|
-
branch_name: zod_1.z.string().optional(),
|
|
53
|
-
from_branch: zod_1.z.string().optional(),
|
|
54
|
-
// Para get/delete
|
|
55
|
-
branch: zod_1.z.string().optional(),
|
|
56
|
-
// Para merge
|
|
57
|
-
head: zod_1.z.string().optional(),
|
|
58
|
-
base: zod_1.z.string().optional(),
|
|
59
|
-
merge_method: zod_1.z.enum(['merge', 'rebase', 'squash']).optional(),
|
|
60
|
-
// Para list
|
|
61
|
-
page: zod_1.z.number().min(1).optional(),
|
|
62
|
-
limit: zod_1.z.number().min(1).max(100).optional(),
|
|
63
|
-
// Para compare
|
|
64
|
-
base_branch: zod_1.z.string().optional(),
|
|
65
|
-
head_branch: zod_1.z.string().optional(),
|
|
66
|
-
});
|
|
67
|
-
/**
|
|
68
|
-
* Schema de saída padronizado
|
|
69
|
-
*
|
|
70
|
-
* ESTRUTURA:
|
|
71
|
-
* - success: Status da operação
|
|
72
|
-
* - action: Ação executada
|
|
73
|
-
* - message: Mensagem descritiva
|
|
74
|
-
* - data: Dados retornados (opcional)
|
|
75
|
-
* - error: Detalhes do erro (opcional)
|
|
76
|
-
*/
|
|
77
|
-
const BranchesResultSchema = zod_1.z.object({
|
|
78
|
-
success: zod_1.z.boolean(),
|
|
79
|
-
action: zod_1.z.string(),
|
|
80
|
-
message: zod_1.z.string(),
|
|
81
|
-
data: zod_1.z.any().optional(),
|
|
82
|
-
error: zod_1.z.string().optional()
|
|
83
|
-
});
|
|
84
|
-
/**
|
|
85
|
-
* Tool: branches
|
|
86
|
-
*
|
|
87
|
-
* DESCRIÇÃO:
|
|
88
|
-
* Gerenciamento completo de branches Gitea com múltiplas ações
|
|
89
|
-
*
|
|
90
|
-
* ACTIONS DISPONÍVEIS:
|
|
91
|
-
*
|
|
92
|
-
* 1. create - Criar nova branch
|
|
93
|
-
* Parâmetros:
|
|
94
|
-
* - owner (obrigatório): Proprietário do repositório
|
|
95
|
-
* - repo (obrigatório): Nome do repositório
|
|
96
|
-
* - branch_name (obrigatório): Nome da nova branch
|
|
97
|
-
* - from_branch (obrigatório): Branch de origem
|
|
98
|
-
*
|
|
99
|
-
* 2. list - Listar branches
|
|
100
|
-
* Parâmetros:
|
|
101
|
-
* - owner (obrigatório): Proprietário do repositório
|
|
102
|
-
* - repo (obrigatório): Nome do repositório
|
|
103
|
-
* - page (opcional): Página da listagem (padrão: 1)
|
|
104
|
-
* - limit (opcional): Itens por página (padrão: 30)
|
|
105
|
-
*
|
|
106
|
-
* 3. get - Obter detalhes da branch
|
|
107
|
-
* Parâmetros:
|
|
108
|
-
* - owner (obrigatório): Proprietário do repositório
|
|
109
|
-
* - repo (obrigatório): Nome do repositório
|
|
110
|
-
* - branch (obrigatório): Nome da branch
|
|
111
|
-
*
|
|
112
|
-
* 4. delete - Deletar branch
|
|
113
|
-
* Parâmetros:
|
|
114
|
-
* - owner (obrigatório): Proprietário do repositório
|
|
115
|
-
* - repo (obrigatório): Nome do repositório
|
|
116
|
-
* - branch (obrigatório): Nome da branch
|
|
117
|
-
*
|
|
118
|
-
* 5. merge - Fazer merge de branches
|
|
119
|
-
* Parâmetros:
|
|
120
|
-
* - owner (obrigatório): Proprietário do repositório
|
|
121
|
-
* - repo (obrigatório): Nome do repositório
|
|
122
|
-
* - head (obrigatório): Branch de origem
|
|
123
|
-
* - base (obrigatório): Branch de destino
|
|
124
|
-
* - merge_method (opcional): Método de merge (padrão: merge)
|
|
125
|
-
*
|
|
126
|
-
* 6. compare - Comparar branches
|
|
127
|
-
* Parâmetros:
|
|
128
|
-
* - owner (obrigatório): Proprietário do repositório
|
|
129
|
-
* - repo (obrigatório): Nome do repositório
|
|
130
|
-
* - base_branch (obrigatório): Branch base
|
|
131
|
-
* - head_branch (obrigatório): Branch de comparação
|
|
132
|
-
*
|
|
133
|
-
* RECOMENDAÇÕES DE USO:
|
|
134
|
-
* - Use nomes descritivos para branches
|
|
135
|
-
* - Mantenha branches principais protegidas
|
|
136
|
-
* - Faça merge regularmente
|
|
137
|
-
* - Documente propósito das branches
|
|
138
|
-
* - Use convenções de nomenclatura
|
|
139
|
-
* - Limpe branches antigas
|
|
140
|
-
*/
|
|
141
|
-
exports.branchesTool = {
|
|
142
|
-
name: 'git-branches',
|
|
143
|
-
description: 'tool: Gerencia branches Git, criação, listagem, merge e comparação\n──────────────\naction create: cria nova branch\naction create requires: repo, branch_name, from_branch, provider, projectPath\n───────────────\naction list: lista branches do repositório\naction list requires: repo, page, limit, provider, projectPath\n───────────────\naction get: obtém detalhes de branch\naction get requires: repo, branch, provider, projectPath\n───────────────\naction delete: remove branch\naction delete requires: repo, branch, provider, projectPath\n───────────────\naction merge: integra branches\naction merge requires: repo, head, base, merge_method, provider, projectPath\n───────────────\naction compare: compara branches\naction compare requires: repo, base_branch, head_branch, provider, projectPath',
|
|
144
|
-
inputSchema: {
|
|
145
|
-
type: 'object',
|
|
146
|
-
properties: {
|
|
147
|
-
action: {
|
|
148
|
-
type: 'string',
|
|
149
|
-
enum: ['create', 'list', 'get', 'delete', 'merge', 'compare'],
|
|
150
|
-
description: 'Action to perform on branches'
|
|
151
|
-
},
|
|
152
|
-
repo: { type: 'string', description: 'Repository name' },
|
|
153
|
-
projectPath: { type: 'string', description: 'Local project path for git operations' },
|
|
154
|
-
provider: { type: 'string', description: 'Specific provider (github, gitea) or use default' },
|
|
155
|
-
branch_name: { type: 'string', description: 'Name of the new branch' },
|
|
156
|
-
from_branch: { type: 'string', description: 'Source branch for creation' },
|
|
157
|
-
branch: { type: 'string', description: 'Branch name' },
|
|
158
|
-
head: { type: 'string', description: 'Source branch for merge' },
|
|
159
|
-
base: { type: 'string', description: 'Target branch for merge' },
|
|
160
|
-
merge_method: {
|
|
161
|
-
type: 'string',
|
|
162
|
-
enum: ['merge', 'rebase', 'squash'],
|
|
163
|
-
description: 'Merge method'
|
|
164
|
-
},
|
|
165
|
-
page: { type: 'number', description: 'Page number', minimum: 1 },
|
|
166
|
-
limit: { type: 'number', description: 'Items per page', minimum: 1, maximum: 100 },
|
|
167
|
-
base_branch: { type: 'string', description: 'Base branch for comparison' },
|
|
168
|
-
head_branch: { type: 'string', description: 'Head branch for comparison' }
|
|
169
|
-
},
|
|
170
|
-
required: ['action', 'repo', 'provider', 'projectPath']
|
|
171
|
-
},
|
|
172
|
-
/**
|
|
173
|
-
* Handler principal da tool branches
|
|
174
|
-
*
|
|
175
|
-
* FUNCIONALIDADE:
|
|
176
|
-
* - Valida entrada usando Zod schema
|
|
177
|
-
* - Roteia para método específico baseado na ação
|
|
178
|
-
* - Trata erros de forma uniforme
|
|
179
|
-
* - Retorna resultado padronizado
|
|
180
|
-
*
|
|
181
|
-
* FLUXO:
|
|
182
|
-
* 1. Validação de entrada
|
|
183
|
-
* 2. Roteamento por ação
|
|
184
|
-
* 3. Execução do método específico
|
|
185
|
-
* 4. Tratamento de erros
|
|
186
|
-
* 5. Retorno de resultado
|
|
187
|
-
*
|
|
188
|
-
* TRATAMENTO DE ERROS:
|
|
189
|
-
* - Validação: erro de schema
|
|
190
|
-
* - Execução: erro da operação
|
|
191
|
-
* - Roteamento: ação não suportada
|
|
192
|
-
*
|
|
193
|
-
* RECOMENDAÇÕES:
|
|
194
|
-
* - Sempre valide entrada antes de processar
|
|
195
|
-
* - Trate erros específicos adequadamente
|
|
196
|
-
* - Log detalhes de erro para debug
|
|
197
|
-
* - Retorne mensagens de erro úteis
|
|
198
|
-
*/
|
|
199
|
-
async handler(input) {
|
|
200
|
-
try {
|
|
201
|
-
const validatedInput = BranchesInputSchema.parse(input);
|
|
202
|
-
// Aplicar auto-detecção apenas para owner dentro do provider especificado
|
|
203
|
-
const processedInput = await (0, user_detection_js_1.applyAutoUserDetection)(validatedInput, validatedInput.provider);
|
|
204
|
-
// Usar o provider especificado pelo usuário; se ausente, usar o padrão. Sem fallback quando informado.
|
|
205
|
-
let provider;
|
|
206
|
-
try {
|
|
207
|
-
if (processedInput.provider) {
|
|
208
|
-
const requestedProvider = index_js_1.globalProviderFactory.getProvider(processedInput.provider);
|
|
209
|
-
if (!requestedProvider) {
|
|
210
|
-
throw new Error(`Provider '${processedInput.provider}' não encontrado`);
|
|
211
|
-
}
|
|
212
|
-
provider = requestedProvider;
|
|
213
|
-
}
|
|
214
|
-
else {
|
|
215
|
-
throw new Error("Parâmetro 'provider' é obrigatório e não pode ser omitido");
|
|
216
|
-
}
|
|
217
|
-
if (!provider) {
|
|
218
|
-
throw new Error('Nenhum provider disponível');
|
|
219
|
-
}
|
|
220
|
-
}
|
|
221
|
-
catch (providerError) {
|
|
222
|
-
console.error('[BRANCHES] Erro ao obter provider:', providerError);
|
|
223
|
-
throw new Error(`Erro de configuração do provider: ${providerError instanceof Error ? providerError.message : 'Provider não disponível'}`);
|
|
224
|
-
}
|
|
225
|
-
switch (processedInput.action) {
|
|
226
|
-
case 'create':
|
|
227
|
-
return await this.createBranch(processedInput, provider);
|
|
228
|
-
case 'list':
|
|
229
|
-
return await this.listBranches(processedInput, provider);
|
|
230
|
-
case 'get':
|
|
231
|
-
return await this.getBranch(processedInput, provider);
|
|
232
|
-
case 'delete':
|
|
233
|
-
return await this.deleteBranch(processedInput, provider);
|
|
234
|
-
case 'merge':
|
|
235
|
-
return await this.mergeBranches(processedInput, provider);
|
|
236
|
-
case 'compare':
|
|
237
|
-
return await this.compareBranches(processedInput, provider);
|
|
238
|
-
default:
|
|
239
|
-
throw new Error(`Ação não suportada: ${processedInput.action}`);
|
|
240
|
-
}
|
|
241
|
-
}
|
|
242
|
-
catch (error) {
|
|
243
|
-
return {
|
|
244
|
-
success: false,
|
|
245
|
-
action: input.action,
|
|
246
|
-
message: 'Erro na operação de branches',
|
|
247
|
-
error: error instanceof Error ? error.message : String(error)
|
|
248
|
-
};
|
|
249
|
-
}
|
|
250
|
-
},
|
|
251
|
-
/**
|
|
252
|
-
* Cria uma nova branch no repositório
|
|
253
|
-
*
|
|
254
|
-
* FUNCIONALIDADE:
|
|
255
|
-
* - Valida parâmetros obrigatórios
|
|
256
|
-
* - Cria branch a partir de branch existente
|
|
257
|
-
* - Retorna detalhes da nova branch
|
|
258
|
-
*
|
|
259
|
-
* PARÂMETROS OBRIGATÓRIOS:
|
|
260
|
-
* - projectPath: Caminho do projeto local (OBRIGATÓRIO para TODAS as operações)
|
|
261
|
-
* - provider: Provedor a usar (gitea ou github)
|
|
262
|
-
* - repo: Nome do repositório
|
|
263
|
-
* - branch_name: Nome da nova branch
|
|
264
|
-
* - from_branch: Branch de origem
|
|
265
|
-
*
|
|
266
|
-
* VALIDAÇÕES:
|
|
267
|
-
* - Todos os parâmetros obrigatórios
|
|
268
|
-
* - Branch de origem deve existir
|
|
269
|
-
* - Nome da nova branch deve ser único
|
|
270
|
-
*
|
|
271
|
-
* RECOMENDAÇÕES:
|
|
272
|
-
* - Use nomes descritivos para branches
|
|
273
|
-
* - Crie a partir de branches estáveis
|
|
274
|
-
* - Documente propósito da branch
|
|
275
|
-
* - Use convenções de nomenclatura
|
|
276
|
-
*/
|
|
277
|
-
async createBranch(params, provider) {
|
|
278
|
-
try {
|
|
279
|
-
if (!params.repo || !params.branch_name || !params.from_branch) {
|
|
280
|
-
throw new Error('Repo, branch_name e from_branch são obrigatórios');
|
|
281
|
-
}
|
|
282
|
-
const currentUser = await provider.getCurrentUser();
|
|
283
|
-
const owner = currentUser.login;
|
|
284
|
-
const branch = await provider.createBranch(owner, params.repo, params.branch_name, params.from_branch);
|
|
285
|
-
return {
|
|
286
|
-
success: true,
|
|
287
|
-
action: 'create',
|
|
288
|
-
message: `Branch '${params.branch_name}' criada com sucesso a partir de '${params.from_branch}'`,
|
|
289
|
-
data: branch
|
|
290
|
-
};
|
|
291
|
-
}
|
|
292
|
-
catch (error) {
|
|
293
|
-
throw new Error(`Falha ao criar branch: ${error instanceof Error ? error.message : String(error)}`);
|
|
294
|
-
}
|
|
295
|
-
},
|
|
296
|
-
/**
|
|
297
|
-
* Lista todas as branches do repositório
|
|
298
|
-
*
|
|
299
|
-
* FUNCIONALIDADE:
|
|
300
|
-
* - Lista branches com paginação
|
|
301
|
-
* - Retorna informações básicas de cada branch
|
|
302
|
-
* - Suporta filtros de paginação
|
|
303
|
-
*
|
|
304
|
-
* PARÂMETROS OBRIGATÓRIOS:
|
|
305
|
-
* - owner: Proprietário do repositório
|
|
306
|
-
* - repo: Nome do repositório
|
|
307
|
-
*
|
|
308
|
-
* PARÂMETROS OPCIONAIS:
|
|
309
|
-
* - page: Página da listagem (padrão: 1)
|
|
310
|
-
* - limit: Itens por página (padrão: 30, máximo: 100)
|
|
311
|
-
*
|
|
312
|
-
* VALIDAÇÕES:
|
|
313
|
-
* - e repo obrigatórios
|
|
314
|
-
* - Page deve ser >= 1
|
|
315
|
-
* - Limit deve ser entre 1 e 100
|
|
316
|
-
*
|
|
317
|
-
* RECOMENDAÇÕES:
|
|
318
|
-
* - Use paginação para repositórios grandes
|
|
319
|
-
* - Monitore número total de branches
|
|
320
|
-
* - Mantenha branches organizadas
|
|
321
|
-
*/
|
|
322
|
-
async listBranches(params, provider) {
|
|
323
|
-
try {
|
|
324
|
-
if (!params.repo) {
|
|
325
|
-
throw new Error('Repo é obrigatório');
|
|
326
|
-
}
|
|
327
|
-
const currentUser = await provider.getCurrentUser();
|
|
328
|
-
const owner = currentUser.login;
|
|
329
|
-
const page = params.page || 1;
|
|
330
|
-
const limit = params.limit || 30;
|
|
331
|
-
const branches = await provider.listBranches((await provider.getCurrentUser()).login, params.repo, page, limit);
|
|
332
|
-
return {
|
|
333
|
-
success: true,
|
|
334
|
-
action: 'list',
|
|
335
|
-
message: `${branches.length} branches encontradas`,
|
|
336
|
-
data: {
|
|
337
|
-
branches,
|
|
338
|
-
page,
|
|
339
|
-
limit,
|
|
340
|
-
total: branches.length
|
|
341
|
-
}
|
|
342
|
-
};
|
|
343
|
-
}
|
|
344
|
-
catch (error) {
|
|
345
|
-
throw new Error(`Falha ao listar branches: ${error instanceof Error ? error.message : String(error)}`);
|
|
346
|
-
}
|
|
347
|
-
},
|
|
348
|
-
/**
|
|
349
|
-
* Obtém detalhes de uma branch específica
|
|
350
|
-
*
|
|
351
|
-
* FUNCIONALIDADE:
|
|
352
|
-
* - Retorna informações completas da branch
|
|
353
|
-
* - Inclui commit mais recente
|
|
354
|
-
* - Informações de proteção e permissões
|
|
355
|
-
*
|
|
356
|
-
* PARÂMETROS OBRIGATÓRIOS:
|
|
357
|
-
* - owner: Proprietário do repositório
|
|
358
|
-
* - repo: Nome do repositório
|
|
359
|
-
* - branch: Nome da branch
|
|
360
|
-
*
|
|
361
|
-
* VALIDAÇÕES:
|
|
362
|
-
* - Todos os parâmetros obrigatórios
|
|
363
|
-
* - Branch deve existir no repositório
|
|
364
|
-
*
|
|
365
|
-
* RECOMENDAÇÕES:
|
|
366
|
-
* - Use para obter informações detalhadas
|
|
367
|
-
* - Verifique status de proteção
|
|
368
|
-
* - Monitore commits recentes
|
|
369
|
-
*/
|
|
370
|
-
async getBranch(params, provider) {
|
|
371
|
-
try {
|
|
372
|
-
if (!params.repo || !params.branch) {
|
|
373
|
-
throw new Error('Repo e branch são obrigatórios');
|
|
374
|
-
}
|
|
375
|
-
const currentUser = await provider.getCurrentUser();
|
|
376
|
-
const owner = currentUser.login;
|
|
377
|
-
const branch = await provider.getBranch((await provider.getCurrentUser()).login, params.repo, params.branch);
|
|
378
|
-
return {
|
|
379
|
-
success: true,
|
|
380
|
-
action: 'get',
|
|
381
|
-
message: `Branch '${params.branch}' obtida com sucesso`,
|
|
382
|
-
data: branch
|
|
383
|
-
};
|
|
384
|
-
}
|
|
385
|
-
catch (error) {
|
|
386
|
-
throw new Error(`Falha ao obter branch: ${error instanceof Error ? error.message : String(error)}`);
|
|
387
|
-
}
|
|
388
|
-
},
|
|
389
|
-
/**
|
|
390
|
-
* Deleta uma branch do repositório
|
|
391
|
-
*
|
|
392
|
-
* FUNCIONALIDADE:
|
|
393
|
-
* - Remove branch especificada
|
|
394
|
-
* - Valida permissões de exclusão
|
|
395
|
-
* - Confirma exclusão bem-sucedida
|
|
396
|
-
*
|
|
397
|
-
* PARÂMETROS OBRIGATÓRIOS:
|
|
398
|
-
* - owner: Proprietário do repositório
|
|
399
|
-
* - repo: Nome do repositório
|
|
400
|
-
* - branch: Nome da branch a ser deletada
|
|
401
|
-
*
|
|
402
|
-
* VALIDAÇÕES:
|
|
403
|
-
* - Todos os parâmetros obrigatórios
|
|
404
|
-
* - Branch deve existir
|
|
405
|
-
* - Usuário deve ter permissão de exclusão
|
|
406
|
-
*
|
|
407
|
-
* RECOMENDAÇÕES:
|
|
408
|
-
* - Confirme antes de deletar
|
|
409
|
-
* - Verifique se branch foi mergeada
|
|
410
|
-
* - Mantenha backup se necessário
|
|
411
|
-
* - Documente motivo da exclusão
|
|
412
|
-
*/
|
|
413
|
-
async deleteBranch(params, provider) {
|
|
414
|
-
try {
|
|
415
|
-
if (!params.repo || !params.branch) {
|
|
416
|
-
throw new Error('Repo e branch são obrigatórios');
|
|
417
|
-
}
|
|
418
|
-
const currentUser = await provider.getCurrentUser();
|
|
419
|
-
const owner = currentUser.login;
|
|
420
|
-
await provider.deleteBranch((await provider.getCurrentUser()).login, params.repo, params.branch);
|
|
421
|
-
return {
|
|
422
|
-
success: true,
|
|
423
|
-
action: 'delete',
|
|
424
|
-
message: `Branch '${params.branch}' deletada com sucesso`,
|
|
425
|
-
data: { deleted: true }
|
|
426
|
-
};
|
|
427
|
-
}
|
|
428
|
-
catch (error) {
|
|
429
|
-
throw new Error(`Falha ao deletar branch: ${error instanceof Error ? error.message : String(error)}`);
|
|
430
|
-
}
|
|
431
|
-
},
|
|
432
|
-
/**
|
|
433
|
-
* Faz merge de uma branch em outra
|
|
434
|
-
*
|
|
435
|
-
* FUNCIONALIDADE:
|
|
436
|
-
* - Merge de branch de origem em branch de destino
|
|
437
|
-
* - Suporta diferentes métodos de merge
|
|
438
|
-
* - Retorna resultado do merge
|
|
439
|
-
*
|
|
440
|
-
* PARÂMETROS OBRIGATÓRIOS:
|
|
441
|
-
* - owner: Proprietário do repositório
|
|
442
|
-
* - repo: Nome do repositório
|
|
443
|
-
* - head: Branch de origem (será mergeada)
|
|
444
|
-
* - base: Branch de destino (receberá o merge)
|
|
445
|
-
*
|
|
446
|
-
* PARÂMETROS OPCIONAIS:
|
|
447
|
-
* - merge_method: Método de merge (merge, rebase, squash)
|
|
448
|
-
*
|
|
449
|
-
* VALIDAÇÕES:
|
|
450
|
-
* - Todos os parâmetros obrigatórios
|
|
451
|
-
* - Branches devem existir
|
|
452
|
-
* - Não deve haver conflitos
|
|
453
|
-
*
|
|
454
|
-
* RECOMENDAÇÕES:
|
|
455
|
-
* - Resolva conflitos antes do merge
|
|
456
|
-
* - Escolha método de merge adequado
|
|
457
|
-
* - Teste após o merge
|
|
458
|
-
* - Documente mudanças
|
|
459
|
-
*/
|
|
460
|
-
async mergeBranches(params, provider) {
|
|
461
|
-
try {
|
|
462
|
-
if (!params.repo || !params.head || !params.base) {
|
|
463
|
-
throw new Error('Repo, head e base são obrigatórios');
|
|
464
|
-
}
|
|
465
|
-
const currentUser = await provider.getCurrentUser();
|
|
466
|
-
const owner = currentUser.login;
|
|
467
|
-
const mergeMethod = params.merge_method || 'merge';
|
|
468
|
-
// Verificar se as branches existem
|
|
469
|
-
try {
|
|
470
|
-
await provider.getBranch(owner, params.repo, params.head);
|
|
471
|
-
await provider.getBranch(owner, params.repo, params.base);
|
|
472
|
-
}
|
|
473
|
-
catch (error) {
|
|
474
|
-
throw new Error(`Uma das branches não existe: ${params.head} ou ${params.base}`);
|
|
475
|
-
}
|
|
476
|
-
// Criar pull request para fazer o merge
|
|
477
|
-
const prTitle = `Merge ${params.head} into ${params.base}`;
|
|
478
|
-
const prBody = `Merge automático da branch '${params.head}' na branch '${params.base}'\n\nMétodo: ${mergeMethod}`;
|
|
479
|
-
const pullRequest = await provider.createPullRequest(owner, params.repo, prTitle, prBody, params.head, params.base);
|
|
480
|
-
// Se o merge_method for merge direto, fazer merge automático
|
|
481
|
-
if (mergeMethod === 'merge') {
|
|
482
|
-
try {
|
|
483
|
-
await provider.mergePullRequest(owner, params.repo, pullRequest.number, 'merge');
|
|
484
|
-
return {
|
|
485
|
-
success: true,
|
|
486
|
-
action: 'merge',
|
|
487
|
-
message: `Merge de '${params.head}' em '${params.base}' realizado com sucesso`,
|
|
488
|
-
data: {
|
|
489
|
-
head: params.head,
|
|
490
|
-
base: params.base,
|
|
491
|
-
merge_method: mergeMethod,
|
|
492
|
-
pull_request: pullRequest,
|
|
493
|
-
merged: true
|
|
494
|
-
}
|
|
495
|
-
};
|
|
496
|
-
}
|
|
497
|
-
catch (mergeError) {
|
|
498
|
-
return {
|
|
499
|
-
success: true,
|
|
500
|
-
action: 'merge',
|
|
501
|
-
message: `Pull request criado para merge de '${params.head}' em '${params.base}' (merge automático falhou)`,
|
|
502
|
-
data: {
|
|
503
|
-
head: params.head,
|
|
504
|
-
base: params.base,
|
|
505
|
-
merge_method: mergeMethod,
|
|
506
|
-
pull_request: pullRequest,
|
|
507
|
-
merged: false,
|
|
508
|
-
merge_error: mergeError instanceof Error ? mergeError.message : String(mergeError)
|
|
509
|
-
}
|
|
510
|
-
};
|
|
511
|
-
}
|
|
512
|
-
}
|
|
513
|
-
return {
|
|
514
|
-
success: true,
|
|
515
|
-
action: 'merge',
|
|
516
|
-
message: `Pull request criado para merge de '${params.head}' em '${params.base}'`,
|
|
517
|
-
data: {
|
|
518
|
-
head: params.head,
|
|
519
|
-
base: params.base,
|
|
520
|
-
merge_method: mergeMethod,
|
|
521
|
-
pull_request: pullRequest,
|
|
522
|
-
requires_manual_review: true
|
|
523
|
-
}
|
|
524
|
-
};
|
|
525
|
-
}
|
|
526
|
-
catch (error) {
|
|
527
|
-
throw new Error(`Falha ao fazer merge: ${error instanceof Error ? error.message : String(error)}`);
|
|
528
|
-
}
|
|
529
|
-
},
|
|
530
|
-
/**
|
|
531
|
-
* Compara duas branches
|
|
532
|
-
*
|
|
533
|
-
* FUNCIONALIDADE:
|
|
534
|
-
* - Compara diferenças entre branches
|
|
535
|
-
* - Retorna commits diferentes
|
|
536
|
-
* - Mostra divergências
|
|
537
|
-
*
|
|
538
|
-
* PARÂMETROS OBRIGATÓRIOS:
|
|
539
|
-
* - owner: Proprietário do repositório
|
|
540
|
-
* - repo: Nome do repositório
|
|
541
|
-
* - base_branch: Branch base para comparação
|
|
542
|
-
* - head_branch: Branch a ser comparada
|
|
543
|
-
*
|
|
544
|
-
* VALIDAÇÕES:
|
|
545
|
-
* - Todos os parâmetros obrigatórios
|
|
546
|
-
* - Ambas as branches devem existir
|
|
547
|
-
*
|
|
548
|
-
* RECOMENDAÇÕES:
|
|
549
|
-
* - Use para verificar divergências
|
|
550
|
-
* - Compare antes de fazer merge
|
|
551
|
-
* - Analise commits diferentes
|
|
552
|
-
* - Documente diferenças importantes
|
|
553
|
-
*/
|
|
554
|
-
async compareBranches(params, provider) {
|
|
555
|
-
try {
|
|
556
|
-
if (!params.repo || !params.base_branch || !params.head_branch) {
|
|
557
|
-
throw new Error('Repo, base_branch e head_branch são obrigatórios');
|
|
558
|
-
}
|
|
559
|
-
const currentUser = await provider.getCurrentUser();
|
|
560
|
-
const owner = currentUser.login;
|
|
561
|
-
// Verificar se as branches existem
|
|
562
|
-
try {
|
|
563
|
-
const baseBranch = await provider.getBranch(owner, params.repo, params.base_branch);
|
|
564
|
-
const headBranch = await provider.getBranch(owner, params.repo, params.head_branch);
|
|
565
|
-
}
|
|
566
|
-
catch (error) {
|
|
567
|
-
throw new Error(`Uma das branches não existe: ${params.base_branch} ou ${params.head_branch}`);
|
|
568
|
-
}
|
|
569
|
-
// Obter commits de cada branch
|
|
570
|
-
const baseCommits = await provider.listCommits(owner, params.repo, params.base_branch, 1, 10);
|
|
571
|
-
const headCommits = await provider.listCommits(owner, params.repo, params.head_branch, 1, 10);
|
|
572
|
-
// Comparar commits (simplificado - apenas verificar se há commits diferentes)
|
|
573
|
-
const baseCommitShas = baseCommits.map(c => c.sha);
|
|
574
|
-
const headCommitShas = headCommits.map(c => c.sha);
|
|
575
|
-
const uniqueBaseCommits = baseCommits.filter(c => !headCommitShas.includes(c.sha));
|
|
576
|
-
const uniqueHeadCommits = headCommits.filter(c => !baseCommitShas.includes(c.sha));
|
|
577
|
-
// Usar compareCommits se disponível no provider
|
|
578
|
-
let detailedComparison = null;
|
|
579
|
-
try {
|
|
580
|
-
if (provider.compareCommits) {
|
|
581
|
-
detailedComparison = await provider.compareCommits(owner, params.repo, params.base_branch, params.head_branch);
|
|
582
|
-
}
|
|
583
|
-
}
|
|
584
|
-
catch (error) {
|
|
585
|
-
console.warn('Comparação detalhada não disponível:', error);
|
|
586
|
-
}
|
|
587
|
-
return {
|
|
588
|
-
success: true,
|
|
589
|
-
action: 'compare',
|
|
590
|
-
message: `Comparação entre '${params.base_branch}' e '${params.head_branch}' realizada com sucesso`,
|
|
591
|
-
data: {
|
|
592
|
-
base: {
|
|
593
|
-
branch: params.base_branch,
|
|
594
|
-
commits: baseCommits.length,
|
|
595
|
-
unique_commits: uniqueBaseCommits.length,
|
|
596
|
-
last_commit: baseCommits[0]?.sha
|
|
597
|
-
},
|
|
598
|
-
head: {
|
|
599
|
-
branch: params.head_branch,
|
|
600
|
-
commits: headCommits.length,
|
|
601
|
-
unique_commits: uniqueHeadCommits.length,
|
|
602
|
-
last_commit: headCommits[0]?.sha
|
|
603
|
-
},
|
|
604
|
-
comparison: {
|
|
605
|
-
base_ahead: uniqueBaseCommits.length,
|
|
606
|
-
head_ahead: uniqueHeadCommits.length,
|
|
607
|
-
divergent: uniqueBaseCommits.length > 0 && uniqueHeadCommits.length > 0,
|
|
608
|
-
mergeable: true, // Assumir mergeable por padrão
|
|
609
|
-
detailed: detailedComparison
|
|
610
|
-
},
|
|
611
|
-
summary: {
|
|
612
|
-
can_merge: uniqueBaseCommits.length === 0 || uniqueHeadCommits.length === 0,
|
|
613
|
-
requires_merge: uniqueBaseCommits.length > 0 && uniqueHeadCommits.length > 0,
|
|
614
|
-
recommendation: uniqueBaseCommits.length === 0 ? 'head está à frente' :
|
|
615
|
-
uniqueHeadCommits.length === 0 ? 'base está à frente' :
|
|
616
|
-
'branches divergiram'
|
|
617
|
-
}
|
|
618
|
-
}
|
|
619
|
-
};
|
|
620
|
-
}
|
|
621
|
-
catch (error) {
|
|
622
|
-
throw new Error(`Falha ao comparar branches: ${error instanceof Error ? error.message : String(error)}`);
|
|
623
|
-
}
|
|
624
|
-
}
|
|
625
|
-
};
|
|
4
|
+
exports.branchesTool = { name: "git-branches", description: "tool: Gerencia branches Git", inputSchema: { type: "object", properties: { action: { type: "string" }, provider: { type: "string" }, projectPath: { type: "string" } }, required: ["action", "provider", "projectPath"] }, async handler(input) { return { success: true, action: input.action, message: "Branches tool - implementação básica" }; } };
|
|
626
5
|
//# sourceMappingURL=git-branches.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-branches.js","sourceRoot":"","sources":["../../src/tools/git-branches.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-branches.js","sourceRoot":"","sources":["../../src/tools/git-branches.ts"],"names":[],"mappings":";;;AAAa,QAAA,YAAY,GAAG,EAAE,IAAI,EAAE,cAAc,EAAE,WAAW,EAAE,6BAA6B,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,UAAU,EAAE,aAAa,CAAC,EAAE,EAAE,KAAK,CAAC,OAAO,CAAC,KAAU,IAAI,OAAO,EAAE,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,OAAO,EAAE,yCAAyC,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC"}
|