@andrebuzeli/git-mcp 2.28.1 → 2.29.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 (188) hide show
  1. package/dist/client.d.ts +306 -306
  2. package/dist/client.js +298 -298
  3. package/dist/config.d.ts +310 -310
  4. package/dist/config.js +392 -392
  5. package/dist/index.d.ts +22 -22
  6. package/dist/index.js +89 -89
  7. package/dist/providers/base-provider.d.ts +160 -160
  8. package/dist/providers/base-provider.js +274 -274
  9. package/dist/providers/error-handler.d.ts +74 -50
  10. package/dist/providers/error-handler.d.ts.map +1 -1
  11. package/dist/providers/error-handler.js +234 -175
  12. package/dist/providers/error-handler.js.map +1 -1
  13. package/dist/providers/gitea-provider.d.ts +97 -97
  14. package/dist/providers/gitea-provider.d.ts.map +1 -1
  15. package/dist/providers/gitea-provider.js +1015 -1001
  16. package/dist/providers/gitea-provider.js.map +1 -1
  17. package/dist/providers/github-provider.d.ts +104 -104
  18. package/dist/providers/github-provider.d.ts.map +1 -1
  19. package/dist/providers/github-provider.js +1248 -1234
  20. package/dist/providers/github-provider.js.map +1 -1
  21. package/dist/providers/index.d.ts +12 -12
  22. package/dist/providers/index.js +40 -40
  23. package/dist/providers/provider-factory.d.ts +74 -74
  24. package/dist/providers/provider-factory.d.ts.map +1 -1
  25. package/dist/providers/provider-factory.js +318 -311
  26. package/dist/providers/provider-factory.js.map +1 -1
  27. package/dist/providers/types.d.ts +318 -318
  28. package/dist/providers/types.js +6 -6
  29. package/dist/server.d.ts +76 -76
  30. package/dist/server.js +306 -306
  31. package/dist/server.js.map +1 -1
  32. package/dist/tools/git-archive.d.ts +169 -165
  33. package/dist/tools/git-archive.d.ts.map +1 -1
  34. package/dist/tools/git-archive.js +246 -233
  35. package/dist/tools/git-archive.js.map +1 -1
  36. package/dist/tools/git-branches.d.ts +434 -430
  37. package/dist/tools/git-branches.d.ts.map +1 -1
  38. package/dist/tools/git-branches.js +640 -627
  39. package/dist/tools/git-branches.js.map +1 -1
  40. package/dist/tools/git-commits.d.ts +489 -485
  41. package/dist/tools/git-commits.d.ts.map +1 -1
  42. package/dist/tools/git-commits.js +748 -735
  43. package/dist/tools/git-commits.js.map +1 -1
  44. package/dist/tools/git-config.d.ts +144 -140
  45. package/dist/tools/git-config.d.ts.map +1 -1
  46. package/dist/tools/git-config.js +281 -268
  47. package/dist/tools/git-config.js.map +1 -1
  48. package/dist/tools/git-files.d.ts +490 -486
  49. package/dist/tools/git-files.d.ts.map +1 -1
  50. package/dist/tools/git-files.js +620 -607
  51. package/dist/tools/git-files.js.map +1 -1
  52. package/dist/tools/git-initialize.d.ts +46 -42
  53. package/dist/tools/git-initialize.d.ts.map +1 -1
  54. package/dist/tools/git-initialize.js +81 -68
  55. package/dist/tools/git-initialize.js.map +1 -1
  56. package/dist/tools/git-issues.d.ts +578 -571
  57. package/dist/tools/git-issues.d.ts.map +1 -1
  58. package/dist/tools/git-issues.js +754 -740
  59. package/dist/tools/git-issues.js.map +1 -1
  60. package/dist/tools/git-pulls.d.ts +701 -694
  61. package/dist/tools/git-pulls.d.ts.map +1 -1
  62. package/dist/tools/git-pulls.js +746 -732
  63. package/dist/tools/git-pulls.js.map +1 -1
  64. package/dist/tools/git-releases.d.ts +494 -487
  65. package/dist/tools/git-releases.d.ts.map +1 -1
  66. package/dist/tools/git-releases.js +571 -557
  67. package/dist/tools/git-releases.js.map +1 -1
  68. package/dist/tools/git-remote.d.ts +142 -138
  69. package/dist/tools/git-remote.d.ts.map +1 -1
  70. package/dist/tools/git-remote.js +287 -274
  71. package/dist/tools/git-remote.js.map +1 -1
  72. package/dist/tools/git-repositories.d.ts +487 -483
  73. package/dist/tools/git-repositories.d.ts.map +1 -1
  74. package/dist/tools/git-repositories.js +653 -640
  75. package/dist/tools/git-repositories.js.map +1 -1
  76. package/dist/tools/git-reset.d.ts +134 -130
  77. package/dist/tools/git-reset.d.ts.map +1 -1
  78. package/dist/tools/git-reset.js +236 -223
  79. package/dist/tools/git-reset.js.map +1 -1
  80. package/dist/tools/git-revert.d.ts +153 -149
  81. package/dist/tools/git-revert.d.ts.map +1 -1
  82. package/dist/tools/git-revert.js +211 -198
  83. package/dist/tools/git-revert.js.map +1 -1
  84. package/dist/tools/git-stash.d.ts +144 -140
  85. package/dist/tools/git-stash.d.ts.map +1 -1
  86. package/dist/tools/git-stash.js +282 -269
  87. package/dist/tools/git-stash.js.map +1 -1
  88. package/dist/tools/git-sync.d.ts +182 -178
  89. package/dist/tools/git-sync.d.ts.map +1 -1
  90. package/dist/tools/git-sync.js +325 -312
  91. package/dist/tools/git-sync.js.map +1 -1
  92. package/dist/tools/git-tags.d.ts +418 -411
  93. package/dist/tools/git-tags.d.ts.map +1 -1
  94. package/dist/tools/git-tags.js +499 -485
  95. package/dist/tools/git-tags.js.map +1 -1
  96. package/dist/tools/git-upload-project.d.ts +5 -1
  97. package/dist/tools/git-upload-project.d.ts.map +1 -1
  98. package/dist/tools/git-upload-project.js +21 -1
  99. package/dist/tools/git-upload-project.js.map +1 -1
  100. package/dist/tools/git-webhooks.d.ts +477 -470
  101. package/dist/tools/git-webhooks.d.ts.map +1 -1
  102. package/dist/tools/git-webhooks.js +561 -543
  103. package/dist/tools/git-webhooks.js.map +1 -1
  104. package/dist/utils/git-error-analyzer.d.ts +64 -0
  105. package/dist/utils/git-error-analyzer.d.ts.map +1 -0
  106. package/dist/utils/git-error-analyzer.js +286 -0
  107. package/dist/utils/git-error-analyzer.js.map +1 -0
  108. package/dist/utils/terminal-controller.d.ts +80 -80
  109. package/dist/utils/terminal-controller.js +345 -345
  110. package/dist/utils/user-detection.d.ts +24 -24
  111. package/dist/utils/user-detection.js +53 -53
  112. package/package.json +2 -2
  113. package/dist/tools/gh-actions.d.ts +0 -253
  114. package/dist/tools/gh-actions.d.ts.map +0 -1
  115. package/dist/tools/gh-actions.js +0 -390
  116. package/dist/tools/gh-actions.js.map +0 -1
  117. package/dist/tools/gh-analytics.d.ts +0 -264
  118. package/dist/tools/gh-analytics.d.ts.map +0 -1
  119. package/dist/tools/gh-analytics.js +0 -402
  120. package/dist/tools/gh-analytics.js.map +0 -1
  121. package/dist/tools/gh-code-review.d.ts +0 -305
  122. package/dist/tools/gh-code-review.d.ts.map +0 -1
  123. package/dist/tools/gh-code-review.js +0 -513
  124. package/dist/tools/gh-code-review.js.map +0 -1
  125. package/dist/tools/gh-codespaces.d.ts +0 -139
  126. package/dist/tools/gh-codespaces.d.ts.map +0 -1
  127. package/dist/tools/gh-codespaces.js +0 -283
  128. package/dist/tools/gh-codespaces.js.map +0 -1
  129. package/dist/tools/gh-deployments.d.ts +0 -301
  130. package/dist/tools/gh-deployments.d.ts.map +0 -1
  131. package/dist/tools/gh-deployments.js +0 -368
  132. package/dist/tools/gh-deployments.js.map +0 -1
  133. package/dist/tools/gh-gists.d.ts +0 -175
  134. package/dist/tools/gh-gists.d.ts.map +0 -1
  135. package/dist/tools/gh-gists.js +0 -322
  136. package/dist/tools/gh-gists.js.map +0 -1
  137. package/dist/tools/gh-projects.d.ts +0 -206
  138. package/dist/tools/gh-projects.d.ts.map +0 -1
  139. package/dist/tools/gh-projects.js +0 -359
  140. package/dist/tools/gh-projects.js.map +0 -1
  141. package/dist/tools/gh-security.d.ts +0 -275
  142. package/dist/tools/gh-security.d.ts.map +0 -1
  143. package/dist/tools/gh-security.js +0 -396
  144. package/dist/tools/gh-security.js.map +0 -1
  145. package/dist/tools/gh-sync.d.ts +0 -214
  146. package/dist/tools/gh-sync.d.ts.map +0 -1
  147. package/dist/tools/gh-sync.js +0 -379
  148. package/dist/tools/gh-sync.js.map +0 -1
  149. package/dist/tools/gh-workflows.d.ts +0 -291
  150. package/dist/tools/gh-workflows.d.ts.map +0 -1
  151. package/dist/tools/gh-workflows.js +0 -433
  152. package/dist/tools/gh-workflows.js.map +0 -1
  153. package/dist/tools/git-bundle.d.ts +0 -172
  154. package/dist/tools/git-bundle.d.ts.map +0 -1
  155. package/dist/tools/git-bundle.js +0 -242
  156. package/dist/tools/git-bundle.js.map +0 -1
  157. package/dist/tools/git-cherry-pick.d.ts +0 -159
  158. package/dist/tools/git-cherry-pick.d.ts.map +0 -1
  159. package/dist/tools/git-cherry-pick.js +0 -225
  160. package/dist/tools/git-cherry-pick.js.map +0 -1
  161. package/dist/tools/git-rebase.d.ts +0 -138
  162. package/dist/tools/git-rebase.d.ts.map +0 -1
  163. package/dist/tools/git-rebase.js +0 -214
  164. package/dist/tools/git-rebase.js.map +0 -1
  165. package/dist/tools/git-submodule.d.ts +0 -153
  166. package/dist/tools/git-submodule.d.ts.map +0 -1
  167. package/dist/tools/git-submodule.js +0 -290
  168. package/dist/tools/git-submodule.js.map +0 -1
  169. package/dist/tools/git-worktree.d.ts +0 -160
  170. package/dist/tools/git-worktree.d.ts.map +0 -1
  171. package/dist/tools/git-worktree.js +0 -270
  172. package/dist/tools/git-worktree.js.map +0 -1
  173. package/dist/tools/repositories.d.ts +0 -406
  174. package/dist/tools/repositories.d.ts.map +0 -1
  175. package/dist/tools/repositories.js +0 -570
  176. package/dist/tools/repositories.js.map +0 -1
  177. package/dist/tools/users.d.ts +0 -373
  178. package/dist/tools/users.d.ts.map +0 -1
  179. package/dist/tools/users.js +0 -500
  180. package/dist/tools/users.js.map +0 -1
  181. package/dist/tools/validator.d.ts +0 -171
  182. package/dist/tools/validator.d.ts.map +0 -1
  183. package/dist/tools/validator.js +0 -195
  184. package/dist/tools/validator.js.map +0 -1
  185. package/dist/tools/version-control.d.ts +0 -137
  186. package/dist/tools/version-control.d.ts.map +0 -1
  187. package/dist/tools/version-control.js +0 -165
  188. package/dist/tools/version-control.js.map +0 -1
@@ -1,199 +1,212 @@
1
- "use strict";
2
- Object.defineProperty(exports, "__esModule", { value: true });
3
- exports.gitRevertTool = void 0;
4
- const zod_1 = require("zod");
5
- const terminal_controller_js_1 = require("../utils/terminal-controller.js");
6
- /**
7
- * Tool: git-revert
8
- *
9
- * DESCRIÇÃO:
10
- * Gerenciamento de revert Git (GitHub + Gitea) com múltiplas ações
11
- *
12
- * FUNCIONALIDADES:
13
- * - Reverter commit específico
14
- * - Reverter merge commit
15
- * - Reverter range de commits
16
- * - Reverter com mensagem customizada
17
- * - Reverter sem commit automático
18
- *
19
- * USO:
20
- * - Para desfazer commits de forma segura
21
- * - Para reverter mudanças em branches compartilhadas
22
- * - Para criar commits de reversão
23
- * - Para manter histórico limpo
24
- *
25
- * RECOMENDAÇÕES:
26
- * - Use revert em vez de reset para branches compartilhadas
27
- * - Teste reversões em branches locais primeiro
28
- * - Documente motivos da reversão
29
- */
30
- const GitRevertInputSchema = zod_1.z.object({
31
- action: zod_1.z.enum(['revert-commit', 'revert-merge', 'revert-range']),
32
- // owner: obtido automaticamente do provider,
33
- repo: zod_1.z.string(),
34
- provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'),
35
- projectPath: zod_1.z.string().describe('Local project path for git operations'),
36
- // Para revert-commit
37
- commit_hash: zod_1.z.string().optional(),
38
- message: zod_1.z.string().optional(),
39
- no_commit: zod_1.z.boolean().optional(),
40
- // Para revert-merge
41
- merge_commit_hash: zod_1.z.string().optional(),
42
- mainline: zod_1.z.number().optional(),
43
- // Para revert-range
44
- commit_range: zod_1.z.string().optional(),
45
- strategy: zod_1.z.enum(['ours', 'theirs']).optional(),
46
- });
47
- const GitRevertResultSchema = zod_1.z.object({
48
- success: zod_1.z.boolean(),
49
- action: zod_1.z.string(),
50
- message: zod_1.z.string(),
51
- data: zod_1.z.any().optional(),
52
- error: zod_1.z.string().optional()
53
- });
54
- exports.gitRevertTool = {
55
- name: 'git-revert',
56
- description: 'tool: Gerencia operações Git revert para desfazer mudanças de forma segura\n──────────────\naction revert-commit: reverte commit específico\naction revert-commit requires: repo, commit_hash, message, no_commit, provider, projectPath\n───────────────\naction revert-merge: reverte merge commit\naction revert-merge requires: repo, merge_commit_hash, mainline, message, provider, projectPath\n───────────────\naction revert-range: reverte range de commits\naction revert-range requires: repo, commit_range, strategy, message, provider, projectPath',
57
- inputSchema: {
58
- type: 'object',
59
- properties: {
60
- action: {
61
- type: 'string',
62
- enum: ['revert-commit', 'revert-merge', 'revert-range'],
63
- description: 'Action to perform on revert'
64
- },
65
- owner: { type: 'string', description: 'Repository owner' },
66
- repo: { type: 'string', description: 'Repository name' },
67
- provider: { type: 'string', enum: ['gitea', 'github'], description: 'Provider to use (gitea or github)' },
68
- projectPath: { type: 'string', description: 'Local project path for git operations' },
69
- commit_hash: { type: 'string', description: 'Commit hash to revert' },
70
- message: { type: 'string', description: 'Custom revert message' },
71
- no_commit: { type: 'boolean', description: 'Do not commit automatically' },
72
- merge_commit_hash: { type: 'string', description: 'Merge commit hash to revert' },
73
- mainline: { type: 'number', description: 'Mainline for merge revert' },
74
- commit_range: { type: 'string', description: 'Commit range to revert' },
75
- strategy: { type: 'string', enum: ['ours', 'theirs'], description: 'Revert strategy' }
76
- },
77
- required: ['action', 'repo', 'provider', 'projectPath']
78
- },
79
- async handler(input) {
80
- try {
81
- const validatedInput = GitRevertInputSchema.parse(input);
82
- switch (validatedInput.action) {
83
- case 'revert-commit':
84
- return await this.revertCommit(validatedInput);
85
- case 'revert-merge':
86
- return await this.revertMerge(validatedInput);
87
- case 'revert-range':
88
- return await this.revertRange(validatedInput);
89
- default:
90
- throw new Error(`Ação não suportada: ${validatedInput.action}`);
91
- }
92
- }
93
- catch (error) {
94
- return {
95
- success: false,
96
- action: input.action,
97
- message: 'Erro na operação de revert',
98
- error: error instanceof Error ? error.message : String(error)
99
- };
100
- }
101
- },
102
- async revertCommit(params) {
103
- try {
104
- if (!params.commit_hash) {
105
- throw new Error('commit_hash é obrigatório para revert-commit');
106
- }
107
- let gitCommand = `revert ${params.commit_hash}`;
108
- if (params.no_commit) {
109
- gitCommand += ' --no-commit';
110
- }
111
- if (params.message) {
112
- gitCommand += ` -m "${params.message}"`;
113
- }
114
- const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de commit');
115
- if (result.exitCode !== 0) {
116
- throw new Error(`Falha no revert de commit: ${result.output}`);
117
- }
118
- return {
119
- success: true,
120
- action: 'revert-commit',
121
- message: `Commit ${params.commit_hash} revertido com sucesso`,
122
- data: {
123
- commit_hash: params.commit_hash,
124
- message: params.message,
125
- no_commit: params.no_commit,
126
- output: result.output
127
- }
128
- };
129
- }
130
- catch (error) {
131
- throw new Error(`Falha ao executar revert de commit: ${error instanceof Error ? error.message : String(error)}`);
132
- }
133
- },
134
- async revertMerge(params) {
135
- try {
136
- if (!params.merge_commit_hash) {
137
- throw new Error('merge_commit_hash é obrigatório para revert-merge');
138
- }
139
- if (!params.mainline) {
140
- throw new Error('mainline é obrigatório para revert de merge');
141
- }
142
- let gitCommand = `revert -m ${params.mainline} ${params.merge_commit_hash}`;
143
- if (params.message) {
144
- gitCommand += ` -m "${params.message}"`;
145
- }
146
- const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de merge');
147
- if (result.exitCode !== 0) {
148
- throw new Error(`Falha no revert de merge: ${result.output}`);
149
- }
150
- return {
151
- success: true,
152
- action: 'revert-merge',
153
- message: `Merge commit ${params.merge_commit_hash} revertido com sucesso`,
154
- data: {
155
- merge_commit_hash: params.merge_commit_hash,
156
- mainline: params.mainline,
157
- message: params.message,
158
- output: result.output
159
- }
160
- };
161
- }
162
- catch (error) {
163
- throw new Error(`Falha ao executar revert de merge: ${error instanceof Error ? error.message : String(error)}`);
164
- }
165
- },
166
- async revertRange(params) {
167
- try {
168
- if (!params.commit_range) {
169
- throw new Error('commit_range é obrigatório para revert-range');
170
- }
171
- let gitCommand = `revert ${params.commit_range}`;
172
- if (params.strategy) {
173
- gitCommand += ` -X ${params.strategy}`;
174
- }
175
- if (params.message) {
176
- gitCommand += ` -m "${params.message}"`;
177
- }
178
- const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de range');
179
- if (result.exitCode !== 0) {
180
- throw new Error(`Falha no revert de range: ${result.output}`);
181
- }
182
- return {
183
- success: true,
184
- action: 'revert-range',
185
- message: `Range ${params.commit_range} revertido com sucesso`,
186
- data: {
187
- commit_range: params.commit_range,
188
- strategy: params.strategy,
189
- message: params.message,
190
- output: result.output
191
- }
192
- };
193
- }
194
- catch (error) {
195
- throw new Error(`Falha ao executar revert de range: ${error instanceof Error ? error.message : String(error)}`);
196
- }
197
- }
198
- };
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.gitRevertTool = void 0;
4
+ const zod_1 = require("zod");
5
+ const terminal_controller_js_1 = require("../utils/terminal-controller.js");
6
+ /**
7
+ * Tool: git-revert
8
+ *
9
+ * DESCRIÇÃO:
10
+ * Gerenciamento de revert Git (GitHub + Gitea) com múltiplas ações
11
+ *
12
+ * FUNCIONALIDADES:
13
+ * - Reverter commit específico
14
+ * - Reverter merge commit
15
+ * - Reverter range de commits
16
+ * - Reverter com mensagem customizada
17
+ * - Reverter sem commit automático
18
+ *
19
+ * USO:
20
+ * - Para desfazer commits de forma segura
21
+ * - Para reverter mudanças em branches compartilhadas
22
+ * - Para criar commits de reversão
23
+ * - Para manter histórico limpo
24
+ *
25
+ * RECOMENDAÇÕES:
26
+ * - Use revert em vez de reset para branches compartilhadas
27
+ * - Teste reversões em branches locais primeiro
28
+ * - Documente motivos da reversão
29
+ */
30
+ const GitRevertInputSchema = zod_1.z.object({
31
+ action: zod_1.z.enum(['revert-commit', 'revert-merge', 'revert-range']),
32
+ // owner: obtido automaticamente do provider,
33
+ repo: zod_1.z.string(),
34
+ provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'),
35
+ projectPath: zod_1.z.string().describe('Local project path for git operations'),
36
+ // Para revert-commit
37
+ commit_hash: zod_1.z.string().optional(),
38
+ message: zod_1.z.string().optional(),
39
+ no_commit: zod_1.z.boolean().optional(),
40
+ // Para revert-merge
41
+ merge_commit_hash: zod_1.z.string().optional(),
42
+ mainline: zod_1.z.number().optional(),
43
+ // Para revert-range
44
+ commit_range: zod_1.z.string().optional(),
45
+ strategy: zod_1.z.enum(['ours', 'theirs']).optional(),
46
+ });
47
+ const GitRevertResultSchema = zod_1.z.object({
48
+ success: zod_1.z.boolean(),
49
+ action: zod_1.z.string(),
50
+ message: zod_1.z.string(),
51
+ data: zod_1.z.any().optional(),
52
+ error: zod_1.z.string().optional()
53
+ });
54
+ exports.gitRevertTool = {
55
+ name: 'git-revert',
56
+ description: 'tool: Gerencia operações Git revert para desfazer mudanças de forma segura\n──────────────\naction revert-commit: reverte commit específico\naction revert-commit requires: repo, commit_hash, message, no_commit, provider, projectPath\n───────────────\naction revert-merge: reverte merge commit\naction revert-merge requires: repo, merge_commit_hash, mainline, message, provider, projectPath\n───────────────\naction revert-range: reverte range de commits\naction revert-range requires: repo, commit_range, strategy, message, provider, projectPath',
57
+ inputSchema: {
58
+ type: 'object',
59
+ properties: {
60
+ action: {
61
+ type: 'string',
62
+ enum: ['revert-commit', 'revert-merge', 'revert-range'],
63
+ description: 'Action to perform on revert'
64
+ },
65
+ owner: { type: 'string', description: 'Repository owner' },
66
+ repo: { type: 'string', description: 'Repository name' },
67
+ provider: { type: 'string', enum: ['gitea', 'github'], description: 'Provider to use (gitea or github)' },
68
+ projectPath: { type: 'string', description: 'Local project path for git operations' },
69
+ commit_hash: { type: 'string', description: 'Commit hash to revert' },
70
+ message: { type: 'string', description: 'Custom revert message' },
71
+ no_commit: { type: 'boolean', description: 'Do not commit automatically' },
72
+ merge_commit_hash: { type: 'string', description: 'Merge commit hash to revert' },
73
+ mainline: { type: 'number', description: 'Mainline for merge revert' },
74
+ commit_range: { type: 'string', description: 'Commit range to revert' },
75
+ strategy: { type: 'string', enum: ['ours', 'theirs'], description: 'Revert strategy' }
76
+ },
77
+ required: ['action', 'repo', 'provider', 'projectPath']
78
+ },
79
+ async handler(input) {
80
+ try {
81
+ const validatedInput = GitRevertInputSchema.parse(input);
82
+ switch (validatedInput.action) {
83
+ case 'revert-commit':
84
+ return await this.revertCommit(validatedInput);
85
+ case 'revert-merge':
86
+ return await this.revertMerge(validatedInput);
87
+ case 'revert-range':
88
+ return await this.revertRange(validatedInput);
89
+ default:
90
+ throw new Error(`Ação não suportada: ${validatedInput.action}`);
91
+ }
92
+ }
93
+ catch (error) {
94
+ return {
95
+ success: false,
96
+ action: input.action,
97
+ message: 'Erro na operação de revert',
98
+ error: error instanceof Error ? error.message : String(error)
99
+ };
100
+ }
101
+ },
102
+ async revertCommit(params) {
103
+ try {
104
+ if (!params.commit_hash) {
105
+ throw new Error('commit_hash é obrigatório para revert-commit');
106
+ }
107
+ let gitCommand = `revert ${params.commit_hash}`;
108
+ if (params.no_commit) {
109
+ gitCommand += ' --no-commit';
110
+ }
111
+ if (params.message) {
112
+ gitCommand += ` -m "${params.message}"`;
113
+ }
114
+ const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de commit');
115
+ if (result.exitCode !== 0) {
116
+ throw new Error(`Falha no revert de commit: ${result.output}`);
117
+ }
118
+ return {
119
+ success: true,
120
+ action: 'revert-commit',
121
+ message: `Commit ${params.commit_hash} revertido com sucesso`,
122
+ data: {
123
+ commit_hash: params.commit_hash,
124
+ message: params.message,
125
+ no_commit: params.no_commit,
126
+ output: result.output
127
+ }
128
+ };
129
+ }
130
+ catch (error) {
131
+ throw new Error(`Falha ao executar revert de commit: ${error instanceof Error ? error.message : String(error)}`);
132
+ }
133
+ },
134
+ async revertMerge(params) {
135
+ try {
136
+ if (!params.merge_commit_hash) {
137
+ throw new Error('merge_commit_hash é obrigatório para revert-merge');
138
+ }
139
+ if (!params.mainline) {
140
+ throw new Error('mainline é obrigatório para revert de merge');
141
+ }
142
+ let gitCommand = `revert -m ${params.mainline} ${params.merge_commit_hash}`;
143
+ if (params.message) {
144
+ gitCommand += ` -m "${params.message}"`;
145
+ }
146
+ const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de merge');
147
+ if (result.exitCode !== 0) {
148
+ throw new Error(`Falha no revert de merge: ${result.output}`);
149
+ }
150
+ return {
151
+ success: true,
152
+ action: 'revert-merge',
153
+ message: `Merge commit ${params.merge_commit_hash} revertido com sucesso`,
154
+ data: {
155
+ merge_commit_hash: params.merge_commit_hash,
156
+ mainline: params.mainline,
157
+ message: params.message,
158
+ output: result.output
159
+ }
160
+ };
161
+ }
162
+ catch (error) {
163
+ throw new Error(`Falha ao executar revert de merge: ${error instanceof Error ? error.message : String(error)}`);
164
+ }
165
+ },
166
+ async revertRange(params) {
167
+ try {
168
+ if (!params.commit_range) {
169
+ throw new Error('commit_range é obrigatório para revert-range');
170
+ }
171
+ let gitCommand = `revert ${params.commit_range}`;
172
+ if (params.strategy) {
173
+ gitCommand += ` -X ${params.strategy}`;
174
+ }
175
+ if (params.message) {
176
+ gitCommand += ` -m "${params.message}"`;
177
+ }
178
+ const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando revert de range');
179
+ if (result.exitCode !== 0) {
180
+ throw new Error(`Falha no revert de range: ${result.output}`);
181
+ }
182
+ return {
183
+ success: true,
184
+ action: 'revert-range',
185
+ message: `Range ${params.commit_range} revertido com sucesso`,
186
+ data: {
187
+ commit_range: params.commit_range,
188
+ strategy: params.strategy,
189
+ message: params.message,
190
+ output: result.output
191
+ }
192
+ };
193
+ }
194
+ catch (error) {
195
+ throw new Error(`Falha ao executar revert de range: ${error instanceof Error ? error.message : String(error)}`);
196
+ }
197
+ },
198
+ /**
199
+ * Verifica se erro é relacionado a Git
200
+ */
201
+ isGitRelatedError(errorMessage) {
202
+ const gitKeywords = [
203
+ 'git', 'commit', 'push', 'pull', 'merge', 'conflict', 'branch',
204
+ 'remote', 'repository', 'authentication', 'permission', 'unauthorized',
205
+ 'divergent', 'non-fast-forward', 'fetch first', 'working tree',
206
+ 'uncommitted', 'stash', 'rebase', 'reset', 'checkout'
207
+ ];
208
+ const errorLower = errorMessage.toLowerCase();
209
+ return gitKeywords.some(keyword => errorLower.includes(keyword));
210
+ }
211
+ };
199
212
  //# sourceMappingURL=git-revert.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"git-revert.js","sourceRoot":"","sources":["../../src/tools/git-revert.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,4EAAgE;AAEhE;;;;;;;;;;;;;;;;;;;;;;;GAuBG;AAEH,MAAM,oBAAoB,GAAG,OAAC,CAAC,MAAM,CAAC;IACpC,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC,CAAC;IACjE,6CAA6C;IAC7C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACnF,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAEzE,qBAAqB;IACrB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAEjC,oBAAoB;IACpB,iBAAiB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACxC,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE/B,oBAAoB;IACpB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;CAChD,CAAC,CAAC;AAIH,MAAM,qBAAqB,GAAG,OAAC,CAAC,MAAM,CAAC;IACrC,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE;IACpB,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE;IAClB,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE;IACnB,IAAI,EAAE,OAAC,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE;IACxB,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC7B,CAAC,CAAC;AAIU,QAAA,aAAa,GAAG;IAC3B,IAAI,EAAE,YAAY;IAClB,WAAW,EAAE,miBAAmiB;IAChjB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,eAAe,EAAE,cAAc,EAAE,cAAc,CAAC;gBACvD,WAAW,EAAE,6BAA6B;aAC3C;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;YAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACxD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE;YACzG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACrF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;YACrE,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;YACjE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC1E,iBAAiB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;YACjF,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,2BAA2B,EAAE;YACtE,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;YACvE,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,iBAAiB,EAAE;SACvF;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC;KACxD;IAED,KAAK,CAAC,OAAO,CAAC,KAAqB;QACjC,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,oBAAoB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEzD,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,KAAK,eAAe;oBAClB,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,cAAc,CAAC,CAAC;gBACjD,KAAK,cAAc;oBACjB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAChD,KAAK,cAAc;oBACjB,OAAO,MAAM,IAAI,CAAC,WAAW,CAAC,cAAc,CAAC,CAAC;gBAChD;oBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,4BAA4B;gBACrC,KAAK,EAAE,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC;aAC9D,CAAC;QACJ,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAAsB;QACvC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,UAAU,GAAG,UAAU,MAAM,CAAC,WAAW,EAAE,CAAC;YAEhD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,UAAU,IAAI,cAAc,CAAC;YAC/B,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,IAAI,QAAQ,MAAM,CAAC,OAAO,GAAG,CAAC;YAC1C,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAa,EAChC,UAAU,EACV,MAAM,CAAC,WAAW,EAClB,6BAA6B,CAC9B,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,8BAA8B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACjE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,UAAU,MAAM,CAAC,WAAW,wBAAwB;gBAC7D,IAAI,EAAE;oBACJ,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,uCAAuC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACnH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAsB;QACtC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,iBAAiB,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;YACvE,CAAC;YAED,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACrB,MAAM,IAAI,KAAK,CAAC,6CAA6C,CAAC,CAAC;YACjE,CAAC;YAED,IAAI,UAAU,GAAG,aAAa,MAAM,CAAC,QAAQ,IAAI,MAAM,CAAC,iBAAiB,EAAE,CAAC;YAE5E,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,IAAI,QAAQ,MAAM,CAAC,OAAO,GAAG,CAAC;YAC1C,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAa,EAChC,UAAU,EACV,MAAM,CAAC,WAAW,EAClB,4BAA4B,CAC7B,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,gBAAgB,MAAM,CAAC,iBAAiB,wBAAwB;gBACzE,IAAI,EAAE;oBACJ,iBAAiB,EAAE,MAAM,CAAC,iBAAiB;oBAC3C,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAAsB;QACtC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;gBACzB,MAAM,IAAI,KAAK,CAAC,8CAA8C,CAAC,CAAC;YAClE,CAAC;YAED,IAAI,UAAU,GAAG,UAAU,MAAM,CAAC,YAAY,EAAE,CAAC;YAEjD,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,IAAI,QAAQ,MAAM,CAAC,OAAO,GAAG,CAAC;YAC1C,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAa,EAChC,UAAU,EACV,MAAM,CAAC,WAAW,EAClB,4BAA4B,CAC7B,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,6BAA6B,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAChE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,cAAc;gBACtB,OAAO,EAAE,SAAS,MAAM,CAAC,YAAY,wBAAwB;gBAC7D,IAAI,EAAE;oBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,sCAAsC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAClH,CAAC;IACH,CAAC;CACF,CAAC"}
1
+ {"version":3,"file":"git-revert.js","sourceRoot":"","sources":["../../src/tools/git-revert.ts"],"names":[],"mappings":"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"}