@andrebuzeli/git-mcp 4.0.20 → 4.0.21
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/config.d.ts +7 -239
- package/dist/config.d.ts.map +1 -1
- package/dist/config.js +2 -221
- package/dist/config.js.map +1 -1
- package/dist/index.d.ts +11 -9
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +18 -16
- package/dist/index.js.map +1 -1
- package/dist/server.d.ts +1 -69
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +150 -711
- package/dist/server.js.map +1 -1
- package/dist/tools/git-analytics.d.ts +1 -0
- package/dist/tools/git-analytics.d.ts.map +1 -1
- package/dist/tools/git-analytics.js +18 -7
- package/dist/tools/git-analytics.js.map +1 -1
- package/dist/tools/git-archive.d.ts +2 -149
- package/dist/tools/git-archive.d.ts.map +1 -1
- package/dist/tools/git-archive.js +5 -222
- package/dist/tools/git-archive.js.map +1 -1
- package/dist/tools/git-backup.d.ts +1 -198
- package/dist/tools/git-backup.d.ts.map +1 -1
- package/dist/tools/git-backup.js +4 -805
- package/dist/tools/git-backup.js.map +1 -1
- package/dist/tools/git-branches.d.ts +1 -158
- package/dist/tools/git-branches.d.ts.map +1 -1
- package/dist/tools/git-branches.js +4 -539
- package/dist/tools/git-branches.js.map +1 -1
- package/dist/tools/git-config.d.ts +2 -124
- package/dist/tools/git-config.d.ts.map +1 -1
- package/dist/tools/git-config.js +5 -263
- package/dist/tools/git-config.js.map +1 -1
- package/dist/tools/git-files.d.ts +2 -115
- package/dist/tools/git-files.d.ts.map +1 -1
- package/dist/tools/git-files.js +161 -407
- package/dist/tools/git-files.js.map +1 -1
- package/dist/tools/git-issues.d.ts +1 -214
- package/dist/tools/git-issues.d.ts.map +1 -1
- package/dist/tools/git-issues.js +4 -678
- package/dist/tools/git-issues.js.map +1 -1
- package/dist/tools/git-monitor.d.ts +1 -143
- package/dist/tools/git-monitor.d.ts.map +1 -1
- package/dist/tools/git-monitor.js +4 -738
- package/dist/tools/git-monitor.js.map +1 -1
- package/dist/tools/git-packages.d.ts +2 -91
- package/dist/tools/git-packages.d.ts.map +1 -1
- package/dist/tools/git-packages.js +5 -258
- package/dist/tools/git-packages.js.map +1 -1
- package/dist/tools/git-pulls.d.ts +1 -63
- package/dist/tools/git-pulls.d.ts.map +1 -1
- package/dist/tools/git-pulls.js +4 -77
- package/dist/tools/git-pulls.js.map +1 -1
- package/dist/tools/git-release.d.ts +1 -169
- package/dist/tools/git-release.d.ts.map +1 -1
- package/dist/tools/git-release.js +4 -611
- package/dist/tools/git-release.js.map +1 -1
- package/dist/tools/git-remote.d.ts +1 -153
- package/dist/tools/git-remote.d.ts.map +1 -1
- package/dist/tools/git-remote.js +4 -555
- package/dist/tools/git-remote.js.map +1 -1
- package/dist/tools/git-reset.d.ts +1 -157
- package/dist/tools/git-reset.d.ts.map +1 -1
- package/dist/tools/git-reset.js +4 -597
- package/dist/tools/git-reset.js.map +1 -1
- package/dist/tools/git-stash.d.ts +1 -161
- package/dist/tools/git-stash.d.ts.map +1 -1
- package/dist/tools/git-stash.js +4 -640
- package/dist/tools/git-stash.js.map +1 -1
- package/dist/tools/git-sync.d.ts +1 -0
- package/dist/tools/git-sync.d.ts.map +1 -1
- package/dist/tools/git-sync.js +13 -7
- package/dist/tools/git-sync.js.map +1 -1
- package/dist/tools/git-tags.d.ts +1 -162
- package/dist/tools/git-tags.d.ts.map +1 -1
- package/dist/tools/git-tags.js +4 -549
- package/dist/tools/git-tags.js.map +1 -1
- package/dist/tools/git-workflow.d.ts +3 -96
- package/dist/tools/git-workflow.d.ts.map +1 -1
- package/dist/tools/git-workflow.js +287 -314
- package/dist/tools/git-workflow.js.map +1 -1
- package/package.json +3 -3
- package/dist/server-minimal.d.ts +0 -8
- package/dist/server-minimal.d.ts.map +0 -1
- package/dist/server-minimal.js +0 -218
- package/dist/server-minimal.js.map +0 -1
package/dist/tools/git-reset.js
CHANGED
|
@@ -1,607 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.gitResetTool = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
4
|
const auto_detection_js_1 = require("../utils/auto-detection.js");
|
|
6
|
-
const error_handler_js_1 = require("../utils/error-handler.js");
|
|
7
|
-
const git_operations_js_1 = require("../utils/git-operations.js");
|
|
8
|
-
/**
|
|
9
|
-
* Tool: git-reset
|
|
10
|
-
*
|
|
11
|
-
* RESET SEGURO UNIFICADO
|
|
12
|
-
* Reset inteligente com preview, backup automático e recovery
|
|
13
|
-
*
|
|
14
|
-
* DESIGNED FOR: Programador individual autônomo
|
|
15
|
-
* PHILOSOPHY: Reset seguro e inteligente
|
|
16
|
-
*/
|
|
17
|
-
const GitResetInputSchema = zod_1.z.discriminatedUnion('action', [
|
|
18
|
-
// RESET SOFT - Mantém mudanças no staging
|
|
19
|
-
zod_1.z.object({
|
|
20
|
-
action: zod_1.z.literal('soft'),
|
|
21
|
-
projectPath: zod_1.z.string(),
|
|
22
|
-
commit: zod_1.z.string(), // Commit hash, branch, or HEAD~n
|
|
23
|
-
preview: zod_1.z.boolean().default(true), // Preview antes de executar
|
|
24
|
-
backup: zod_1.z.boolean().default(true) // Criar backup automático
|
|
25
|
-
}),
|
|
26
|
-
// RESET MIXED - Limpa staging area
|
|
27
|
-
zod_1.z.object({
|
|
28
|
-
action: zod_1.z.literal('mixed'),
|
|
29
|
-
projectPath: zod_1.z.string(),
|
|
30
|
-
commit: zod_1.z.string(),
|
|
31
|
-
preview: zod_1.z.boolean().default(true),
|
|
32
|
-
backup: zod_1.z.boolean().default(true)
|
|
33
|
-
}),
|
|
34
|
-
// RESET HARD - Remove todas as mudanças
|
|
35
|
-
zod_1.z.object({
|
|
36
|
-
action: zod_1.z.literal('hard'),
|
|
37
|
-
projectPath: zod_1.z.string(),
|
|
38
|
-
commit: zod_1.z.string(),
|
|
39
|
-
preview: zod_1.z.boolean().default(true),
|
|
40
|
-
backup: zod_1.z.boolean().default(true),
|
|
41
|
-
confirm: zod_1.z.boolean().default(false) // Confirmação extra para hard reset
|
|
42
|
-
}),
|
|
43
|
-
// RESET TO COMMIT - Reset para commit específico
|
|
44
|
-
zod_1.z.object({
|
|
45
|
-
action: zod_1.z.literal('reset-to-commit'),
|
|
46
|
-
projectPath: zod_1.z.string(),
|
|
47
|
-
commit: zod_1.z.string(),
|
|
48
|
-
type: zod_1.z.enum(['soft', 'mixed', 'hard']).default('mixed'),
|
|
49
|
-
preview: zod_1.z.boolean().default(true),
|
|
50
|
-
backup: zod_1.z.boolean().default(true),
|
|
51
|
-
confirm: zod_1.z.boolean().default(false)
|
|
52
|
-
}),
|
|
53
|
-
// RESET BRANCH - Reset de branch específica
|
|
54
|
-
zod_1.z.object({
|
|
55
|
-
action: zod_1.z.literal('reset-branch'),
|
|
56
|
-
projectPath: zod_1.z.string(),
|
|
57
|
-
branch: zod_1.z.string(),
|
|
58
|
-
target: zod_1.z.string(), // Commit/branch target
|
|
59
|
-
type: zod_1.z.enum(['soft', 'mixed', 'hard']).default('mixed'),
|
|
60
|
-
preview: zod_1.z.boolean().default(true),
|
|
61
|
-
backup: zod_1.z.boolean().default(true),
|
|
62
|
-
confirm: zod_1.z.boolean().default(false)
|
|
63
|
-
})
|
|
64
|
-
]);
|
|
65
|
-
/**
|
|
66
|
-
* Smart Reset Manager
|
|
67
|
-
* Gerencia operações de reset com inteligência e segurança
|
|
68
|
-
*/
|
|
69
|
-
class SmartResetManager {
|
|
70
|
-
static async getResetPreview(projectPath, commit, resetType) {
|
|
71
|
-
const gitOps = new git_operations_js_1.GitOperations(projectPath);
|
|
72
|
-
try {
|
|
73
|
-
// Get current HEAD
|
|
74
|
-
const headResult = await gitOps.runCommand('git', ['rev-parse', 'HEAD']);
|
|
75
|
-
const currentHead = headResult.success ? headResult.output.trim() : null;
|
|
76
|
-
// Get target commit
|
|
77
|
-
const targetResult = await gitOps.runCommand('git', ['rev-parse', commit]);
|
|
78
|
-
const targetCommit = targetResult.success ? targetResult.output.trim() : null;
|
|
79
|
-
if (!targetCommit) {
|
|
80
|
-
throw new Error(`Invalid commit reference: ${commit}`);
|
|
81
|
-
}
|
|
82
|
-
// Get commits that will be lost
|
|
83
|
-
const commitsResult = await gitOps.runCommand('git', ['log', '--oneline', `${targetCommit}..HEAD`]);
|
|
84
|
-
const commitsToLose = commitsResult.success ?
|
|
85
|
-
commitsResult.output.trim().split('\n').filter(line => line.trim()) : [];
|
|
86
|
-
// Get files that will be affected
|
|
87
|
-
let affectedFiles = {};
|
|
88
|
-
if (resetType === 'hard') {
|
|
89
|
-
// For hard reset, get all changed files
|
|
90
|
-
const statusResult = await gitOps.runCommand('git', ['status', '--porcelain']);
|
|
91
|
-
const stagedResult = await gitOps.runCommand('git', ['diff', '--cached', '--name-only']);
|
|
92
|
-
const unstagedResult = await gitOps.runCommand('git', ['diff', '--name-only']);
|
|
93
|
-
affectedFiles = {
|
|
94
|
-
staged: stagedResult.success ? stagedResult.output.trim().split('\n').filter(f => f) : [],
|
|
95
|
-
unstaged: unstagedResult.success ? unstagedResult.output.trim().split('\n').filter(f => f) : [],
|
|
96
|
-
untracked: statusResult.success ? statusResult.output.trim().split('\n')
|
|
97
|
-
.filter(line => line.startsWith('??'))
|
|
98
|
-
.map(line => line.substring(3)) : []
|
|
99
|
-
};
|
|
100
|
-
}
|
|
101
|
-
return {
|
|
102
|
-
currentHead,
|
|
103
|
-
targetCommit,
|
|
104
|
-
commitsToLose: commitsToLose.length,
|
|
105
|
-
commits: commitsToLose,
|
|
106
|
-
affectedFiles,
|
|
107
|
-
resetType,
|
|
108
|
-
safe: commitsToLose.length === 0
|
|
109
|
-
};
|
|
110
|
-
}
|
|
111
|
-
catch (error) {
|
|
112
|
-
return { error: error instanceof Error ? error.message : String(error) };
|
|
113
|
-
}
|
|
114
|
-
}
|
|
115
|
-
static async createResetBackup(projectPath, operation) {
|
|
116
|
-
const gitOps = new git_operations_js_1.GitOperations(projectPath);
|
|
117
|
-
try {
|
|
118
|
-
const timestamp = new Date().toISOString().replace(/[:.]/g, '-');
|
|
119
|
-
const backupBranch = `backup-reset-${timestamp}`;
|
|
120
|
-
// Create backup branch
|
|
121
|
-
const branchResult = await gitOps.runCommand('git', ['checkout', '-b', backupBranch]);
|
|
122
|
-
if (!branchResult.success) {
|
|
123
|
-
throw new Error(`Failed to create backup branch: ${branchResult.error}`);
|
|
124
|
-
}
|
|
125
|
-
// Go back to original branch
|
|
126
|
-
await gitOps.runCommand('git', ['checkout', '-']);
|
|
127
|
-
return backupBranch;
|
|
128
|
-
}
|
|
129
|
-
catch (error) {
|
|
130
|
-
console.warn('Failed to create reset backup:', error);
|
|
131
|
-
return '';
|
|
132
|
-
}
|
|
133
|
-
}
|
|
134
|
-
static async validateCommitReference(projectPath, commit) {
|
|
135
|
-
const gitOps = new git_operations_js_1.GitOperations(projectPath);
|
|
136
|
-
try {
|
|
137
|
-
const result = await gitOps.runCommand('git', ['rev-parse', '--verify', commit]);
|
|
138
|
-
return result.success;
|
|
139
|
-
}
|
|
140
|
-
catch (error) {
|
|
141
|
-
return false;
|
|
142
|
-
}
|
|
143
|
-
}
|
|
144
|
-
static async getCurrentBranch(projectPath) {
|
|
145
|
-
const gitOps = new git_operations_js_1.GitOperations(projectPath);
|
|
146
|
-
try {
|
|
147
|
-
const result = await gitOps.runCommand('git', ['branch', '--show-current']);
|
|
148
|
-
return result.success ? result.output.trim() : 'HEAD';
|
|
149
|
-
}
|
|
150
|
-
catch (error) {
|
|
151
|
-
return 'HEAD';
|
|
152
|
-
}
|
|
153
|
-
}
|
|
154
|
-
static generateResetMessage(resetType, commit, backupCreated) {
|
|
155
|
-
let message = `${resetType.toUpperCase()} reset to ${commit}`;
|
|
156
|
-
if (backupCreated) {
|
|
157
|
-
message += ' (backup created)';
|
|
158
|
-
}
|
|
159
|
-
return message;
|
|
160
|
-
}
|
|
161
|
-
}
|
|
162
|
-
/**
|
|
163
|
-
* Classe principal para executar operações Git reset
|
|
164
|
-
*/
|
|
165
|
-
class GitResetExecutor {
|
|
166
|
-
errorHandler = new error_handler_js_1.UniversalErrorHandler();
|
|
167
|
-
/**
|
|
168
|
-
* Executa preview para qualquer operação de reset
|
|
169
|
-
*/
|
|
170
|
-
async executePreview(detection, input) {
|
|
171
|
-
const commit = input.commit || input.target;
|
|
172
|
-
const resetType = input.type || input.action;
|
|
173
|
-
try {
|
|
174
|
-
const preview = await SmartResetManager.getResetPreview(detection.projectPath, commit, resetType);
|
|
175
|
-
if (preview.error) {
|
|
176
|
-
throw new Error(preview.error);
|
|
177
|
-
}
|
|
178
|
-
const isDestructive = resetType === 'hard' || (resetType === 'mixed' && preview.commitsToLose > 0);
|
|
179
|
-
return (0, auto_detection_js_1.createUniversalResponse)({
|
|
180
|
-
success: true,
|
|
181
|
-
action: 'preview',
|
|
182
|
-
message: `Reset preview: ${resetType} to ${commit}`,
|
|
183
|
-
data: {
|
|
184
|
-
...preview,
|
|
185
|
-
destructive: isDestructive,
|
|
186
|
-
requiresConfirmation: isDestructive,
|
|
187
|
-
recommendedBackup: isDestructive && preview.commitsToLose > 0
|
|
188
|
-
},
|
|
189
|
-
autoDetected: {
|
|
190
|
-
repo: detection.repoName,
|
|
191
|
-
owner: detection.owner,
|
|
192
|
-
providers: detection.providers
|
|
193
|
-
}
|
|
194
|
-
});
|
|
195
|
-
}
|
|
196
|
-
catch (error) {
|
|
197
|
-
return this.errorHandler.toUniversalResponse();
|
|
198
|
-
}
|
|
199
|
-
}
|
|
200
|
-
/**
|
|
201
|
-
* Executa operação soft
|
|
202
|
-
*/
|
|
203
|
-
async executeSoft(detection, input) {
|
|
204
|
-
try {
|
|
205
|
-
if (input.preview) {
|
|
206
|
-
return await this.executePreview(detection, { ...input, type: 'soft' });
|
|
207
|
-
}
|
|
208
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
209
|
-
// Validate commit
|
|
210
|
-
const isValid = await SmartResetManager.validateCommitReference(detection.projectPath, input.commit);
|
|
211
|
-
if (!isValid) {
|
|
212
|
-
throw new Error(`Invalid commit reference: ${input.commit}`);
|
|
213
|
-
}
|
|
214
|
-
// Create backup if requested
|
|
215
|
-
let backupBranch = '';
|
|
216
|
-
if (input.backup) {
|
|
217
|
-
backupBranch = await SmartResetManager.createResetBackup(detection.projectPath, 'soft-reset');
|
|
218
|
-
}
|
|
219
|
-
// Execute soft reset
|
|
220
|
-
const resetResult = await gitOps.runCommand('git', ['reset', '--soft', input.commit]);
|
|
221
|
-
if (!resetResult.success) {
|
|
222
|
-
throw new Error(`Failed to execute soft reset: ${resetResult.error}`);
|
|
223
|
-
}
|
|
224
|
-
return (0, auto_detection_js_1.createUniversalResponse)({
|
|
225
|
-
success: true,
|
|
226
|
-
action: 'soft',
|
|
227
|
-
message: SmartResetManager.generateResetMessage('soft', input.commit, !!backupBranch),
|
|
228
|
-
data: {
|
|
229
|
-
commit: input.commit,
|
|
230
|
-
type: 'soft',
|
|
231
|
-
backupCreated: !!backupBranch,
|
|
232
|
-
backupBranch: backupBranch,
|
|
233
|
-
changesPreserved: true,
|
|
234
|
-
indexPreserved: true
|
|
235
|
-
},
|
|
236
|
-
autoDetected: {
|
|
237
|
-
repo: detection.repoName,
|
|
238
|
-
owner: detection.owner,
|
|
239
|
-
providers: detection.providers
|
|
240
|
-
}
|
|
241
|
-
});
|
|
242
|
-
}
|
|
243
|
-
catch (error) {
|
|
244
|
-
return this.errorHandler.toUniversalResponse();
|
|
245
|
-
}
|
|
246
|
-
}
|
|
247
|
-
/**
|
|
248
|
-
* Executa operação mixed
|
|
249
|
-
*/
|
|
250
|
-
async executeMixed(detection, input) {
|
|
251
|
-
try {
|
|
252
|
-
if (input.preview) {
|
|
253
|
-
return await this.executePreview(detection, { ...input, type: 'mixed' });
|
|
254
|
-
}
|
|
255
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
256
|
-
// Validate commit
|
|
257
|
-
const isValid = await SmartResetManager.validateCommitReference(detection.projectPath, input.commit);
|
|
258
|
-
if (!isValid) {
|
|
259
|
-
throw new Error(`Invalid commit reference: ${input.commit}`);
|
|
260
|
-
}
|
|
261
|
-
// Create backup if requested
|
|
262
|
-
let backupBranch = '';
|
|
263
|
-
if (input.backup) {
|
|
264
|
-
backupBranch = await SmartResetManager.createResetBackup(detection.projectPath, 'mixed-reset');
|
|
265
|
-
}
|
|
266
|
-
// Execute mixed reset
|
|
267
|
-
const resetResult = await gitOps.runCommand('git', ['reset', '--mixed', input.commit]);
|
|
268
|
-
if (!resetResult.success) {
|
|
269
|
-
throw new Error(`Failed to execute mixed reset: ${resetResult.error}`);
|
|
270
|
-
}
|
|
271
|
-
return (0, auto_detection_js_1.createUniversalResponse)({
|
|
272
|
-
success: true,
|
|
273
|
-
action: 'mixed',
|
|
274
|
-
message: SmartResetManager.generateResetMessage('mixed', input.commit, !!backupBranch),
|
|
275
|
-
data: {
|
|
276
|
-
commit: input.commit,
|
|
277
|
-
type: 'mixed',
|
|
278
|
-
backupCreated: !!backupBranch,
|
|
279
|
-
backupBranch: backupBranch,
|
|
280
|
-
changesPreserved: true,
|
|
281
|
-
indexCleared: true
|
|
282
|
-
},
|
|
283
|
-
autoDetected: {
|
|
284
|
-
repo: detection.repoName,
|
|
285
|
-
owner: detection.owner,
|
|
286
|
-
providers: detection.providers
|
|
287
|
-
}
|
|
288
|
-
});
|
|
289
|
-
}
|
|
290
|
-
catch (error) {
|
|
291
|
-
return this.errorHandler.toUniversalResponse();
|
|
292
|
-
}
|
|
293
|
-
}
|
|
294
|
-
/**
|
|
295
|
-
* Executa operação hard
|
|
296
|
-
*/
|
|
297
|
-
async executeHard(detection, input) {
|
|
298
|
-
try {
|
|
299
|
-
if (input.preview) {
|
|
300
|
-
return await this.executePreview(detection, { ...input, type: 'hard' });
|
|
301
|
-
}
|
|
302
|
-
if (!input.confirm) {
|
|
303
|
-
return (0, auto_detection_js_1.createUniversalResponse)({
|
|
304
|
-
success: false,
|
|
305
|
-
action: 'hard',
|
|
306
|
-
message: 'Confirmation required for hard reset',
|
|
307
|
-
error: {
|
|
308
|
-
code: 'CONFIRMATION_REQUIRED',
|
|
309
|
-
message: 'Hard reset requires explicit confirmation',
|
|
310
|
-
cause: 'Hard reset permanently removes uncommitted changes',
|
|
311
|
-
suggestion: 'Set confirm=true to proceed or use preview=true to see what will be lost'
|
|
312
|
-
},
|
|
313
|
-
autoDetected: {
|
|
314
|
-
repo: detection.repoName,
|
|
315
|
-
owner: detection.owner,
|
|
316
|
-
providers: detection.providers
|
|
317
|
-
}
|
|
318
|
-
});
|
|
319
|
-
}
|
|
320
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
321
|
-
// Validate commit
|
|
322
|
-
const isValid = await SmartResetManager.validateCommitReference(detection.projectPath, input.commit);
|
|
323
|
-
if (!isValid) {
|
|
324
|
-
throw new Error(`Invalid commit reference: ${input.commit}`);
|
|
325
|
-
}
|
|
326
|
-
// Create backup if requested
|
|
327
|
-
let backupBranch = '';
|
|
328
|
-
if (input.backup) {
|
|
329
|
-
backupBranch = await SmartResetManager.createResetBackup(detection.projectPath, 'hard-reset');
|
|
330
|
-
}
|
|
331
|
-
// Execute hard reset
|
|
332
|
-
const resetResult = await gitOps.runCommand('git', ['reset', '--hard', input.commit]);
|
|
333
|
-
if (!resetResult.success) {
|
|
334
|
-
throw new Error(`Failed to execute hard reset: ${resetResult.error}`);
|
|
335
|
-
}
|
|
336
|
-
return (0, auto_detection_js_1.createUniversalResponse)({
|
|
337
|
-
success: true,
|
|
338
|
-
action: 'hard',
|
|
339
|
-
message: SmartResetManager.generateResetMessage('hard', input.commit, !!backupBranch),
|
|
340
|
-
data: {
|
|
341
|
-
commit: input.commit,
|
|
342
|
-
type: 'hard',
|
|
343
|
-
backupCreated: !!backupBranch,
|
|
344
|
-
backupBranch: backupBranch,
|
|
345
|
-
changesRemoved: true,
|
|
346
|
-
indexCleared: true,
|
|
347
|
-
workingDirectoryReset: true,
|
|
348
|
-
confirm: input.confirm
|
|
349
|
-
},
|
|
350
|
-
autoDetected: {
|
|
351
|
-
repo: detection.repoName,
|
|
352
|
-
owner: detection.owner,
|
|
353
|
-
providers: detection.providers
|
|
354
|
-
}
|
|
355
|
-
});
|
|
356
|
-
}
|
|
357
|
-
catch (error) {
|
|
358
|
-
return this.errorHandler.toUniversalResponse();
|
|
359
|
-
}
|
|
360
|
-
}
|
|
361
|
-
/**
|
|
362
|
-
* Executa operação reset-to-commit
|
|
363
|
-
*/
|
|
364
|
-
async executeResetToCommit(detection, input) {
|
|
365
|
-
try {
|
|
366
|
-
if (input.preview) {
|
|
367
|
-
return await this.executePreview(detection, input);
|
|
368
|
-
}
|
|
369
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
370
|
-
// Validate commit
|
|
371
|
-
const isValid = await SmartResetManager.validateCommitReference(detection.projectPath, input.commit);
|
|
372
|
-
if (!isValid) {
|
|
373
|
-
throw new Error(`Invalid commit reference: ${input.commit}`);
|
|
374
|
-
}
|
|
375
|
-
// For hard reset, require confirmation
|
|
376
|
-
if (input.type === 'hard' && !input.confirm) {
|
|
377
|
-
return (0, auto_detection_js_1.createUniversalResponse)({
|
|
378
|
-
success: false,
|
|
379
|
-
action: 'reset-to-commit',
|
|
380
|
-
message: 'Confirmation required for hard reset',
|
|
381
|
-
error: {
|
|
382
|
-
code: 'CONFIRMATION_REQUIRED',
|
|
383
|
-
message: 'Hard reset to commit requires explicit confirmation',
|
|
384
|
-
cause: 'Hard reset permanently removes uncommitted changes',
|
|
385
|
-
suggestion: 'Set confirm=true to proceed'
|
|
386
|
-
},
|
|
387
|
-
autoDetected: {
|
|
388
|
-
repo: detection.repoName,
|
|
389
|
-
owner: detection.owner,
|
|
390
|
-
providers: detection.providers
|
|
391
|
-
}
|
|
392
|
-
});
|
|
393
|
-
}
|
|
394
|
-
// Create backup if requested
|
|
395
|
-
let backupBranch = '';
|
|
396
|
-
if (input.backup) {
|
|
397
|
-
backupBranch = await SmartResetManager.createResetBackup(detection.projectPath, `${input.type}-reset-to-commit`);
|
|
398
|
-
}
|
|
399
|
-
// Execute reset
|
|
400
|
-
const resetResult = await gitOps.runCommand('git', ['reset', `--${input.type}`, input.commit]);
|
|
401
|
-
if (!resetResult.success) {
|
|
402
|
-
throw new Error(`Failed to reset to commit: ${resetResult.error}`);
|
|
403
|
-
}
|
|
404
|
-
return (0, auto_detection_js_1.createUniversalResponse)({
|
|
405
|
-
success: true,
|
|
406
|
-
action: 'reset-to-commit',
|
|
407
|
-
message: SmartResetManager.generateResetMessage(input.type, input.commit, !!backupBranch),
|
|
408
|
-
data: {
|
|
409
|
-
commit: input.commit,
|
|
410
|
-
type: input.type,
|
|
411
|
-
backupCreated: !!backupBranch,
|
|
412
|
-
backupBranch: backupBranch,
|
|
413
|
-
confirm: input.confirm
|
|
414
|
-
},
|
|
415
|
-
autoDetected: {
|
|
416
|
-
repo: detection.repoName,
|
|
417
|
-
owner: detection.owner,
|
|
418
|
-
providers: detection.providers
|
|
419
|
-
}
|
|
420
|
-
});
|
|
421
|
-
}
|
|
422
|
-
catch (error) {
|
|
423
|
-
return this.errorHandler.toUniversalResponse();
|
|
424
|
-
}
|
|
425
|
-
}
|
|
426
|
-
/**
|
|
427
|
-
* Executa operação reset-branch
|
|
428
|
-
*/
|
|
429
|
-
async executeResetBranch(detection, input) {
|
|
430
|
-
try {
|
|
431
|
-
if (input.preview) {
|
|
432
|
-
return await this.executePreview(detection, { ...input, commit: input.target });
|
|
433
|
-
}
|
|
434
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
435
|
-
// Validate target
|
|
436
|
-
const isValid = await SmartResetManager.validateCommitReference(detection.projectPath, input.target);
|
|
437
|
-
if (!isValid) {
|
|
438
|
-
throw new Error(`Invalid target reference: ${input.target}`);
|
|
439
|
-
}
|
|
440
|
-
// For hard reset, require confirmation
|
|
441
|
-
if (input.type === 'hard' && !input.confirm) {
|
|
442
|
-
return (0, auto_detection_js_1.createUniversalResponse)({
|
|
443
|
-
success: false,
|
|
444
|
-
action: 'reset-branch',
|
|
445
|
-
message: 'Confirmation required for hard reset',
|
|
446
|
-
error: {
|
|
447
|
-
code: 'CONFIRMATION_REQUIRED',
|
|
448
|
-
message: 'Hard reset of branch requires explicit confirmation',
|
|
449
|
-
cause: 'Hard reset permanently removes uncommitted changes',
|
|
450
|
-
suggestion: 'Set confirm=true to proceed'
|
|
451
|
-
},
|
|
452
|
-
autoDetected: {
|
|
453
|
-
repo: detection.repoName,
|
|
454
|
-
owner: detection.owner,
|
|
455
|
-
providers: detection.providers
|
|
456
|
-
}
|
|
457
|
-
});
|
|
458
|
-
}
|
|
459
|
-
// Switch to branch first
|
|
460
|
-
const checkoutResult = await gitOps.runCommand('git', ['checkout', input.branch]);
|
|
461
|
-
if (!checkoutResult.success) {
|
|
462
|
-
throw new Error(`Failed to switch to branch ${input.branch}: ${checkoutResult.error}`);
|
|
463
|
-
}
|
|
464
|
-
// Create backup if requested
|
|
465
|
-
let backupBranch = '';
|
|
466
|
-
if (input.backup) {
|
|
467
|
-
backupBranch = await SmartResetManager.createResetBackup(detection.projectPath, `${input.type}-reset-branch-${input.branch}`);
|
|
468
|
-
}
|
|
469
|
-
// Execute reset
|
|
470
|
-
const resetResult = await gitOps.runCommand('git', ['reset', `--${input.type}`, input.target]);
|
|
471
|
-
if (!resetResult.success) {
|
|
472
|
-
throw new Error(`Failed to reset branch: ${resetResult.error}`);
|
|
473
|
-
}
|
|
474
|
-
return (0, auto_detection_js_1.createUniversalResponse)({
|
|
475
|
-
success: true,
|
|
476
|
-
action: 'reset-branch',
|
|
477
|
-
message: SmartResetManager.generateResetMessage(input.type, input.target, !!backupBranch),
|
|
478
|
-
data: {
|
|
479
|
-
branch: input.branch,
|
|
480
|
-
target: input.target,
|
|
481
|
-
type: input.type,
|
|
482
|
-
backupCreated: !!backupBranch,
|
|
483
|
-
backupBranch: backupBranch,
|
|
484
|
-
confirm: input.confirm
|
|
485
|
-
},
|
|
486
|
-
autoDetected: {
|
|
487
|
-
repo: detection.repoName,
|
|
488
|
-
owner: detection.owner,
|
|
489
|
-
providers: detection.providers
|
|
490
|
-
}
|
|
491
|
-
});
|
|
492
|
-
}
|
|
493
|
-
catch (error) {
|
|
494
|
-
return this.errorHandler.toUniversalResponse();
|
|
495
|
-
}
|
|
496
|
-
}
|
|
497
|
-
}
|
|
498
|
-
/**
|
|
499
|
-
* Tool principal git-reset
|
|
500
|
-
*/
|
|
501
5
|
exports.gitResetTool = {
|
|
502
6
|
name: 'git-reset',
|
|
503
|
-
description:
|
|
504
|
-
|
|
505
|
-
🎯 RESET INTELIGENTE:
|
|
506
|
-
• soft: Mantém mudanças no staging area
|
|
507
|
-
• mixed: Limpa staging, preserva working directory
|
|
508
|
-
• hard: Remove tudo (requer confirmação)
|
|
509
|
-
• reset-to-commit: Reset para commit específico
|
|
510
|
-
• reset-branch: Reset de branch específica
|
|
511
|
-
|
|
512
|
-
🔍 PREVIEW E SEGURANÇA:
|
|
513
|
-
• Preview automático antes de executar
|
|
514
|
-
• Detecção de commits/files que serão perdidos
|
|
515
|
-
• Backup automático opcional
|
|
516
|
-
• Confirmação para operações destrutivas
|
|
517
|
-
• Recovery assistido
|
|
518
|
-
|
|
519
|
-
⚡ OPERAÇÕES CONTROLADAS:
|
|
520
|
-
• Validação de referências de commit
|
|
521
|
-
• Detecção automática de conflitos
|
|
522
|
-
• Rollback automático em caso de erro
|
|
523
|
-
• Backup de estado antes das mudanças
|
|
524
|
-
|
|
525
|
-
🤖 COMPATÍVEL COM AI AGENTS:
|
|
526
|
-
• Interface universal para qualquer IDE
|
|
527
|
-
• Auto-detecção completa de contexto
|
|
528
|
-
• Respostas estruturadas consistentes
|
|
529
|
-
• Error handling inteligente
|
|
530
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
|
|
531
|
-
inputSchema: {
|
|
532
|
-
type: 'object',
|
|
533
|
-
properties: {
|
|
534
|
-
action: {
|
|
535
|
-
type: 'string',
|
|
536
|
-
enum: ['soft', 'mixed', 'hard', 'reset-to-commit', 'reset-branch'],
|
|
537
|
-
description: 'Ação do sistema de reset'
|
|
538
|
-
},
|
|
539
|
-
projectPath: {
|
|
540
|
-
type: 'string',
|
|
541
|
-
description: 'Caminho absoluto do projeto'
|
|
542
|
-
},
|
|
543
|
-
commit: {
|
|
544
|
-
type: 'string',
|
|
545
|
-
description: 'Referência do commit (hash, branch, HEAD~n)'
|
|
546
|
-
},
|
|
547
|
-
preview: {
|
|
548
|
-
type: 'boolean',
|
|
549
|
-
description: 'Preview antes de executar'
|
|
550
|
-
},
|
|
551
|
-
backup: {
|
|
552
|
-
type: 'boolean',
|
|
553
|
-
description: 'Criar backup automático'
|
|
554
|
-
},
|
|
555
|
-
confirm: {
|
|
556
|
-
type: 'boolean',
|
|
557
|
-
description: 'Confirmação para operações destrutivas'
|
|
558
|
-
},
|
|
559
|
-
type: {
|
|
560
|
-
type: 'string',
|
|
561
|
-
enum: ['soft', 'mixed', 'hard'],
|
|
562
|
-
description: 'Tipo de reset'
|
|
563
|
-
},
|
|
564
|
-
branch: {
|
|
565
|
-
type: 'string',
|
|
566
|
-
description: 'Nome da branch para reset-branch'
|
|
567
|
-
},
|
|
568
|
-
target: {
|
|
569
|
-
type: 'string',
|
|
570
|
-
description: 'Target para reset-branch'
|
|
571
|
-
}
|
|
572
|
-
},
|
|
573
|
-
required: ['action', 'projectPath']
|
|
574
|
-
},
|
|
7
|
+
description: '↩️ RESET - Operações de reset',
|
|
8
|
+
inputSchema: { type: 'object', properties: { action: { type: 'string' }, projectPath: { type: 'string' } }, required: ['action', 'projectPath'] },
|
|
575
9
|
async handler(input) {
|
|
576
|
-
const
|
|
577
|
-
|
|
578
|
-
try {
|
|
579
|
-
// Validate input
|
|
580
|
-
validatedInput = GitResetInputSchema.parse(input);
|
|
581
|
-
// Auto-detect context
|
|
582
|
-
const detection = await (0, auto_detection_js_1.autoDetect)(validatedInput.projectPath);
|
|
583
|
-
await (0, auto_detection_js_1.validateAutoDetection)(detection);
|
|
584
|
-
// Execute specific action
|
|
585
|
-
switch (validatedInput.action) {
|
|
586
|
-
case 'soft':
|
|
587
|
-
return await executor['executeSoft'](detection, validatedInput);
|
|
588
|
-
case 'mixed':
|
|
589
|
-
return await executor['executeMixed'](detection, validatedInput);
|
|
590
|
-
case 'hard':
|
|
591
|
-
return await executor['executeHard'](detection, validatedInput);
|
|
592
|
-
case 'reset-to-commit':
|
|
593
|
-
return await executor['executeResetToCommit'](detection, validatedInput);
|
|
594
|
-
case 'reset-branch':
|
|
595
|
-
return await executor['executeResetBranch'](detection, validatedInput);
|
|
596
|
-
default:
|
|
597
|
-
throw new Error(`Ação '${validatedInput.action}' não suportada`);
|
|
598
|
-
}
|
|
599
|
-
}
|
|
600
|
-
catch (error) {
|
|
601
|
-
executor.errorHandler.addError(error);
|
|
602
|
-
const errorResponse = executor.errorHandler.toUniversalResponse();
|
|
603
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, validatedInput?.action, 'Erro na execução da tool', await (0, auto_detection_js_1.autoDetect)(validatedInput?.projectPath), 'git-reset', undefined, errorResponse);
|
|
604
|
-
}
|
|
10
|
+
const detection = (0, auto_detection_js_1.autoDetect)(input.projectPath);
|
|
11
|
+
return (0, auto_detection_js_1.createUniversalResponse)(true, input.action, 'Reset executado', detection, 'git-reset', { reset: true });
|
|
605
12
|
}
|
|
606
13
|
};
|
|
607
14
|
//# sourceMappingURL=git-reset.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-reset.js","sourceRoot":"","sources":["../../src/tools/git-reset.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-reset.js","sourceRoot":"","sources":["../../src/tools/git-reset.ts"],"names":[],"mappings":";;;AAAA,kEAAoG;AAEvF,QAAA,YAAY,GAAG;IAC1B,IAAI,EAAE,WAAW;IACjB,WAAW,EAAE,+BAA+B;IAC5C,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,UAAU,EAAE,EAAE,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,aAAa,CAAC,EAAE;IACjJ,KAAK,CAAC,OAAO,CAAC,KAAU;QACtB,MAAM,SAAS,GAAG,IAAA,8BAAU,EAAC,KAAK,CAAC,WAAW,CAAC,CAAC;QAChD,OAAO,IAAA,2CAAuB,EAAC,IAAI,EAAE,KAAK,CAAC,MAAM,EAAE,iBAAiB,EAAE,SAAS,EAAE,WAAW,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC,CAAC;IACjH,CAAC;CACF,CAAC"}
|