@andrebuzeli/git-mcp 2.37.0 → 2.39.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.
@@ -87,7 +87,9 @@ export declare const gitUpdateProjectTool: {
87
87
  required: string[];
88
88
  };
89
89
  handler(input: GitUpdateProjectInput): Promise<GitUpdateProjectResult>;
90
- updateProject(params: GitUpdateProjectInput): Promise<GitUpdateProjectResult>;
90
+ handleUpdate(params: GitUpdateProjectInput & {
91
+ action: "update";
92
+ }): Promise<GitUpdateProjectResult>;
91
93
  };
92
94
  export {};
93
95
  //# sourceMappingURL=git-update-project.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-update-project.d.ts","sourceRoot":"","sources":["../../src/tools/git-update-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAIxB,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;EAQ/B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAiBV,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;0BAqBhD,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAsBpF,CAAC"}
1
+ {"version":3,"file":"git-update-project.d.ts","sourceRoot":"","sources":["../../src/tools/git-update-project.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAKxB,QAAA,MAAM,2BAA2B;;;;;;;;;;;;;;;;;;;;;;;;EAQ/B,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,2BAA2B,CAAC,CAAC;AAEhF,QAAA,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;EAMhC,CAAC;AAEH,MAAM,MAAM,sBAAsB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,4BAA4B,CAAC,CAAC;AAElF,eAAO,MAAM,oBAAoB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBAiBV,qBAAqB,GAAG,OAAO,CAAC,sBAAsB,CAAC;yBAqBjD,qBAAqB,GAAG;QAAE,MAAM,EAAE,QAAQ,CAAA;KAAE,GAAG,OAAO,CAAC,sBAAsB,CAAC;CAgJ1G,CAAC"}
@@ -4,6 +4,7 @@ exports.gitUpdateProjectTool = void 0;
4
4
  const zod_1 = require("zod");
5
5
  const index_js_1 = require("../providers/index.js");
6
6
  const user_detection_js_1 = require("../utils/user-detection.js");
7
+ const git_operations_js_1 = require("../utils/git-operations.js");
7
8
  const GitUpdateProjectInputSchema = zod_1.z.object({
8
9
  action: zod_1.z.literal('update'),
9
10
  repo: zod_1.z.string(),
@@ -22,7 +23,7 @@ const GitUpdateProjectResultSchema = zod_1.z.object({
22
23
  });
23
24
  exports.gitUpdateProjectTool = {
24
25
  name: 'git-update-project',
25
- description: 'tool: Atualiza projeto incrementalmente no repositório\\n──────────────\\naction update: detecta mudanças e faz commit incremental\\naction update requires: repo, provider, projectPath, message\\n───────────────\\nEfetua commit apenas das mudanças detectadas, não do projeto completo\\nMais eficiente para atualizações frequentes e mantém histórico granular',
26
+ description: 'tool: Atualiza projeto incrementalmente no repositório\\n──────────────\\naction update: detecta mudanças, faz commit e push automático\\naction update requires: repo, provider, projectPath, message\\n───────────────\\nCOMMITS REAIS: Detecta mudanças no diretório local, faz git add, commit e push\\nFunciona apenas em repositórios Git locais com mudanças pendentes\\nPush automático para remote configurado (origin)',
26
27
  inputSchema: {
27
28
  type: 'object',
28
29
  properties: {
@@ -41,7 +42,7 @@ exports.gitUpdateProjectTool = {
41
42
  const validatedInput = GitUpdateProjectInputSchema.parse(input);
42
43
  const processedInput = await (0, user_detection_js_1.applyAutoUserDetection)(validatedInput, validatedInput.provider);
43
44
  const provider = index_js_1.globalProviderFactory.getProvider(processedInput.provider);
44
- const result = await this.updateProject(validatedInput);
45
+ const result = await this.handleUpdate(validatedInput);
45
46
  return GitUpdateProjectResultSchema.parse(result);
46
47
  }
47
48
  catch (error) {
@@ -53,26 +54,134 @@ exports.gitUpdateProjectTool = {
53
54
  };
54
55
  }
55
56
  },
56
- async updateProject(params) {
57
+ async handleUpdate(params) {
57
58
  try {
58
59
  const { repo, projectPath, message, branch = 'main', forcePush = false, provider: providerName } = params;
60
+ // Inicializar operações Git locais
61
+ const gitOps = new git_operations_js_1.GitOperations(projectPath);
62
+ // Verificar se é um repositório Git
63
+ const isGitRepo = await gitOps.isGitRepository();
64
+ if (!isGitRepo) {
65
+ throw new Error(`Diretório '${projectPath}' não é um repositório Git válido`);
66
+ }
67
+ // Verificar status para ver se há mudanças
68
+ const statusResult = await gitOps.status({ porcelain: true });
69
+ if (!statusResult.success) {
70
+ throw new Error(`Falha ao verificar status do Git: ${statusResult.error}`);
71
+ }
72
+ // Verificar se há mudanças para commitar
73
+ const hasChanges = statusResult.output.trim().length > 0;
74
+ if (!hasChanges) {
75
+ return {
76
+ success: true,
77
+ action: 'update',
78
+ message: `Nenhuma mudança detectada no projeto '${repo}'`,
79
+ data: {
80
+ repo,
81
+ branch,
82
+ provider: providerName,
83
+ message,
84
+ changesDetected: false,
85
+ filesChanged: 0,
86
+ implementation: 'REAL_GIT_OPERATIONS_v2.38.0',
87
+ note: 'Nenhuma mudança para commitar'
88
+ }
89
+ };
90
+ }
91
+ // Contar arquivos modificados
92
+ const changedFiles = statusResult.output.trim().split('\n').filter(line => line.trim().length > 0);
93
+ const filesCount = changedFiles.length;
94
+ // Adicionar arquivos ao staging
95
+ const addResult = await gitOps.addFiles(['.']);
96
+ if (!addResult.success) {
97
+ throw new Error(`Falha ao adicionar arquivos: ${addResult.error}`);
98
+ }
99
+ // Verificar se há algo no staging após add
100
+ const statusAfterAdd = await gitOps.status({ porcelain: true });
101
+ if (!statusAfterAdd.success) {
102
+ throw new Error(`Falha ao verificar status após add: ${statusAfterAdd.error}`);
103
+ }
104
+ const hasStagedChanges = statusAfterAdd.output.includes('A') || statusAfterAdd.output.includes('M') || statusAfterAdd.output.includes('D');
105
+ if (!hasStagedChanges) {
106
+ return {
107
+ success: true,
108
+ action: 'update',
109
+ message: `Arquivos adicionados mas nenhuma mudança válida para commit no projeto '${repo}'`,
110
+ data: {
111
+ repo,
112
+ branch,
113
+ provider: providerName,
114
+ message,
115
+ changesDetected: true,
116
+ filesChanged: filesCount,
117
+ stagedChanges: false,
118
+ implementation: 'REAL_GIT_OPERATIONS_v2.38.0',
119
+ note: 'Arquivos adicionados mas não há mudanças válidas para commit'
120
+ }
121
+ };
122
+ }
123
+ // Fazer commit
124
+ const commitResult = await gitOps.commit(message);
125
+ if (!commitResult.success) {
126
+ throw new Error(`Falha no commit: ${commitResult.error}`);
127
+ }
128
+ // Tentar fazer push para o remote
129
+ let pushSuccessful = false;
130
+ let pushError = '';
131
+ try {
132
+ // Verificar se há remote configurado
133
+ const remoteResult = await gitOps.remote('get-url', 'origin');
134
+ if (remoteResult.success) {
135
+ // Tentar push
136
+ const pushOptions = {};
137
+ if (forcePush) {
138
+ pushOptions.force = true;
139
+ }
140
+ const pushResult = await gitOps.push('origin', branch, pushOptions);
141
+ pushSuccessful = pushResult.success;
142
+ if (!pushSuccessful) {
143
+ pushError = pushResult.error || 'Erro desconhecido no push';
144
+ }
145
+ }
146
+ else {
147
+ pushError = 'Nenhum remote configurado (origin)';
148
+ }
149
+ }
150
+ catch (pushErr) {
151
+ pushError = pushErr instanceof Error ? pushErr.message : String(pushErr);
152
+ }
153
+ // Obter informações do commit criado
154
+ const logResult = await gitOps.log({ maxCount: 1, oneline: true });
155
+ const commitInfo = logResult.success ? logResult.output : 'Commit criado mas não foi possível obter informações';
59
156
  return {
60
157
  success: true,
61
158
  action: 'update',
62
- message: `Projeto '${repo}' atualizado com sucesso`,
159
+ message: `Projeto '${repo}' atualizado com sucesso${pushSuccessful ? ' e enviado para remote' : ''}`,
63
160
  data: {
64
161
  repo,
65
162
  branch,
66
163
  provider: providerName,
67
164
  message,
68
- simulated: true,
69
- note: 'Implementação básica funcionando. Use git-commits para commits reais.',
70
- recommendation: 'Para commits reais, use a tool git-commits com action: create'
165
+ changesDetected: true,
166
+ filesChanged: filesCount,
167
+ stagedChanges: true,
168
+ commitCreated: true,
169
+ commitInfo,
170
+ pushSuccessful,
171
+ pushError: pushSuccessful ? undefined : pushError,
172
+ note: pushSuccessful ?
173
+ 'Commit criado e enviado para remote com sucesso' :
174
+ `Commit criado localmente. Push falhou: ${pushError}. Use git push manualmente.`
71
175
  }
72
176
  };
73
177
  }
74
178
  catch (error) {
75
- throw new Error(`Falha na atualização incremental: ${error instanceof Error ? error.message : String(error)}`);
179
+ return {
180
+ success: false,
181
+ action: 'update',
182
+ message: 'Erro na atualização incremental do projeto',
183
+ error: error instanceof Error ? error.message : String(error)
184
+ };
76
185
  }
77
186
  }
78
187
  };
@@ -1 +1 @@
1
- {"version":3,"file":"git-update-project.js","sourceRoot":"","sources":["../../src/tools/git-update-project.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"git-update-project.js","sourceRoot":"","sources":["../../src/tools/git-update-project.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@andrebuzeli/git-mcp",
3
- "version": "2.37.0",
3
+ "version": "2.39.0",
4
4
  "description": "MCP server for Gitea and GitHub integration with 21 comprehensive DevOps tools - 100% AUTO-SUFFICIENT: Complete Git/GitHub functionality with ALL methods implemented, GitOperations class, FileOperations, TerminalOperations, Project Upload/Update, Git Initialize, Packages, Projects - NO external dependencies, NO terminal commands, FULLY IMPLEMENTED - Enhanced validation with required projectPath and provider parameters",
5
5
  "main": "dist/index.js",
6
6
  "bin": {
@@ -13,7 +13,7 @@
13
13
  "test": "node tests/basic.test.js",
14
14
  "lint": "echo \"No linting configured\" && exit 0",
15
15
  "prepublishOnly": "npm run build",
16
- "postpublish": "echo 'Git MCP v2.37.0 published successfully - git-update-project now included!'"
16
+ "postpublish": "echo 'Git MCP v2.39.0 published successfully - REAL commits implementation, tool COMPLETA!'"
17
17
  },
18
18
  "keywords": [
19
19
  "mcp",