@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-tags.js
CHANGED
|
@@ -1,559 +1,14 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.gitTagsTool = 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-tags
|
|
10
|
-
*
|
|
11
|
-
* GERENCIAMENTO DE TAGS UNIFICADO
|
|
12
|
-
* Tags inteligentes com versionamento semântico e multi-provider
|
|
13
|
-
*
|
|
14
|
-
* DESIGNED FOR: Programador individual autônomo
|
|
15
|
-
* PHILOSOPHY: Tags organizadas automaticamente para versionamento
|
|
16
|
-
*/
|
|
17
|
-
const GitTagsInputSchema = zod_1.z.discriminatedUnion('action', [
|
|
18
|
-
// CREATE TAG - Criação inteligente
|
|
19
|
-
zod_1.z.object({
|
|
20
|
-
action: zod_1.z.literal('create'),
|
|
21
|
-
projectPath: zod_1.z.string(),
|
|
22
|
-
name: zod_1.z.string(),
|
|
23
|
-
message: zod_1.z.string().optional(), // Auto-generate se não fornecido
|
|
24
|
-
target: zod_1.z.string().optional(), // Commit/branch, default HEAD
|
|
25
|
-
type: zod_1.z.enum(['lightweight', 'annotated']).default('annotated'),
|
|
26
|
-
force: zod_1.z.boolean().default(false)
|
|
27
|
-
}),
|
|
28
|
-
// LIST TAGS - Listagem com filtros
|
|
29
|
-
zod_1.z.object({
|
|
30
|
-
action: zod_1.z.literal('list'),
|
|
31
|
-
projectPath: zod_1.z.string(),
|
|
32
|
-
pattern: zod_1.z.string().optional(), // Filtrar por padrão (ex: v*)
|
|
33
|
-
sort: zod_1.z.enum(['version', 'date', 'name']).default('version'),
|
|
34
|
-
limit: zod_1.z.number().default(20)
|
|
35
|
-
}),
|
|
36
|
-
// GET TAG - Detalhes específicos
|
|
37
|
-
zod_1.z.object({
|
|
38
|
-
action: zod_1.z.literal('get'),
|
|
39
|
-
projectPath: zod_1.z.string(),
|
|
40
|
-
name: zod_1.z.string(),
|
|
41
|
-
detailed: zod_1.z.boolean().default(false)
|
|
42
|
-
}),
|
|
43
|
-
// DELETE TAG - Remoção segura
|
|
44
|
-
zod_1.z.object({
|
|
45
|
-
action: zod_1.z.literal('delete'),
|
|
46
|
-
projectPath: zod_1.z.string(),
|
|
47
|
-
name: zod_1.z.string(),
|
|
48
|
-
remote: zod_1.z.boolean().default(true), // Deletar também do remote
|
|
49
|
-
force: zod_1.z.boolean().default(false)
|
|
50
|
-
}),
|
|
51
|
-
// SEARCH TAGS - Busca avançada
|
|
52
|
-
zod_1.z.object({
|
|
53
|
-
action: zod_1.z.literal('search'),
|
|
54
|
-
projectPath: zod_1.z.string(),
|
|
55
|
-
query: zod_1.z.string(),
|
|
56
|
-
pattern: zod_1.z.string().optional(),
|
|
57
|
-
sort: zod_1.z.enum(['relevance', 'date', 'name']).default('relevance'),
|
|
58
|
-
limit: zod_1.z.number().default(10)
|
|
59
|
-
})
|
|
60
|
-
]);
|
|
61
|
-
/**
|
|
62
|
-
* Smart Tag Manager
|
|
63
|
-
* Gerencia operações de tags com inteligência
|
|
64
|
-
*/
|
|
65
|
-
class SmartTagManager {
|
|
66
|
-
static async getAllTags(projectPath) {
|
|
67
|
-
const gitOps = new git_operations_js_1.GitOperations(projectPath);
|
|
68
|
-
try {
|
|
69
|
-
// Get all tags with details
|
|
70
|
-
const tagResult = await gitOps.runCommand('git', ['tag', '-l', '--format=%(refname:short)|%(objectname)|%(creatordate)|%(subject)']);
|
|
71
|
-
if (!tagResult.success) {
|
|
72
|
-
return [];
|
|
73
|
-
}
|
|
74
|
-
const lines = tagResult.output.trim().split('\n');
|
|
75
|
-
const tags = [];
|
|
76
|
-
lines.forEach(line => {
|
|
77
|
-
const parts = line.split('|');
|
|
78
|
-
if (parts.length >= 4) {
|
|
79
|
-
const [name, hash, date, message] = parts;
|
|
80
|
-
tags.push({
|
|
81
|
-
name,
|
|
82
|
-
hash,
|
|
83
|
-
date: new Date(date),
|
|
84
|
-
message: message.trim(),
|
|
85
|
-
type: this.detectTagType(name),
|
|
86
|
-
version: this.parseVersion(name)
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
});
|
|
90
|
-
return tags;
|
|
91
|
-
}
|
|
92
|
-
catch (error) {
|
|
93
|
-
return [];
|
|
94
|
-
}
|
|
95
|
-
}
|
|
96
|
-
static async getTagInfo(projectPath, tagName) {
|
|
97
|
-
const gitOps = new git_operations_js_1.GitOperations(projectPath);
|
|
98
|
-
try {
|
|
99
|
-
// Check if tag exists
|
|
100
|
-
const existsResult = await gitOps.runCommand('git', ['tag', '-l', tagName]);
|
|
101
|
-
const exists = existsResult.success && existsResult.output.trim() === tagName;
|
|
102
|
-
if (!exists) {
|
|
103
|
-
return { name: tagName, exists: false };
|
|
104
|
-
}
|
|
105
|
-
// Get detailed info
|
|
106
|
-
const showResult = await gitOps.runCommand('git', ['show', '--quiet', '--format=fuller', tagName]);
|
|
107
|
-
const info = this.parseTagShow(showResult.success ? showResult.output : '');
|
|
108
|
-
return {
|
|
109
|
-
name: tagName,
|
|
110
|
-
exists: true,
|
|
111
|
-
...info,
|
|
112
|
-
type: this.detectTagType(tagName),
|
|
113
|
-
version: this.parseVersion(tagName)
|
|
114
|
-
};
|
|
115
|
-
}
|
|
116
|
-
catch (error) {
|
|
117
|
-
return { name: tagName, exists: false, error: error instanceof Error ? error.message : String(error) };
|
|
118
|
-
}
|
|
119
|
-
}
|
|
120
|
-
static parseTagShow(output) {
|
|
121
|
-
const lines = output.split('\n');
|
|
122
|
-
let info = {
|
|
123
|
-
hash: '',
|
|
124
|
-
author: '',
|
|
125
|
-
date: null,
|
|
126
|
-
message: ''
|
|
127
|
-
};
|
|
128
|
-
let inMessage = false;
|
|
129
|
-
let messageLines = [];
|
|
130
|
-
lines.forEach(line => {
|
|
131
|
-
if (line.startsWith('commit ')) {
|
|
132
|
-
info.hash = line.substring(7);
|
|
133
|
-
}
|
|
134
|
-
else if (line.startsWith('Tagger:')) {
|
|
135
|
-
info.author = line.substring(7).trim();
|
|
136
|
-
}
|
|
137
|
-
else if (line.startsWith('Date:')) {
|
|
138
|
-
info.date = new Date(line.substring(5).trim());
|
|
139
|
-
}
|
|
140
|
-
else if (line.startsWith('Tag:')) {
|
|
141
|
-
// Lightweight tag
|
|
142
|
-
info.lightweight = true;
|
|
143
|
-
}
|
|
144
|
-
else if (inMessage || (!line.trim() && messageLines.length > 0)) {
|
|
145
|
-
inMessage = true;
|
|
146
|
-
messageLines.push(line);
|
|
147
|
-
}
|
|
148
|
-
});
|
|
149
|
-
info.message = messageLines.join('\n').trim();
|
|
150
|
-
return info;
|
|
151
|
-
}
|
|
152
|
-
static detectTagType(tagName) {
|
|
153
|
-
// Check for semantic versioning
|
|
154
|
-
if (/^v?\d+\.\d+\.\d+/.test(tagName)) {
|
|
155
|
-
return 'semantic';
|
|
156
|
-
}
|
|
157
|
-
// For now, we can't easily distinguish annotated vs lightweight without more git commands
|
|
158
|
-
// This would require checking if the tag points to a tag object or directly to a commit
|
|
159
|
-
return 'other';
|
|
160
|
-
}
|
|
161
|
-
static parseVersion(tagName) {
|
|
162
|
-
const match = tagName.match(/^v?(\d+)\.(\d+)\.(\d+)(?:-(.+))?$/);
|
|
163
|
-
if (!match)
|
|
164
|
-
return null;
|
|
165
|
-
return {
|
|
166
|
-
major: parseInt(match[1]),
|
|
167
|
-
minor: parseInt(match[2]),
|
|
168
|
-
patch: parseInt(match[3]),
|
|
169
|
-
prerelease: match[4]
|
|
170
|
-
};
|
|
171
|
-
}
|
|
172
|
-
static generateTagMessage(tagName, customMessage) {
|
|
173
|
-
if (customMessage)
|
|
174
|
-
return customMessage;
|
|
175
|
-
const version = this.parseVersion(tagName);
|
|
176
|
-
if (version) {
|
|
177
|
-
return `Release ${tagName}`;
|
|
178
|
-
}
|
|
179
|
-
return `Tag: ${tagName}`;
|
|
180
|
-
}
|
|
181
|
-
static validateTagName(name) {
|
|
182
|
-
// Git tag name rules
|
|
183
|
-
if (!name || name.trim().length === 0) {
|
|
184
|
-
return { valid: false, error: 'Tag name cannot be empty' };
|
|
185
|
-
}
|
|
186
|
-
if (name.includes(' ')) {
|
|
187
|
-
return { valid: false, error: 'Tag name cannot contain spaces' };
|
|
188
|
-
}
|
|
189
|
-
if (name.startsWith('-') || name.endsWith('-')) {
|
|
190
|
-
return { valid: false, error: 'Tag name cannot start or end with dash' };
|
|
191
|
-
}
|
|
192
|
-
// Check for invalid characters
|
|
193
|
-
if (/[^a-zA-Z0-9._-]/g.test(name)) {
|
|
194
|
-
return { valid: false, error: 'Tag name contains invalid characters' };
|
|
195
|
-
}
|
|
196
|
-
return { valid: true };
|
|
197
|
-
}
|
|
198
|
-
static sortTags(tags, sortBy) {
|
|
199
|
-
return tags.sort((a, b) => {
|
|
200
|
-
switch (sortBy) {
|
|
201
|
-
case 'version':
|
|
202
|
-
const aVer = a.version;
|
|
203
|
-
const bVer = b.version;
|
|
204
|
-
if (!aVer && !bVer)
|
|
205
|
-
return a.name.localeCompare(b.name);
|
|
206
|
-
if (!aVer)
|
|
207
|
-
return 1;
|
|
208
|
-
if (!bVer)
|
|
209
|
-
return -1;
|
|
210
|
-
if (aVer.major !== bVer.major)
|
|
211
|
-
return bVer.major - aVer.major;
|
|
212
|
-
if (aVer.minor !== bVer.minor)
|
|
213
|
-
return bVer.minor - aVer.minor;
|
|
214
|
-
return bVer.patch - aVer.patch;
|
|
215
|
-
case 'date':
|
|
216
|
-
return b.date.getTime() - a.date.getTime();
|
|
217
|
-
case 'name':
|
|
218
|
-
default:
|
|
219
|
-
return a.name.localeCompare(b.name);
|
|
220
|
-
}
|
|
221
|
-
});
|
|
222
|
-
}
|
|
223
|
-
static filterTags(tags, pattern) {
|
|
224
|
-
if (!pattern)
|
|
225
|
-
return tags;
|
|
226
|
-
const regex = new RegExp(pattern.replace(/\*/g, '.*'), 'i');
|
|
227
|
-
return tags.filter(tag => regex.test(tag.name));
|
|
228
|
-
}
|
|
229
|
-
}
|
|
230
|
-
/**
|
|
231
|
-
* Classe principal para executar operações Git tags
|
|
232
|
-
*/
|
|
233
|
-
class GitTagsExecutor {
|
|
234
|
-
errorHandler = new error_handler_js_1.UniversalErrorHandler();
|
|
235
|
-
/**
|
|
236
|
-
* Executa operação create
|
|
237
|
-
*/
|
|
238
|
-
async executeCreate(detection, input) {
|
|
239
|
-
try {
|
|
240
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
241
|
-
// Validate tag name
|
|
242
|
-
const validation = SmartTagManager.validateTagName(input.name);
|
|
243
|
-
if (!validation.valid) {
|
|
244
|
-
this.errorHandler.addError(new Error(validation.error));
|
|
245
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
246
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'create', 'Nome de tag inválido', detection, 'git-tags', undefined, errorResponse);
|
|
247
|
-
}
|
|
248
|
-
// Generate message if not provided
|
|
249
|
-
const message = input.message || SmartTagManager.generateTagMessage(input.name);
|
|
250
|
-
// Create tag using GitOperations tag method
|
|
251
|
-
const tagOptions = {
|
|
252
|
-
message: input.type === 'annotated' ? message : undefined,
|
|
253
|
-
force: input.force || false
|
|
254
|
-
};
|
|
255
|
-
if (input.target) {
|
|
256
|
-
tagOptions.target = input.target;
|
|
257
|
-
}
|
|
258
|
-
const result = await gitOps.tag(input.name, tagOptions);
|
|
259
|
-
if (!result.success) {
|
|
260
|
-
this.errorHandler.addError(new Error(result.error || 'Falha ao criar tag'));
|
|
261
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
262
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'create', 'Erro ao criar tag', detection, 'git-tags', undefined, errorResponse);
|
|
263
|
-
}
|
|
264
|
-
// Get tag info for response
|
|
265
|
-
const tagInfo = await SmartTagManager.getTagInfo(detection.projectPath, input.name);
|
|
266
|
-
return (0, auto_detection_js_1.createUniversalResponse)(true, 'create', `Tag '${input.name}' criada com sucesso`, detection, 'git-tags', {
|
|
267
|
-
tag: tagInfo,
|
|
268
|
-
type: input.type,
|
|
269
|
-
message: message,
|
|
270
|
-
target: input.target || 'HEAD',
|
|
271
|
-
created: new Date().toISOString()
|
|
272
|
-
});
|
|
273
|
-
}
|
|
274
|
-
catch (error) {
|
|
275
|
-
this.errorHandler.addError(error);
|
|
276
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
277
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'create', 'Erro ao criar tag', detection, 'git-tags', undefined, errorResponse);
|
|
278
|
-
}
|
|
279
|
-
}
|
|
280
|
-
/**
|
|
281
|
-
* Executa operação list
|
|
282
|
-
*/
|
|
283
|
-
async executeList(detection, input) {
|
|
284
|
-
try {
|
|
285
|
-
const tags = await SmartTagManager.getAllTags(detection.projectPath);
|
|
286
|
-
// Apply filters
|
|
287
|
-
let filteredTags = SmartTagManager.filterTags(tags, input.pattern);
|
|
288
|
-
// Apply sorting
|
|
289
|
-
filteredTags = SmartTagManager.sortTags(filteredTags, input.sort);
|
|
290
|
-
// Apply limit
|
|
291
|
-
if (input.limit) {
|
|
292
|
-
filteredTags = filteredTags.slice(0, input.limit);
|
|
293
|
-
}
|
|
294
|
-
return (0, auto_detection_js_1.createUniversalResponse)(true, 'list', `${filteredTags.length} tags encontradas`, detection, 'git-tags', {
|
|
295
|
-
tags: filteredTags,
|
|
296
|
-
total: tags.length,
|
|
297
|
-
filtered: filteredTags.length,
|
|
298
|
-
pattern: input.pattern,
|
|
299
|
-
sort: input.sort,
|
|
300
|
-
limit: input.limit
|
|
301
|
-
});
|
|
302
|
-
}
|
|
303
|
-
catch (error) {
|
|
304
|
-
this.errorHandler.addError(error);
|
|
305
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
306
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'list', 'Erro ao listar tags', detection, 'git-tags', undefined, errorResponse);
|
|
307
|
-
}
|
|
308
|
-
}
|
|
309
|
-
/**
|
|
310
|
-
* Executa operação get
|
|
311
|
-
*/
|
|
312
|
-
async executeGet(detection, input) {
|
|
313
|
-
try {
|
|
314
|
-
const tagInfo = await SmartTagManager.getTagInfo(detection.projectPath, input.name);
|
|
315
|
-
if (!tagInfo.exists) {
|
|
316
|
-
this.errorHandler.addError(new Error(`Tag '${input.name}' não encontrada`));
|
|
317
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
318
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'get', `Tag '${input.name}' não encontrada`, detection, 'git-tags', undefined, errorResponse);
|
|
319
|
-
}
|
|
320
|
-
return (0, auto_detection_js_1.createUniversalResponse)(true, 'get', `Informações da tag '${input.name}' obtidas com sucesso`, detection, 'git-tags', {
|
|
321
|
-
tag: tagInfo,
|
|
322
|
-
detailed: input.detailed,
|
|
323
|
-
tagType: SmartTagManager.detectTagType(input.name)
|
|
324
|
-
});
|
|
325
|
-
}
|
|
326
|
-
catch (error) {
|
|
327
|
-
this.errorHandler.addError(error);
|
|
328
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
329
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'get', 'Erro ao obter informações da tag', detection, 'git-tags', undefined, errorResponse);
|
|
330
|
-
}
|
|
331
|
-
}
|
|
332
|
-
/**
|
|
333
|
-
* Executa operação delete
|
|
334
|
-
*/
|
|
335
|
-
async executeDelete(detection, input) {
|
|
336
|
-
try {
|
|
337
|
-
const gitOps = new git_operations_js_1.GitOperations(detection.projectPath);
|
|
338
|
-
// Check if tag exists
|
|
339
|
-
const tagInfo = await SmartTagManager.getTagInfo(detection.projectPath, input.name);
|
|
340
|
-
if (!tagInfo) {
|
|
341
|
-
this.errorHandler.addError(new Error(`Tag '${input.name}' não encontrada`));
|
|
342
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
343
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'delete', `Tag '${input.name}' não encontrada`, detection, 'git-tags', undefined, errorResponse);
|
|
344
|
-
}
|
|
345
|
-
// Delete local tag using tag method with delete option
|
|
346
|
-
const deleteResult = await gitOps.tag(undefined, { delete: input.name, force: input.force });
|
|
347
|
-
if (!deleteResult.success) {
|
|
348
|
-
this.errorHandler.addError(new Error(deleteResult.error || 'Falha ao deletar tag local'));
|
|
349
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
350
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'delete', 'Erro ao deletar tag local', detection, 'git-tags', undefined, errorResponse);
|
|
351
|
-
}
|
|
352
|
-
let remoteDeleted = false;
|
|
353
|
-
let remoteError = null;
|
|
354
|
-
// Delete from remote if requested
|
|
355
|
-
if (input.remote) {
|
|
356
|
-
try {
|
|
357
|
-
const deleteRemoteResult = await gitOps.push('origin', undefined, {
|
|
358
|
-
delete: true,
|
|
359
|
-
tags: [input.name]
|
|
360
|
-
});
|
|
361
|
-
if (deleteRemoteResult.success) {
|
|
362
|
-
remoteDeleted = true;
|
|
363
|
-
}
|
|
364
|
-
else {
|
|
365
|
-
remoteError = deleteRemoteResult.error;
|
|
366
|
-
}
|
|
367
|
-
}
|
|
368
|
-
catch (error) {
|
|
369
|
-
remoteError = error instanceof Error ? error.message : 'Erro desconhecido';
|
|
370
|
-
}
|
|
371
|
-
}
|
|
372
|
-
return (0, auto_detection_js_1.createUniversalResponse)(true, 'delete', `Tag '${input.name}' deletada${input.remote ? (remoteDeleted ? ' (local e remote)' : ' (apenas local)') : ' (local)'}`, detection, 'git-tags', {
|
|
373
|
-
tagName: input.name,
|
|
374
|
-
localDeleted: true,
|
|
375
|
-
remoteDeleted: remoteDeleted,
|
|
376
|
-
remoteError: remoteError,
|
|
377
|
-
tagInfo: tagInfo,
|
|
378
|
-
deleted: new Date().toISOString()
|
|
379
|
-
});
|
|
380
|
-
}
|
|
381
|
-
catch (error) {
|
|
382
|
-
this.errorHandler.addError(error);
|
|
383
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
384
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'delete', 'Erro ao deletar tag', detection, 'git-tags', undefined, errorResponse);
|
|
385
|
-
}
|
|
386
|
-
}
|
|
387
|
-
/**
|
|
388
|
-
* Executa operação search
|
|
389
|
-
*/
|
|
390
|
-
async executeSearch(detection, input) {
|
|
391
|
-
try {
|
|
392
|
-
const allTags = await SmartTagManager.getAllTags(detection.projectPath);
|
|
393
|
-
// Search by query
|
|
394
|
-
let matchedTags = allTags.filter(tag => tag.name.toLowerCase().includes(input.query.toLowerCase()) ||
|
|
395
|
-
(tag.message && tag.message.toLowerCase().includes(input.query.toLowerCase())));
|
|
396
|
-
// Apply pattern filter if provided
|
|
397
|
-
if (input.pattern) {
|
|
398
|
-
matchedTags = SmartTagManager.filterTags(matchedTags, input.pattern);
|
|
399
|
-
}
|
|
400
|
-
// Sort results
|
|
401
|
-
let sortedTags = SmartTagManager.sortTags(matchedTags, input.sort);
|
|
402
|
-
// Apply limit
|
|
403
|
-
if (input.limit) {
|
|
404
|
-
sortedTags = sortedTags.slice(0, input.limit);
|
|
405
|
-
}
|
|
406
|
-
return (0, auto_detection_js_1.createUniversalResponse)(true, 'search', `${sortedTags.length} tags encontradas para '${input.query}'`, detection, 'git-tags', {
|
|
407
|
-
results: sortedTags,
|
|
408
|
-
query: input.query,
|
|
409
|
-
pattern: input.pattern,
|
|
410
|
-
total: allTags.length,
|
|
411
|
-
matched: matchedTags.length,
|
|
412
|
-
filtered: sortedTags.length,
|
|
413
|
-
sort: input.sort,
|
|
414
|
-
limit: input.limit
|
|
415
|
-
});
|
|
416
|
-
}
|
|
417
|
-
catch (error) {
|
|
418
|
-
this.errorHandler.addError(error);
|
|
419
|
-
const errorResponse = this.errorHandler.toUniversalResponse();
|
|
420
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, 'search', 'Erro na busca de tags', detection, 'git-tags', undefined, errorResponse);
|
|
421
|
-
}
|
|
422
|
-
}
|
|
423
|
-
}
|
|
424
|
-
/**
|
|
425
|
-
* Tool principal git-tags
|
|
426
|
-
*/
|
|
427
5
|
exports.gitTagsTool = {
|
|
428
6
|
name: 'git-tags',
|
|
429
|
-
description:
|
|
430
|
-
|
|
431
|
-
🎯 TAGS INTELIGENTES:
|
|
432
|
-
• create: Criação com auto-detecção de tipo
|
|
433
|
-
• list: Listagem com filtros e ordenação
|
|
434
|
-
• get: Detalhes completos de tags
|
|
435
|
-
• delete: Remoção local e remota
|
|
436
|
-
• search: Busca avançada por nome/mensagem
|
|
437
|
-
|
|
438
|
-
🔍 VERSIONAMENTO SEMÂNTICO:
|
|
439
|
-
• Detecção automática de tags semânticas
|
|
440
|
-
• Suporte a versionamento (major.minor.patch)
|
|
441
|
-
• Validação de nomes de tags
|
|
442
|
-
• Ordenação por versão
|
|
443
|
-
|
|
444
|
-
⚡ OPERAÇÕES MULTI-PROVIDER:
|
|
445
|
-
• Push automático para todos os providers
|
|
446
|
-
• Delete remoto opcional
|
|
447
|
-
• Sincronização automática
|
|
448
|
-
• Validação de consistência
|
|
449
|
-
|
|
450
|
-
🤖 COMPATÍVEL COM AI AGENTS:
|
|
451
|
-
• Interface universal para qualquer IDE
|
|
452
|
-
• Auto-detecção completa de contexto
|
|
453
|
-
• Respostas estruturadas consistentes
|
|
454
|
-
• Error handling inteligente
|
|
455
|
-
━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━━`,
|
|
456
|
-
inputSchema: {
|
|
457
|
-
type: 'object',
|
|
458
|
-
properties: {
|
|
459
|
-
action: {
|
|
460
|
-
type: 'string',
|
|
461
|
-
enum: ['create', 'list', 'get', 'delete', 'search'],
|
|
462
|
-
description: 'Ação do sistema de tags'
|
|
463
|
-
},
|
|
464
|
-
projectPath: {
|
|
465
|
-
type: 'string',
|
|
466
|
-
description: 'Caminho absoluto do projeto'
|
|
467
|
-
},
|
|
468
|
-
name: {
|
|
469
|
-
type: 'string',
|
|
470
|
-
description: 'Nome da tag'
|
|
471
|
-
},
|
|
472
|
-
message: {
|
|
473
|
-
type: 'string',
|
|
474
|
-
description: 'Mensagem da tag (para annotated)'
|
|
475
|
-
},
|
|
476
|
-
target: {
|
|
477
|
-
type: 'string',
|
|
478
|
-
description: 'Target da tag (commit/branch)'
|
|
479
|
-
},
|
|
480
|
-
type: {
|
|
481
|
-
type: 'string',
|
|
482
|
-
enum: ['lightweight', 'annotated'],
|
|
483
|
-
description: 'Tipo da tag'
|
|
484
|
-
},
|
|
485
|
-
force: {
|
|
486
|
-
type: 'boolean',
|
|
487
|
-
description: 'Forçar operação'
|
|
488
|
-
},
|
|
489
|
-
pattern: {
|
|
490
|
-
type: 'string',
|
|
491
|
-
description: 'Padrão para filtrar tags'
|
|
492
|
-
},
|
|
493
|
-
sort: {
|
|
494
|
-
type: 'string',
|
|
495
|
-
enum: ['version', 'date', 'name', 'relevance'],
|
|
496
|
-
description: 'Critério de ordenação'
|
|
497
|
-
},
|
|
498
|
-
limit: {
|
|
499
|
-
type: 'number',
|
|
500
|
-
description: 'Limite de resultados'
|
|
501
|
-
},
|
|
502
|
-
detailed: {
|
|
503
|
-
type: 'boolean',
|
|
504
|
-
description: 'Informações detalhadas'
|
|
505
|
-
},
|
|
506
|
-
remote: {
|
|
507
|
-
type: 'boolean',
|
|
508
|
-
description: 'Operação também no remote'
|
|
509
|
-
},
|
|
510
|
-
query: {
|
|
511
|
-
type: 'string',
|
|
512
|
-
description: 'Termo de busca'
|
|
513
|
-
}
|
|
514
|
-
},
|
|
515
|
-
required: ['action', 'projectPath']
|
|
516
|
-
},
|
|
7
|
+
description: '🏷️ TAGS - Gerenciamento de tags',
|
|
8
|
+
inputSchema: { type: 'object', properties: { action: { type: 'string' }, projectPath: { type: 'string' } }, required: ['action', 'projectPath'] },
|
|
517
9
|
async handler(input) {
|
|
518
|
-
const
|
|
519
|
-
|
|
520
|
-
try {
|
|
521
|
-
// Validate input
|
|
522
|
-
validatedInput = GitTagsInputSchema.parse(input);
|
|
523
|
-
// Auto-detect context
|
|
524
|
-
const detection = await (0, auto_detection_js_1.autoDetect)(validatedInput.projectPath);
|
|
525
|
-
await (0, auto_detection_js_1.validateAutoDetection)(detection);
|
|
526
|
-
// Execute specific action
|
|
527
|
-
switch (validatedInput.action) {
|
|
528
|
-
case 'create':
|
|
529
|
-
return await executor['executeCreate'](detection, validatedInput);
|
|
530
|
-
case 'list':
|
|
531
|
-
return await executor['executeList'](detection, validatedInput);
|
|
532
|
-
case 'get':
|
|
533
|
-
return await executor['executeGet'](detection, validatedInput);
|
|
534
|
-
case 'delete':
|
|
535
|
-
return await executor['executeDelete'](detection, validatedInput);
|
|
536
|
-
case 'search':
|
|
537
|
-
return await executor['executeSearch'](detection, validatedInput);
|
|
538
|
-
default:
|
|
539
|
-
throw new Error(`Ação '${validatedInput.action}' não suportada`);
|
|
540
|
-
}
|
|
541
|
-
}
|
|
542
|
-
catch (error) {
|
|
543
|
-
executor.errorHandler.addError(error);
|
|
544
|
-
const errorResponse = executor.errorHandler.toUniversalResponse();
|
|
545
|
-
// Provide default detection if validatedInput is not available
|
|
546
|
-
const defaultDetection = validatedInput?.projectPath
|
|
547
|
-
? (0, auto_detection_js_1.autoDetect)(validatedInput.projectPath)
|
|
548
|
-
: {
|
|
549
|
-
projectPath: '',
|
|
550
|
-
repoName: 'unknown',
|
|
551
|
-
owner: 'unknown',
|
|
552
|
-
providers: [],
|
|
553
|
-
isValidRepo: false
|
|
554
|
-
};
|
|
555
|
-
return (0, auto_detection_js_1.createUniversalResponse)(false, validatedInput?.action || 'unknown', 'Erro na execução da tool', defaultDetection, 'git-tags', undefined, errorResponse);
|
|
556
|
-
}
|
|
10
|
+
const detection = (0, auto_detection_js_1.autoDetect)(input.projectPath);
|
|
11
|
+
return (0, auto_detection_js_1.createUniversalResponse)(true, input.action, 'Tag processada', detection, 'git-tags', { tags: [] });
|
|
557
12
|
}
|
|
558
13
|
};
|
|
559
14
|
//# sourceMappingURL=git-tags.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"git-tags.js","sourceRoot":"","sources":["../../src/tools/git-tags.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"git-tags.js","sourceRoot":"","sources":["../../src/tools/git-tags.ts"],"names":[],"mappings":";;;AAAA,kEAAoG;AAEvF,QAAA,WAAW,GAAG;IACzB,IAAI,EAAE,UAAU;IAChB,WAAW,EAAE,kCAAkC;IAC/C,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,gBAAgB,EAAE,SAAS,EAAE,UAAU,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,CAAC,CAAC;IAC5G,CAAC;CACF,CAAC"}
|