@andrebuzeli/git-mcp 3.2.4 → 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.
Files changed (90) hide show
  1. package/dist/server.d.ts +1 -20
  2. package/dist/server.d.ts.map +1 -1
  3. package/dist/server.js +974 -1180
  4. package/dist/server.js.map +1 -1
  5. package/dist/tools/git-archive.d.ts +0 -3
  6. package/dist/tools/git-archive.d.ts.map +1 -1
  7. package/dist/tools/git-archive.js +2 -2
  8. package/dist/tools/git-archive.js.map +1 -1
  9. package/dist/tools/git-branches.d.ts +6 -413
  10. package/dist/tools/git-branches.d.ts.map +1 -1
  11. package/dist/tools/git-branches.js +1 -622
  12. package/dist/tools/git-branches.js.map +1 -1
  13. package/dist/tools/git-commits.d.ts +6 -472
  14. package/dist/tools/git-commits.d.ts.map +1 -1
  15. package/dist/tools/git-commits.js +1 -738
  16. package/dist/tools/git-commits.js.map +1 -1
  17. package/dist/tools/git-config.d.ts +0 -3
  18. package/dist/tools/git-config.d.ts.map +1 -1
  19. package/dist/tools/git-config.js +2 -2
  20. package/dist/tools/git-config.js.map +1 -1
  21. package/dist/tools/git-files.d.ts +5 -468
  22. package/dist/tools/git-files.d.ts.map +1 -1
  23. package/dist/tools/git-files.js +1 -608
  24. package/dist/tools/git-files.js.map +1 -1
  25. package/dist/tools/git-initialize.js +119 -119
  26. package/dist/tools/git-issues.d.ts +5 -18
  27. package/dist/tools/git-issues.d.ts.map +1 -1
  28. package/dist/tools/git-issues.js +24 -55
  29. package/dist/tools/git-issues.js.map +1 -1
  30. package/dist/tools/git-packages.d.ts +0 -3
  31. package/dist/tools/git-packages.d.ts.map +1 -1
  32. package/dist/tools/git-packages.js +3 -3
  33. package/dist/tools/git-packages.js.map +1 -1
  34. package/dist/tools/git-projects.d.ts +0 -3
  35. package/dist/tools/git-projects.d.ts.map +1 -1
  36. package/dist/tools/git-projects.js +4 -4
  37. package/dist/tools/git-projects.js.map +1 -1
  38. package/dist/tools/git-pulls.d.ts +7 -16
  39. package/dist/tools/git-pulls.d.ts.map +1 -1
  40. package/dist/tools/git-pulls.js +43 -42
  41. package/dist/tools/git-pulls.js.map +1 -1
  42. package/dist/tools/git-releases.d.ts +3 -15
  43. package/dist/tools/git-releases.d.ts.map +1 -1
  44. package/dist/tools/git-releases.js +23 -29
  45. package/dist/tools/git-releases.js.map +1 -1
  46. package/dist/tools/git-remote.d.ts +0 -3
  47. package/dist/tools/git-remote.d.ts.map +1 -1
  48. package/dist/tools/git-remote.js +2 -2
  49. package/dist/tools/git-remote.js.map +1 -1
  50. package/dist/tools/git-repositories.d.ts +3 -18
  51. package/dist/tools/git-repositories.d.ts.map +1 -1
  52. package/dist/tools/git-repositories.js +23 -30
  53. package/dist/tools/git-repositories.js.map +1 -1
  54. package/dist/tools/git-reset.d.ts +2 -5
  55. package/dist/tools/git-reset.d.ts.map +1 -1
  56. package/dist/tools/git-reset.js +2 -2
  57. package/dist/tools/git-reset.js.map +1 -1
  58. package/dist/tools/git-revert.d.ts +0 -3
  59. package/dist/tools/git-revert.d.ts.map +1 -1
  60. package/dist/tools/git-revert.js +2 -2
  61. package/dist/tools/git-revert.js.map +1 -1
  62. package/dist/tools/git-stash.d.ts +0 -3
  63. package/dist/tools/git-stash.d.ts.map +1 -1
  64. package/dist/tools/git-stash.js +2 -2
  65. package/dist/tools/git-stash.js.map +1 -1
  66. package/dist/tools/git-tags.d.ts +3 -12
  67. package/dist/tools/git-tags.d.ts.map +1 -1
  68. package/dist/tools/git-tags.js +8 -11
  69. package/dist/tools/git-tags.js.map +1 -1
  70. package/dist/tools/git-update-project.d.ts +3 -9
  71. package/dist/tools/git-update-project.d.ts.map +1 -1
  72. package/dist/tools/git-update-project.js +22 -17
  73. package/dist/tools/git-update-project.js.map +1 -1
  74. package/dist/utils/user-detection.d.ts +13 -1
  75. package/dist/utils/user-detection.d.ts.map +1 -1
  76. package/dist/utils/user-detection.js +26 -1
  77. package/dist/utils/user-detection.js.map +1 -1
  78. package/package.json +3 -3
  79. package/dist/tools/git-files-backup.d.ts +0 -596
  80. package/dist/tools/git-files-backup.d.ts.map +0 -1
  81. package/dist/tools/git-files-backup.js +0 -868
  82. package/dist/tools/git-files-backup.js.map +0 -1
  83. package/dist/tools/git-publish.d.ts +0 -327
  84. package/dist/tools/git-publish.d.ts.map +0 -1
  85. package/dist/tools/git-publish.js +0 -632
  86. package/dist/tools/git-publish.js.map +0 -1
  87. package/dist/tools/git-workflow.d.ts +0 -299
  88. package/dist/tools/git-workflow.d.ts.map +0 -1
  89. package/dist/tools/git-workflow.js +0 -563
  90. 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
- const zod_1 = require("zod");
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"}