@andrebuzeli/git-mcp 2.6.6 → 2.6.7
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/providers/gitea-provider.d.ts.map +1 -1
- package/dist/providers/gitea-provider.js +30 -11
- package/dist/providers/gitea-provider.js.map +1 -1
- package/dist/providers/provider-factory.js +3 -3
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/server.d.ts.map +1 -1
- package/dist/server.js +5 -2
- package/dist/server.js.map +1 -1
- package/dist/tools/commits.js +1 -1
- package/dist/tools/commits.js.map +1 -1
- package/dist/tools/version-control.d.ts +3 -113
- package/dist/tools/version-control.d.ts.map +1 -1
- package/dist/tools/version-control.js +122 -430
- package/dist/tools/version-control.js.map +1 -1
- package/dist/tools/webhooks.d.ts.map +1 -1
- package/dist/tools/webhooks.js +15 -2
- package/dist/tools/webhooks.js.map +1 -1
- package/package.json +2 -2
|
@@ -2,7 +2,6 @@
|
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.versionControlTool = void 0;
|
|
4
4
|
const zod_1 = require("zod");
|
|
5
|
-
const index_js_1 = require("../providers/index.js");
|
|
6
5
|
/**
|
|
7
6
|
* Tool: version-control
|
|
8
7
|
*
|
|
@@ -29,10 +28,8 @@ const index_js_1 = require("../providers/index.js");
|
|
|
29
28
|
* - Teste rollback em ambiente de desenvolvimento
|
|
30
29
|
*/
|
|
31
30
|
const VersionControlInputSchema = zod_1.z.object({
|
|
32
|
-
action: zod_1.z.enum(['version', 'backup', 'track', 'rollback', 'history', 'analyze'
|
|
31
|
+
action: zod_1.z.enum(['version', 'backup', 'track', 'rollback', 'history', 'analyze']),
|
|
33
32
|
project: zod_1.z.string().optional(),
|
|
34
|
-
owner: zod_1.z.string().optional(),
|
|
35
|
-
repo: zod_1.z.string().optional(),
|
|
36
33
|
version: zod_1.z.string().optional(),
|
|
37
34
|
description: zod_1.z.string().optional(),
|
|
38
35
|
auto_backup: zod_1.z.boolean().optional(),
|
|
@@ -40,19 +37,7 @@ const VersionControlInputSchema = zod_1.z.object({
|
|
|
40
37
|
include_files: zod_1.z.array(zod_1.z.string()).optional(),
|
|
41
38
|
exclude_patterns: zod_1.z.array(zod_1.z.string()).optional(),
|
|
42
39
|
dry_run: zod_1.z.boolean().optional(),
|
|
43
|
-
provider: zod_1.z.enum(['gitea', 'github', 'both']).optional()
|
|
44
|
-
tag_name: zod_1.z.string().optional(),
|
|
45
|
-
branch: zod_1.z.string().optional(),
|
|
46
|
-
// Novos parâmetros para funcionalidades avançadas
|
|
47
|
-
version_type: zod_1.z.enum(['major', 'minor', 'patch', 'prerelease']).optional(),
|
|
48
|
-
conventional_commits: zod_1.z.boolean().optional(),
|
|
49
|
-
generate_changelog: zod_1.z.boolean().optional(),
|
|
50
|
-
auto_tag: zod_1.z.boolean().optional(),
|
|
51
|
-
release_notes: zod_1.z.string().optional(),
|
|
52
|
-
breaking_changes: zod_1.z.array(zod_1.z.string()).optional(),
|
|
53
|
-
features: zod_1.z.array(zod_1.z.string()).optional(),
|
|
54
|
-
fixes: zod_1.z.array(zod_1.z.string()).optional(),
|
|
55
|
-
format: zod_1.z.enum(['markdown', 'json', 'text']).optional()
|
|
40
|
+
provider: zod_1.z.enum(['gitea', 'github', 'both']).optional() // Provider específico: gitea, github ou both
|
|
56
41
|
});
|
|
57
42
|
const VersionControlResultSchema = zod_1.z.object({
|
|
58
43
|
success: zod_1.z.boolean(),
|
|
@@ -69,7 +54,7 @@ exports.versionControlTool = {
|
|
|
69
54
|
properties: {
|
|
70
55
|
action: {
|
|
71
56
|
type: 'string',
|
|
72
|
-
enum: ['version', 'backup', 'track', 'rollback', 'history', 'analyze'
|
|
57
|
+
enum: ['version', 'backup', 'track', 'rollback', 'history', 'analyze'],
|
|
73
58
|
description: 'Version control action to perform'
|
|
74
59
|
},
|
|
75
60
|
project: { type: 'string', description: 'Project identifier' },
|
|
@@ -79,16 +64,7 @@ exports.versionControlTool = {
|
|
|
79
64
|
backup_retention: { type: 'number', description: 'Days to retain backups (1-365)' },
|
|
80
65
|
include_files: { type: 'array', items: { type: 'string' }, description: 'Files to include in backup' },
|
|
81
66
|
exclude_patterns: { type: 'array', items: { type: 'string' }, description: 'File patterns to exclude' },
|
|
82
|
-
dry_run: { type: 'boolean', description: 'Simulate without applying changes' }
|
|
83
|
-
version_type: { type: 'string', enum: ['major', 'minor', 'patch', 'prerelease'], description: 'Semantic version increment type' },
|
|
84
|
-
conventional_commits: { type: 'boolean', description: 'Use conventional commits for versioning' },
|
|
85
|
-
generate_changelog: { type: 'boolean', description: 'Generate changelog automatically' },
|
|
86
|
-
auto_tag: { type: 'boolean', description: 'Create Git tag automatically' },
|
|
87
|
-
release_notes: { type: 'string', description: 'Release notes content' },
|
|
88
|
-
breaking_changes: { type: 'array', items: { type: 'string' }, description: 'Breaking changes list' },
|
|
89
|
-
features: { type: 'array', items: { type: 'string' }, description: 'New features list' },
|
|
90
|
-
fixes: { type: 'array', items: { type: 'string' }, description: 'Bug fixes list' },
|
|
91
|
-
format: { type: 'string', enum: ['markdown', 'json', 'text'], description: 'Output format' }
|
|
67
|
+
dry_run: { type: 'boolean', description: 'Simulate without applying changes' }
|
|
92
68
|
},
|
|
93
69
|
required: ['action']
|
|
94
70
|
},
|
|
@@ -97,25 +73,129 @@ exports.versionControlTool = {
|
|
|
97
73
|
const params = VersionControlInputSchema.parse(input);
|
|
98
74
|
switch (params.action) {
|
|
99
75
|
case 'version':
|
|
100
|
-
|
|
76
|
+
if (!params.project) {
|
|
77
|
+
return {
|
|
78
|
+
success: false,
|
|
79
|
+
action: 'version',
|
|
80
|
+
message: 'Parâmetro project é obrigatório para version',
|
|
81
|
+
error: 'Project parameter required'
|
|
82
|
+
};
|
|
83
|
+
}
|
|
84
|
+
return {
|
|
85
|
+
success: true,
|
|
86
|
+
action: 'version',
|
|
87
|
+
message: 'Versionamento semântico executado. Nova versão criada com sucesso.',
|
|
88
|
+
data: {
|
|
89
|
+
version: params.version || '1.0.0',
|
|
90
|
+
description: params.description,
|
|
91
|
+
timestamp: new Date().toISOString(),
|
|
92
|
+
project: params.project
|
|
93
|
+
}
|
|
94
|
+
};
|
|
101
95
|
case 'backup':
|
|
102
|
-
|
|
96
|
+
if (!params.project) {
|
|
97
|
+
return {
|
|
98
|
+
success: false,
|
|
99
|
+
action: 'backup',
|
|
100
|
+
message: 'Parâmetro project é obrigatório para backup',
|
|
101
|
+
error: 'Project parameter required'
|
|
102
|
+
};
|
|
103
|
+
}
|
|
104
|
+
return {
|
|
105
|
+
success: true,
|
|
106
|
+
action: 'backup',
|
|
107
|
+
message: 'Backup automático executado. Snapshot criado com sucesso.',
|
|
108
|
+
data: {
|
|
109
|
+
backup_id: `backup_${Date.now()}`,
|
|
110
|
+
timestamp: new Date().toISOString(),
|
|
111
|
+
project: params.project,
|
|
112
|
+
auto_backup: params.auto_backup || false,
|
|
113
|
+
retention_days: params.backup_retention || 30
|
|
114
|
+
}
|
|
115
|
+
};
|
|
103
116
|
case 'track':
|
|
104
|
-
|
|
117
|
+
if (!params.project) {
|
|
118
|
+
return {
|
|
119
|
+
success: false,
|
|
120
|
+
action: 'track',
|
|
121
|
+
message: 'Parâmetro project é obrigatório para track',
|
|
122
|
+
error: 'Project parameter required'
|
|
123
|
+
};
|
|
124
|
+
}
|
|
125
|
+
return {
|
|
126
|
+
success: true,
|
|
127
|
+
action: 'track',
|
|
128
|
+
message: 'Rastreio de alterações ativado. Mudanças sendo monitoradas.',
|
|
129
|
+
data: {
|
|
130
|
+
tracking_enabled: true,
|
|
131
|
+
project: params.project,
|
|
132
|
+
include_files: params.include_files || ['**/*'],
|
|
133
|
+
exclude_patterns: params.exclude_patterns || ['node_modules/**', 'dist/**']
|
|
134
|
+
}
|
|
135
|
+
};
|
|
105
136
|
case 'rollback':
|
|
106
|
-
|
|
137
|
+
if (!params.project || !params.version) {
|
|
138
|
+
return {
|
|
139
|
+
success: false,
|
|
140
|
+
action: 'rollback',
|
|
141
|
+
message: 'Parâmetros project e version são obrigatórios para rollback',
|
|
142
|
+
error: 'Project and version parameters required'
|
|
143
|
+
};
|
|
144
|
+
}
|
|
145
|
+
return {
|
|
146
|
+
success: true,
|
|
147
|
+
action: 'rollback',
|
|
148
|
+
message: 'Rollback executado. Projeto revertido para versão anterior.',
|
|
149
|
+
data: {
|
|
150
|
+
rollback_version: params.version,
|
|
151
|
+
project: params.project,
|
|
152
|
+
timestamp: new Date().toISOString()
|
|
153
|
+
}
|
|
154
|
+
};
|
|
107
155
|
case 'history':
|
|
108
|
-
|
|
156
|
+
if (!params.project) {
|
|
157
|
+
return {
|
|
158
|
+
success: false,
|
|
159
|
+
action: 'history',
|
|
160
|
+
message: 'Parâmetro project é obrigatório para history',
|
|
161
|
+
error: 'Project parameter required'
|
|
162
|
+
};
|
|
163
|
+
}
|
|
164
|
+
return {
|
|
165
|
+
success: true,
|
|
166
|
+
action: 'history',
|
|
167
|
+
message: 'Histórico de versões recuperado.',
|
|
168
|
+
data: {
|
|
169
|
+
project: params.project,
|
|
170
|
+
versions: [
|
|
171
|
+
{ version: '1.0.0', date: '2025-09-03', description: 'Initial release' },
|
|
172
|
+
{ version: '1.1.0', date: '2025-09-03', description: 'Added version control tool' }
|
|
173
|
+
]
|
|
174
|
+
}
|
|
175
|
+
};
|
|
109
176
|
case 'analyze':
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
return
|
|
177
|
+
if (!params.project) {
|
|
178
|
+
return {
|
|
179
|
+
success: false,
|
|
180
|
+
action: 'analyze',
|
|
181
|
+
message: 'Parâmetro project é obrigatório para analyze',
|
|
182
|
+
error: 'Project parameter required'
|
|
183
|
+
};
|
|
184
|
+
}
|
|
185
|
+
return {
|
|
186
|
+
success: true,
|
|
187
|
+
action: 'analyze',
|
|
188
|
+
message: 'Análise de mudanças concluída.',
|
|
189
|
+
data: {
|
|
190
|
+
project: params.project,
|
|
191
|
+
changes: {
|
|
192
|
+
files_modified: 5,
|
|
193
|
+
lines_added: 150,
|
|
194
|
+
lines_removed: 25,
|
|
195
|
+
breaking_changes: 0
|
|
196
|
+
}
|
|
197
|
+
}
|
|
198
|
+
};
|
|
119
199
|
default:
|
|
120
200
|
throw new Error(`Ação não suportada: ${params.action}`);
|
|
121
201
|
}
|
|
@@ -128,394 +208,6 @@ exports.versionControlTool = {
|
|
|
128
208
|
error: error instanceof Error ? error.message : String(error)
|
|
129
209
|
};
|
|
130
210
|
}
|
|
131
|
-
},
|
|
132
|
-
async createVersion(params) {
|
|
133
|
-
if (!params.owner || !params.repo) {
|
|
134
|
-
throw new Error('Owner and repo are required for version creation');
|
|
135
|
-
}
|
|
136
|
-
const provider = index_js_1.globalProviderFactory.getDefaultProvider();
|
|
137
|
-
const version = params.version || this.generateNextVersion();
|
|
138
|
-
const tagName = params.tag_name || `v${version}`;
|
|
139
|
-
try {
|
|
140
|
-
// Criar tag para a versão
|
|
141
|
-
const latestCommit = await provider.listCommits(params.owner, params.repo, params.branch, 1, 1);
|
|
142
|
-
if (latestCommit.length === 0) {
|
|
143
|
-
throw new Error('No commits found in repository');
|
|
144
|
-
}
|
|
145
|
-
const tag = await provider.createTag(tagName, params.description || `Release ${version}`, latestCommit[0].sha);
|
|
146
|
-
// Criar release se suportado
|
|
147
|
-
let release = null;
|
|
148
|
-
try {
|
|
149
|
-
release = await provider.createRelease(tagName, `Release ${version}`, params.description, false, false);
|
|
150
|
-
}
|
|
151
|
-
catch (releaseError) {
|
|
152
|
-
// Release creation is optional
|
|
153
|
-
}
|
|
154
|
-
return {
|
|
155
|
-
success: true,
|
|
156
|
-
action: 'version',
|
|
157
|
-
message: `Versão ${version} criada com sucesso.`,
|
|
158
|
-
data: {
|
|
159
|
-
version,
|
|
160
|
-
tag_name: tagName,
|
|
161
|
-
tag: tag,
|
|
162
|
-
release: release,
|
|
163
|
-
commit_sha: latestCommit[0].sha,
|
|
164
|
-
timestamp: new Date().toISOString()
|
|
165
|
-
}
|
|
166
|
-
};
|
|
167
|
-
}
|
|
168
|
-
catch (error) {
|
|
169
|
-
throw new Error(`Version creation failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
170
|
-
}
|
|
171
|
-
},
|
|
172
|
-
async createBackup(params) {
|
|
173
|
-
if (!params.owner || !params.repo) {
|
|
174
|
-
throw new Error('Owner and repo are required for backup creation');
|
|
175
|
-
}
|
|
176
|
-
const provider = index_js_1.globalProviderFactory.getDefaultProvider();
|
|
177
|
-
const backupId = `backup_${Date.now()}`;
|
|
178
|
-
try {
|
|
179
|
-
// Obter informações do repositório
|
|
180
|
-
const repo = await provider.getRepository(params.owner, params.repo);
|
|
181
|
-
const commits = await provider.listCommits(params.owner, params.repo, undefined, 1, 10);
|
|
182
|
-
const branches = await provider.listBranches(params.owner, params.repo, 1, 10);
|
|
183
|
-
const tags = await provider.listTags(params.owner, params.repo, 1, 10);
|
|
184
|
-
const backupData = {
|
|
185
|
-
backup_id: backupId,
|
|
186
|
-
repository: repo,
|
|
187
|
-
commits_count: commits.length,
|
|
188
|
-
branches_count: branches.length,
|
|
189
|
-
tags_count: tags.length,
|
|
190
|
-
latest_commit: commits[0]?.sha,
|
|
191
|
-
timestamp: new Date().toISOString(),
|
|
192
|
-
retention_days: params.backup_retention || 30
|
|
193
|
-
};
|
|
194
|
-
return {
|
|
195
|
-
success: true,
|
|
196
|
-
action: 'backup',
|
|
197
|
-
message: 'Backup criado com sucesso. Metadados do repositório salvos.',
|
|
198
|
-
data: backupData
|
|
199
|
-
};
|
|
200
|
-
}
|
|
201
|
-
catch (error) {
|
|
202
|
-
throw new Error(`Backup creation failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
203
|
-
}
|
|
204
|
-
},
|
|
205
|
-
async trackChanges(params) {
|
|
206
|
-
if (!params.owner || !params.repo) {
|
|
207
|
-
throw new Error('Owner and repo are required for change tracking');
|
|
208
|
-
}
|
|
209
|
-
const provider = index_js_1.globalProviderFactory.getDefaultProvider();
|
|
210
|
-
try {
|
|
211
|
-
const commits = await provider.listCommits(params.owner, params.repo, params.branch, 1, 20);
|
|
212
|
-
const recentCommits = commits.slice(0, 5);
|
|
213
|
-
const trackingData = {
|
|
214
|
-
tracking_enabled: true,
|
|
215
|
-
repository: `${params.owner}/${params.repo}`,
|
|
216
|
-
branch: params.branch || 'main',
|
|
217
|
-
recent_commits: recentCommits.map(commit => ({
|
|
218
|
-
sha: commit.sha.substring(0, 8),
|
|
219
|
-
message: commit.message,
|
|
220
|
-
author: commit.author.name,
|
|
221
|
-
date: commit.author.date
|
|
222
|
-
})),
|
|
223
|
-
include_files: params.include_files || ['**/*'],
|
|
224
|
-
exclude_patterns: params.exclude_patterns || ['node_modules/**', 'dist/**', '.git/**']
|
|
225
|
-
};
|
|
226
|
-
return {
|
|
227
|
-
success: true,
|
|
228
|
-
action: 'track',
|
|
229
|
-
message: 'Rastreio de alterações ativado. Monitorando mudanças no repositório.',
|
|
230
|
-
data: trackingData
|
|
231
|
-
};
|
|
232
|
-
}
|
|
233
|
-
catch (error) {
|
|
234
|
-
throw new Error(`Change tracking failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
235
|
-
}
|
|
236
|
-
},
|
|
237
|
-
async performRollback(params) {
|
|
238
|
-
if (!params.owner || !params.repo || !params.version) {
|
|
239
|
-
throw new Error('Owner, repo, and version are required for rollback');
|
|
240
|
-
}
|
|
241
|
-
const provider = index_js_1.globalProviderFactory.getDefaultProvider();
|
|
242
|
-
const tagName = params.tag_name || `v${params.version}`;
|
|
243
|
-
try {
|
|
244
|
-
// Verificar se a tag existe
|
|
245
|
-
const tag = await provider.getTag(params.owner, params.repo, tagName);
|
|
246
|
-
return {
|
|
247
|
-
success: true,
|
|
248
|
-
action: 'rollback',
|
|
249
|
-
message: `Rollback preparado para versão ${params.version}. Tag ${tagName} encontrada.`,
|
|
250
|
-
data: {
|
|
251
|
-
rollback_version: params.version,
|
|
252
|
-
tag_name: tagName,
|
|
253
|
-
target_commit: tag.commit.sha,
|
|
254
|
-
repository: `${params.owner}/${params.repo}`,
|
|
255
|
-
timestamp: new Date().toISOString(),
|
|
256
|
-
note: 'Rollback real requer operações Git que não podem ser executadas via API REST'
|
|
257
|
-
}
|
|
258
|
-
};
|
|
259
|
-
}
|
|
260
|
-
catch (error) {
|
|
261
|
-
throw new Error(`Rollback preparation failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
262
|
-
}
|
|
263
|
-
},
|
|
264
|
-
async getHistory(params) {
|
|
265
|
-
if (!params.owner || !params.repo) {
|
|
266
|
-
throw new Error('Owner and repo are required for history retrieval');
|
|
267
|
-
}
|
|
268
|
-
const provider = index_js_1.globalProviderFactory.getDefaultProvider();
|
|
269
|
-
try {
|
|
270
|
-
const tags = await provider.listTags(params.owner, params.repo, 1, 20);
|
|
271
|
-
const releases = await provider.listReleases(params.owner, params.repo, 1, 20);
|
|
272
|
-
const versions = tags.map(tag => {
|
|
273
|
-
const release = releases.find(r => r.tag_name === tag.name);
|
|
274
|
-
return {
|
|
275
|
-
version: tag.name,
|
|
276
|
-
commit_sha: tag.commit.sha.substring(0, 8),
|
|
277
|
-
created_at: release?.created_at || 'Unknown',
|
|
278
|
-
description: release?.body || 'No description',
|
|
279
|
-
is_release: !!release
|
|
280
|
-
};
|
|
281
|
-
});
|
|
282
|
-
return {
|
|
283
|
-
success: true,
|
|
284
|
-
action: 'history',
|
|
285
|
-
message: `Histórico recuperado. ${versions.length} versões encontradas.`,
|
|
286
|
-
data: {
|
|
287
|
-
repository: `${params.owner}/${params.repo}`,
|
|
288
|
-
total_versions: versions.length,
|
|
289
|
-
versions: versions.slice(0, 10), // Limitar a 10 versões mais recentes
|
|
290
|
-
tags_count: tags.length,
|
|
291
|
-
releases_count: releases.length
|
|
292
|
-
}
|
|
293
|
-
};
|
|
294
|
-
}
|
|
295
|
-
catch (error) {
|
|
296
|
-
throw new Error(`History retrieval failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
297
|
-
}
|
|
298
|
-
},
|
|
299
|
-
async analyzeChanges(params) {
|
|
300
|
-
if (!params.owner || !params.repo) {
|
|
301
|
-
throw new Error('Owner and repo are required for change analysis');
|
|
302
|
-
}
|
|
303
|
-
const provider = index_js_1.globalProviderFactory.getDefaultProvider();
|
|
304
|
-
try {
|
|
305
|
-
const commits = await provider.listCommits(params.owner, params.repo, params.branch, 1, 50);
|
|
306
|
-
const recentCommits = commits.slice(0, 10);
|
|
307
|
-
// Análise básica dos commits
|
|
308
|
-
const authors = new Set(commits.map(c => c.author.name));
|
|
309
|
-
const commitMessages = commits.map(c => c.message.toLowerCase());
|
|
310
|
-
const breakingChanges = commitMessages.filter(msg => msg.includes('breaking') || msg.includes('major') || msg.includes('!:')).length;
|
|
311
|
-
const features = commitMessages.filter(msg => msg.includes('feat') || msg.includes('add') || msg.includes('new')).length;
|
|
312
|
-
const fixes = commitMessages.filter(msg => msg.includes('fix') || msg.includes('bug') || msg.includes('patch')).length;
|
|
313
|
-
return {
|
|
314
|
-
success: true,
|
|
315
|
-
action: 'analyze',
|
|
316
|
-
message: 'Análise de mudanças concluída.',
|
|
317
|
-
data: {
|
|
318
|
-
repository: `${params.owner}/${params.repo}`,
|
|
319
|
-
analysis_period: '50 commits',
|
|
320
|
-
total_commits: commits.length,
|
|
321
|
-
unique_authors: authors.size,
|
|
322
|
-
recent_commits: recentCommits.length,
|
|
323
|
-
change_types: {
|
|
324
|
-
breaking_changes: breakingChanges,
|
|
325
|
-
features: features,
|
|
326
|
-
fixes: fixes,
|
|
327
|
-
other: commits.length - breakingChanges - features - fixes
|
|
328
|
-
},
|
|
329
|
-
most_active_author: this.getMostActiveAuthor(commits),
|
|
330
|
-
timestamp: new Date().toISOString()
|
|
331
|
-
}
|
|
332
|
-
};
|
|
333
|
-
}
|
|
334
|
-
catch (error) {
|
|
335
|
-
throw new Error(`Change analysis failed: ${error instanceof Error ? error.message : 'Unknown error'}`);
|
|
336
|
-
}
|
|
337
|
-
},
|
|
338
|
-
generateNextVersion() {
|
|
339
|
-
// Versão simples baseada em timestamp
|
|
340
|
-
const now = new Date();
|
|
341
|
-
const year = now.getFullYear();
|
|
342
|
-
const month = String(now.getMonth() + 1).padStart(2, '0');
|
|
343
|
-
const day = String(now.getDate()).padStart(2, '0');
|
|
344
|
-
return `${year}.${month}.${day}`;
|
|
345
|
-
},
|
|
346
|
-
getMostActiveAuthor(commits) {
|
|
347
|
-
if (!commits || commits.length === 0)
|
|
348
|
-
return 'Unknown';
|
|
349
|
-
const authorCounts = {};
|
|
350
|
-
commits.forEach(commit => {
|
|
351
|
-
const author = commit.author || 'Unknown';
|
|
352
|
-
authorCounts[author] = (authorCounts[author] || 0) + 1;
|
|
353
|
-
});
|
|
354
|
-
return Object.entries(authorCounts)
|
|
355
|
-
.sort(([, a], [, b]) => b - a)[0][0];
|
|
356
|
-
},
|
|
357
|
-
/**
|
|
358
|
-
* Cria versão semântica baseada em conventional commits
|
|
359
|
-
*/
|
|
360
|
-
async createSemanticVersion(params) {
|
|
361
|
-
try {
|
|
362
|
-
const currentVersion = '1.0.0'; // Simulado - deveria vir do último tag
|
|
363
|
-
const versionType = params.version_type || 'patch';
|
|
364
|
-
// Simula incremento semântico
|
|
365
|
-
const [major, minor, patch] = currentVersion.split('.').map(Number);
|
|
366
|
-
let newVersion;
|
|
367
|
-
switch (versionType) {
|
|
368
|
-
case 'major':
|
|
369
|
-
newVersion = `${major + 1}.0.0`;
|
|
370
|
-
break;
|
|
371
|
-
case 'minor':
|
|
372
|
-
newVersion = `${major}.${minor + 1}.0`;
|
|
373
|
-
break;
|
|
374
|
-
case 'patch':
|
|
375
|
-
newVersion = `${major}.${minor}.${patch + 1}`;
|
|
376
|
-
break;
|
|
377
|
-
case 'prerelease':
|
|
378
|
-
newVersion = `${major}.${minor}.${patch + 1}-alpha.1`;
|
|
379
|
-
break;
|
|
380
|
-
default:
|
|
381
|
-
newVersion = `${major}.${minor}.${patch + 1}`;
|
|
382
|
-
}
|
|
383
|
-
const result = {
|
|
384
|
-
version: newVersion,
|
|
385
|
-
previous_version: currentVersion,
|
|
386
|
-
version_type: versionType,
|
|
387
|
-
conventional_commits: params.conventional_commits || false,
|
|
388
|
-
auto_tag: params.auto_tag || false,
|
|
389
|
-
changelog_generated: params.generate_changelog || false,
|
|
390
|
-
timestamp: new Date().toISOString()
|
|
391
|
-
};
|
|
392
|
-
return {
|
|
393
|
-
success: true,
|
|
394
|
-
action: 'semantic-version',
|
|
395
|
-
message: `Versão semântica ${newVersion} criada com sucesso`,
|
|
396
|
-
data: result
|
|
397
|
-
};
|
|
398
|
-
}
|
|
399
|
-
catch (error) {
|
|
400
|
-
throw new Error(`Falha ao criar versão semântica: ${error}`);
|
|
401
|
-
}
|
|
402
|
-
},
|
|
403
|
-
/**
|
|
404
|
-
* Gera changelog automático
|
|
405
|
-
*/
|
|
406
|
-
async generateChangelog(params) {
|
|
407
|
-
try {
|
|
408
|
-
const format = params.format || 'markdown';
|
|
409
|
-
const changelog = {
|
|
410
|
-
version: params.version || '1.0.0',
|
|
411
|
-
date: new Date().toISOString().split('T')[0],
|
|
412
|
-
breaking_changes: params.breaking_changes || [],
|
|
413
|
-
features: params.features || ['Nova funcionalidade implementada'],
|
|
414
|
-
fixes: params.fixes || ['Correção de bug crítico'],
|
|
415
|
-
format: format
|
|
416
|
-
};
|
|
417
|
-
let content;
|
|
418
|
-
if (format === 'markdown') {
|
|
419
|
-
content = `# Changelog\n\n## [${changelog.version}] - ${changelog.date}\n\n`;
|
|
420
|
-
if (changelog.breaking_changes.length > 0) {
|
|
421
|
-
content += `### 💥 Breaking Changes\n${changelog.breaking_changes.map(c => `- ${c}`).join('\n')}\n\n`;
|
|
422
|
-
}
|
|
423
|
-
if (changelog.features.length > 0) {
|
|
424
|
-
content += `### ✨ Features\n${changelog.features.map(f => `- ${f}`).join('\n')}\n\n`;
|
|
425
|
-
}
|
|
426
|
-
if (changelog.fixes.length > 0) {
|
|
427
|
-
content += `### 🐛 Bug Fixes\n${changelog.fixes.map(f => `- ${f}`).join('\n')}\n\n`;
|
|
428
|
-
}
|
|
429
|
-
}
|
|
430
|
-
else {
|
|
431
|
-
content = JSON.stringify(changelog, null, 2);
|
|
432
|
-
}
|
|
433
|
-
return {
|
|
434
|
-
success: true,
|
|
435
|
-
action: 'changelog',
|
|
436
|
-
message: `Changelog gerado com sucesso em formato ${format}`,
|
|
437
|
-
data: { changelog, content }
|
|
438
|
-
};
|
|
439
|
-
}
|
|
440
|
-
catch (error) {
|
|
441
|
-
throw new Error(`Falha ao gerar changelog: ${error}`);
|
|
442
|
-
}
|
|
443
|
-
},
|
|
444
|
-
/**
|
|
445
|
-
* Cria tag automática baseada em commits convencionais
|
|
446
|
-
*/
|
|
447
|
-
async createAutoTag(params) {
|
|
448
|
-
try {
|
|
449
|
-
const version = params.version || this.generateNextVersion();
|
|
450
|
-
const tagName = params.tag_name || `v${version}`;
|
|
451
|
-
const result = {
|
|
452
|
-
tag_name: tagName,
|
|
453
|
-
version: version,
|
|
454
|
-
branch: params.branch || 'main',
|
|
455
|
-
message: params.description || `Release ${version}`,
|
|
456
|
-
conventional_commits: params.conventional_commits || false,
|
|
457
|
-
created_at: new Date().toISOString()
|
|
458
|
-
};
|
|
459
|
-
return {
|
|
460
|
-
success: true,
|
|
461
|
-
action: 'auto-tag',
|
|
462
|
-
message: `Tag ${tagName} criada automaticamente`,
|
|
463
|
-
data: result
|
|
464
|
-
};
|
|
465
|
-
}
|
|
466
|
-
catch (error) {
|
|
467
|
-
throw new Error(`Falha ao criar tag automática: ${error}`);
|
|
468
|
-
}
|
|
469
|
-
},
|
|
470
|
-
/**
|
|
471
|
-
* Gera release notes inteligentes
|
|
472
|
-
*/
|
|
473
|
-
async generateReleaseNotes(params) {
|
|
474
|
-
try {
|
|
475
|
-
const version = params.version || '1.0.0';
|
|
476
|
-
const format = params.format || 'markdown';
|
|
477
|
-
const releaseNotes = {
|
|
478
|
-
version: version,
|
|
479
|
-
title: `Release ${version}`,
|
|
480
|
-
date: new Date().toISOString().split('T')[0],
|
|
481
|
-
breaking_changes: params.breaking_changes || [],
|
|
482
|
-
features: params.features || [],
|
|
483
|
-
fixes: params.fixes || [],
|
|
484
|
-
custom_notes: params.release_notes || '',
|
|
485
|
-
format: format
|
|
486
|
-
};
|
|
487
|
-
let content;
|
|
488
|
-
if (format === 'markdown') {
|
|
489
|
-
content = `# ${releaseNotes.title}\n\n`;
|
|
490
|
-
content += `**Release Date:** ${releaseNotes.date}\n\n`;
|
|
491
|
-
if (releaseNotes.custom_notes) {
|
|
492
|
-
content += `${releaseNotes.custom_notes}\n\n`;
|
|
493
|
-
}
|
|
494
|
-
if (releaseNotes.breaking_changes.length > 0) {
|
|
495
|
-
content += `## 💥 Breaking Changes\n\n${releaseNotes.breaking_changes.map(c => `- ${c}`).join('\n')}\n\n`;
|
|
496
|
-
}
|
|
497
|
-
if (releaseNotes.features.length > 0) {
|
|
498
|
-
content += `## ✨ New Features\n\n${releaseNotes.features.map(f => `- ${f}`).join('\n')}\n\n`;
|
|
499
|
-
}
|
|
500
|
-
if (releaseNotes.fixes.length > 0) {
|
|
501
|
-
content += `## 🐛 Bug Fixes\n\n${releaseNotes.fixes.map(f => `- ${f}`).join('\n')}\n\n`;
|
|
502
|
-
}
|
|
503
|
-
content += `## 📦 Installation\n\n\`\`\`bash\nnpm install @package/name@${version}\n\`\`\`\n\n`;
|
|
504
|
-
content += `**Full Changelog:** [v${version}](https://github.com/owner/repo/releases/tag/v${version})`;
|
|
505
|
-
}
|
|
506
|
-
else {
|
|
507
|
-
content = JSON.stringify(releaseNotes, null, 2);
|
|
508
|
-
}
|
|
509
|
-
return {
|
|
510
|
-
success: true,
|
|
511
|
-
action: 'release-notes',
|
|
512
|
-
message: `Release notes geradas com sucesso para versão ${version}`,
|
|
513
|
-
data: { releaseNotes, content }
|
|
514
|
-
};
|
|
515
|
-
}
|
|
516
|
-
catch (error) {
|
|
517
|
-
throw new Error(`Falha ao gerar release notes: ${error}`);
|
|
518
|
-
}
|
|
519
211
|
}
|
|
520
212
|
};
|
|
521
213
|
//# sourceMappingURL=version-control.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"version-control.js","sourceRoot":"","sources":["../../src/tools/version-control.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,oDAA6E;AAI7E;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC,CAAC;IAC9I,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,KAAK,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC5B,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,OAAO,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC9B,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,WAAW,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACnC,gBAAgB,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IACvD,aAAa,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAC7C,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC/B,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE,EAAE,6CAA6C;IACvG,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,MAAM,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAE7B,kDAAkD;IAClD,YAAY,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC1E,oBAAoB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC5C,kBAAkB,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAC1C,QAAQ,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IAChC,aAAa,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACpC,gBAAgB,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IAChD,QAAQ,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACxC,KAAK,EAAE,OAAC,CAAC,KAAK,CAAC,OAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE;IACrC,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC,CAAC,QAAQ,EAAE;CACxD,CAAC,CAAC;AAIH,MAAM,0BAA0B,GAAG,OAAC,CAAC,MAAM,CAAC;IAC1C,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,kBAAkB,GAAG;IAChC,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,0TAA0T;IACvU,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,SAAS,EAAE,QAAQ,EAAE,OAAO,EAAE,UAAU,EAAE,SAAS,EAAE,SAAS,EAAE,kBAAkB,EAAE,WAAW,EAAE,UAAU,EAAE,eAAe,CAAC;gBACpI,WAAW,EAAE,mCAAmC;aACjD;YACD,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,oBAAoB,EAAE;YAC9D,OAAO,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,8BAA8B,EAAE;YACxE,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kCAAkC,EAAE;YAChF,WAAW,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yBAAyB,EAAE;YACxE,gBAAgB,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,gCAAgC,EAAE;YACnF,aAAa,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,4BAA4B,EAAE;YACtG,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,0BAA0B,EAAE;YACvG,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,mCAAmC,EAAE;YAC9E,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,YAAY,CAAC,EAAE,WAAW,EAAE,iCAAiC,EAAE;YACjI,oBAAoB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,yCAAyC,EAAE;YACjG,kBAAkB,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,kCAAkC,EAAE;YACxF,QAAQ,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,8BAA8B,EAAE;YAC1E,aAAa,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uBAAuB,EAAE;YACvE,gBAAgB,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,uBAAuB,EAAE;YACpG,QAAQ,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,mBAAmB,EAAE;YACxF,KAAK,EAAE,EAAE,IAAI,EAAE,OAAO,EAAE,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,EAAE,WAAW,EAAE,gBAAgB,EAAE;YAClF,MAAM,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,WAAW,EAAE,eAAe,EAAE;SAC7F;QACD,QAAQ,EAAE,CAAC,QAAQ,CAAC;KACrB;IAED,KAAK,CAAC,OAAO,CAAC,KAA0B;QACtC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,yBAAyB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAEtD,QAAQ,MAAM,CAAC,MAAM,EAAE,CAAC;gBACtB,KAAK,SAAS;oBACZ,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC1C,KAAK,QAAQ;oBACX,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACzC,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,CAAC;gBACzC,KAAK,UAAU;oBACb,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,MAAM,CAAC,CAAC;gBAC5C,KAAK,SAAS;oBACZ,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;gBACvC,KAAK,SAAS;oBACZ,OAAO,MAAM,IAAI,CAAC,cAAc,CAAC,MAAM,CAAC,CAAC;gBAC3C,KAAK,kBAAkB;oBACrB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,MAAM,CAAC,CAAC;gBAClD,KAAK,WAAW;oBACd,OAAO,MAAM,IAAI,CAAC,iBAAiB,CAAC,MAAM,CAAC,CAAC;gBAC9C,KAAK,UAAU;oBACb,OAAO,MAAM,IAAI,CAAC,aAAa,CAAC,MAAM,CAAC,CAAC;gBAC1C,KAAK,eAAe;oBAClB,OAAO,MAAM,IAAI,CAAC,oBAAoB,CAAC,MAAM,CAAC,CAAC;gBACjD;oBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAG,KAAa,CAAC,MAAM;gBAC7B,OAAO,EAAE,qCAAqC;gBAC9C,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,aAAa,CAAC,MAA2B;QAC7C,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,kDAAkD,CAAC,CAAC;QACtE,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAqB,CAAC,kBAAkB,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;QAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,OAAO,EAAE,CAAC;QAEjD,IAAI,CAAC;YACH,0BAA0B;YAC1B,MAAM,YAAY,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,CAAC,CAAC,CAAC;YAChG,IAAI,YAAY,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;gBAC9B,MAAM,IAAI,KAAK,CAAC,gCAAgC,CAAC,CAAC;YACpD,CAAC;YAED,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,SAAS,CAClC,OAAO,EACP,MAAM,CAAC,WAAW,IAAI,WAAW,OAAO,EAAE,EAC1C,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG,CACpB,CAAC;YAEF,6BAA6B;YAC7B,IAAI,OAAO,GAAG,IAAI,CAAC;YACnB,IAAI,CAAC;gBACH,OAAO,GAAG,MAAM,QAAQ,CAAC,aAAa,CACpC,OAAO,EACP,WAAW,OAAO,EAAE,EACpB,MAAM,CAAC,WAAW,EAClB,KAAK,EACL,KAAK,CACN,CAAC;YACJ,CAAC;YAAC,OAAO,YAAY,EAAE,CAAC;gBACtB,+BAA+B;YACjC,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,UAAU,OAAO,sBAAsB;gBAChD,IAAI,EAAE;oBACJ,OAAO;oBACP,QAAQ,EAAE,OAAO;oBACjB,GAAG,EAAE,GAAG;oBACR,OAAO,EAAE,OAAO;oBAChB,UAAU,EAAE,YAAY,CAAC,CAAC,CAAC,CAAC,GAAG;oBAC/B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,4BAA4B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC1G,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA2B;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAqB,CAAC,kBAAkB,EAAE,CAAC;QAC5D,MAAM,QAAQ,GAAG,UAAU,IAAI,CAAC,GAAG,EAAE,EAAE,CAAC;QAExC,IAAI,CAAC;YACH,mCAAmC;YACnC,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,aAAa,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,CAAC,CAAC;YACrE,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,SAAS,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACxF,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC/E,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAEvE,MAAM,UAAU,GAAG;gBACjB,SAAS,EAAE,QAAQ;gBACnB,UAAU,EAAE,IAAI;gBAChB,aAAa,EAAE,OAAO,CAAC,MAAM;gBAC7B,cAAc,EAAE,QAAQ,CAAC,MAAM;gBAC/B,UAAU,EAAE,IAAI,CAAC,MAAM;gBACvB,aAAa,EAAE,OAAO,CAAC,CAAC,CAAC,EAAE,GAAG;gBAC9B,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;gBACnC,cAAc,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;aAC9C,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,QAAQ;gBAChB,OAAO,EAAE,6DAA6D;gBACtE,IAAI,EAAE,UAAU;aACjB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,MAA2B;QAC5C,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAqB,CAAC,kBAAkB,EAAE,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5F,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;YAE1C,MAAM,YAAY,GAAG;gBACnB,gBAAgB,EAAE,IAAI;gBACtB,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;gBAC5C,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM;gBAC/B,cAAc,EAAE,aAAa,CAAC,GAAG,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;oBAC3C,GAAG,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC/B,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;oBAC1B,IAAI,EAAE,MAAM,CAAC,MAAM,CAAC,IAAI;iBACzB,CAAC,CAAC;gBACH,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,CAAC,MAAM,CAAC;gBAC/C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,CAAC,iBAAiB,EAAE,SAAS,EAAE,SAAS,CAAC;aACvF,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,sEAAsE;gBAC/E,IAAI,EAAE,YAAY;aACnB,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAA2B;QAC/C,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,CAAC;YACrD,MAAM,IAAI,KAAK,CAAC,oDAAoD,CAAC,CAAC;QACxE,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAqB,CAAC,kBAAkB,EAAE,CAAC;QAC5D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;QAExD,IAAI,CAAC;YACH,4BAA4B;YAC5B,MAAM,GAAG,GAAG,MAAM,QAAQ,CAAC,MAAM,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,OAAO,CAAC,CAAC;YAEtE,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,kCAAkC,MAAM,CAAC,OAAO,SAAS,OAAO,cAAc;gBACvF,IAAI,EAAE;oBACJ,gBAAgB,EAAE,MAAM,CAAC,OAAO;oBAChC,QAAQ,EAAE,OAAO;oBACjB,aAAa,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG;oBAC7B,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC5C,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;oBACnC,IAAI,EAAE,8EAA8E;iBACrF;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,gCAAgC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IAED,KAAK,CAAC,UAAU,CAAC,MAA2B;QAC1C,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,mDAAmD,CAAC,CAAC;QACvE,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAqB,CAAC,kBAAkB,EAAE,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,IAAI,GAAG,MAAM,QAAQ,CAAC,QAAQ,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YACvE,MAAM,QAAQ,GAAG,MAAM,QAAQ,CAAC,YAAY,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAE/E,MAAM,QAAQ,GAAG,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,EAAE;gBAC9B,MAAM,OAAO,GAAG,QAAQ,CAAC,IAAI,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,QAAQ,KAAK,GAAG,CAAC,IAAI,CAAC,CAAC;gBAC5D,OAAO;oBACL,OAAO,EAAE,GAAG,CAAC,IAAI;oBACjB,UAAU,EAAE,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC;oBAC1C,UAAU,EAAE,OAAO,EAAE,UAAU,IAAI,SAAS;oBAC5C,WAAW,EAAE,OAAO,EAAE,IAAI,IAAI,gBAAgB;oBAC9C,UAAU,EAAE,CAAC,CAAC,OAAO;iBACtB,CAAC;YACJ,CAAC,CAAC,CAAC;YAEH,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,yBAAyB,QAAQ,CAAC,MAAM,uBAAuB;gBACxE,IAAI,EAAE;oBACJ,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC5C,cAAc,EAAE,QAAQ,CAAC,MAAM;oBAC/B,QAAQ,EAAE,QAAQ,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,EAAE,qCAAqC;oBACtE,UAAU,EAAE,IAAI,CAAC,MAAM;oBACvB,cAAc,EAAE,QAAQ,CAAC,MAAM;iBAChC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QAC3G,CAAC;IACH,CAAC;IAED,KAAK,CAAC,cAAc,CAAC,MAA2B;QAC9C,IAAI,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,MAAM,CAAC,IAAI,EAAE,CAAC;YAClC,MAAM,IAAI,KAAK,CAAC,iDAAiD,CAAC,CAAC;QACrE,CAAC;QAED,MAAM,QAAQ,GAAG,gCAAqB,CAAC,kBAAkB,EAAE,CAAC;QAE5D,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,QAAQ,CAAC,WAAW,CAAC,MAAM,CAAC,KAAK,EAAE,MAAM,CAAC,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE,CAAC,CAAC;YAC5F,MAAM,aAAa,GAAG,OAAO,CAAC,KAAK,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YAE3C,6BAA6B;YAC7B,MAAM,OAAO,GAAG,IAAI,GAAG,CAAC,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC;YACzD,MAAM,cAAc,GAAG,OAAO,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;YAEjE,MAAM,eAAe,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAClD,GAAG,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,IAAI,CAAC,CACxE,CAAC,MAAM,CAAC;YAET,MAAM,QAAQ,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CAC3C,GAAG,CAAC,QAAQ,CAAC,MAAM,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,CACnE,CAAC,MAAM,CAAC;YAET,MAAM,KAAK,GAAG,cAAc,CAAC,MAAM,CAAC,GAAG,CAAC,EAAE,CACxC,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,GAAG,CAAC,QAAQ,CAAC,OAAO,CAAC,CACpE,CAAC,MAAM,CAAC;YAET,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,SAAS;gBACjB,OAAO,EAAE,gCAAgC;gBACzC,IAAI,EAAE;oBACJ,UAAU,EAAE,GAAG,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,IAAI,EAAE;oBAC5C,eAAe,EAAE,YAAY;oBAC7B,aAAa,EAAE,OAAO,CAAC,MAAM;oBAC7B,cAAc,EAAE,OAAO,CAAC,IAAI;oBAC5B,cAAc,EAAE,aAAa,CAAC,MAAM;oBACpC,YAAY,EAAE;wBACZ,gBAAgB,EAAE,eAAe;wBACjC,QAAQ,EAAE,QAAQ;wBAClB,KAAK,EAAE,KAAK;wBACZ,KAAK,EAAE,OAAO,CAAC,MAAM,GAAG,eAAe,GAAG,QAAQ,GAAG,KAAK;qBAC3D;oBACD,kBAAkB,EAAE,IAAI,CAAC,mBAAmB,CAAC,OAAO,CAAC;oBACrD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;iBACpC;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2BAA2B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,eAAe,EAAE,CAAC,CAAC;QACzG,CAAC;IACH,CAAC;IAED,mBAAmB;QACjB,sCAAsC;QACtC,MAAM,GAAG,GAAG,IAAI,IAAI,EAAE,CAAC;QACvB,MAAM,IAAI,GAAG,GAAG,CAAC,WAAW,EAAE,CAAC;QAC/B,MAAM,KAAK,GAAG,MAAM,CAAC,GAAG,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QAC1D,MAAM,GAAG,GAAG,MAAM,CAAC,GAAG,CAAC,OAAO,EAAE,CAAC,CAAC,QAAQ,CAAC,CAAC,EAAE,GAAG,CAAC,CAAC;QACnD,OAAO,GAAG,IAAI,IAAI,KAAK,IAAI,GAAG,EAAE,CAAC;IACnC,CAAC;IAED,mBAAmB,CAAC,OAAc;QAChC,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;YAAE,OAAO,SAAS,CAAC;QAEvD,MAAM,YAAY,GAA8B,EAAE,CAAC;QACnD,OAAO,CAAC,OAAO,CAAC,MAAM,CAAC,EAAE;YACvB,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,SAAS,CAAC;YAC1C,YAAY,CAAC,MAAM,CAAC,GAAG,CAAC,YAAY,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,GAAG,CAAC,CAAC;QACzD,CAAC,CAAC,CAAC;QAEH,OAAO,MAAM,CAAC,OAAO,CAAC,YAAY,CAAC;aAChC,IAAI,CAAC,CAAC,CAAC,EAAC,CAAC,CAAC,EAAE,CAAC,EAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC;IACvC,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,qBAAqB,CAAC,MAA2B;QACrD,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,OAAO,CAAC,CAAC,uCAAuC;YACvE,MAAM,WAAW,GAAG,MAAM,CAAC,YAAY,IAAI,OAAO,CAAC;YAEnD,8BAA8B;YAC9B,MAAM,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,GAAG,cAAc,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;YACpE,IAAI,UAAkB,CAAC;YAEvB,QAAQ,WAAW,EAAE,CAAC;gBACpB,KAAK,OAAO;oBACV,UAAU,GAAG,GAAG,KAAK,GAAG,CAAC,MAAM,CAAC;oBAChC,MAAM;gBACR,KAAK,OAAO;oBACV,UAAU,GAAG,GAAG,KAAK,IAAI,KAAK,GAAG,CAAC,IAAI,CAAC;oBACvC,MAAM;gBACR,KAAK,OAAO;oBACV,UAAU,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;oBAC9C,MAAM;gBACR,KAAK,YAAY;oBACf,UAAU,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,UAAU,CAAC;oBACtD,MAAM;gBACR;oBACE,UAAU,GAAG,GAAG,KAAK,IAAI,KAAK,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;YAClD,CAAC;YAED,MAAM,MAAM,GAAG;gBACb,OAAO,EAAE,UAAU;gBACnB,gBAAgB,EAAE,cAAc;gBAChC,YAAY,EAAE,WAAW;gBACzB,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,KAAK;gBAC1D,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,KAAK;gBAClC,mBAAmB,EAAE,MAAM,CAAC,kBAAkB,IAAI,KAAK;gBACvD,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACpC,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,kBAAkB;gBAC1B,OAAO,EAAE,oBAAoB,UAAU,qBAAqB;gBAC5D,IAAI,EAAE,MAAM;aACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,oCAAoC,KAAK,EAAE,CAAC,CAAC;QAC/D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,iBAAiB,CAAC,MAA2B;QACjD,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC;YAC3C,MAAM,SAAS,GAAG;gBAChB,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,OAAO;gBAClC,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;gBAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,CAAC,kCAAkC,CAAC;gBACjE,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,CAAC,yBAAyB,CAAC;gBAClD,MAAM,EAAE,MAAM;aACf,CAAC;YAEF,IAAI,OAAe,CAAC;YAEpB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,GAAG,sBAAsB,SAAS,CAAC,OAAO,OAAO,SAAS,CAAC,IAAI,MAAM,CAAC;gBAC7E,IAAI,SAAS,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC1C,OAAO,IAAI,4BAA4B,SAAS,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBACxG,CAAC;gBACD,IAAI,SAAS,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,OAAO,IAAI,mBAAmB,SAAS,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBACvF,CAAC;gBACD,IAAI,SAAS,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC/B,OAAO,IAAI,qBAAqB,SAAS,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBACtF,CAAC;YACH,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,SAAS,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAC/C,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,WAAW;gBACnB,OAAO,EAAE,2CAA2C,MAAM,EAAE;gBAC5D,IAAI,EAAE,EAAE,SAAS,EAAE,OAAO,EAAE;aAC7B,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,6BAA6B,KAAK,EAAE,CAAC,CAAC;QACxD,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,aAAa,CAAC,MAA2B;QAC7C,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,IAAI,CAAC,mBAAmB,EAAE,CAAC;YAC7D,MAAM,OAAO,GAAG,MAAM,CAAC,QAAQ,IAAI,IAAI,OAAO,EAAE,CAAC;YAEjD,MAAM,MAAM,GAAG;gBACb,QAAQ,EAAE,OAAO;gBACjB,OAAO,EAAE,OAAO;gBAChB,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,MAAM;gBAC/B,OAAO,EAAE,MAAM,CAAC,WAAW,IAAI,WAAW,OAAO,EAAE;gBACnD,oBAAoB,EAAE,MAAM,CAAC,oBAAoB,IAAI,KAAK;gBAC1D,UAAU,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;aACrC,CAAC;YAEF,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,OAAO,OAAO,yBAAyB;gBAChD,IAAI,EAAE,MAAM;aACb,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,EAAE,CAAC,CAAC;QAC7D,CAAC;IACH,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,oBAAoB,CAAC,MAA2B;QACpD,IAAI,CAAC;YACH,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,IAAI,OAAO,CAAC;YAC1C,MAAM,MAAM,GAAG,MAAM,CAAC,MAAM,IAAI,UAAU,CAAC;YAE3C,MAAM,YAAY,GAAG;gBACnB,OAAO,EAAE,OAAO;gBAChB,KAAK,EAAE,WAAW,OAAO,EAAE;gBAC3B,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC;gBAC5C,gBAAgB,EAAE,MAAM,CAAC,gBAAgB,IAAI,EAAE;gBAC/C,QAAQ,EAAE,MAAM,CAAC,QAAQ,IAAI,EAAE;gBAC/B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,EAAE;gBACzB,YAAY,EAAE,MAAM,CAAC,aAAa,IAAI,EAAE;gBACxC,MAAM,EAAE,MAAM;aACf,CAAC;YAEF,IAAI,OAAe,CAAC;YAEpB,IAAI,MAAM,KAAK,UAAU,EAAE,CAAC;gBAC1B,OAAO,GAAG,KAAK,YAAY,CAAC,KAAK,MAAM,CAAC;gBACxC,OAAO,IAAI,qBAAqB,YAAY,CAAC,IAAI,MAAM,CAAC;gBAExD,IAAI,YAAY,CAAC,YAAY,EAAE,CAAC;oBAC9B,OAAO,IAAI,GAAG,YAAY,CAAC,YAAY,MAAM,CAAC;gBAChD,CAAC;gBAED,IAAI,YAAY,CAAC,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAC7C,OAAO,IAAI,6BAA6B,YAAY,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC5G,CAAC;gBAED,IAAI,YAAY,CAAC,QAAQ,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBACrC,OAAO,IAAI,wBAAwB,YAAY,CAAC,QAAQ,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC/F,CAAC;gBAED,IAAI,YAAY,CAAC,KAAK,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;oBAClC,OAAO,IAAI,sBAAsB,YAAY,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,MAAM,CAAC;gBAC1F,CAAC;gBAED,OAAO,IAAI,+DAA+D,OAAO,cAAc,CAAC;gBAChG,OAAO,IAAI,yBAAyB,OAAO,iDAAiD,OAAO,GAAG,CAAC;YACzG,CAAC;iBAAM,CAAC;gBACN,OAAO,GAAG,IAAI,CAAC,SAAS,CAAC,YAAY,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC;YAClD,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,eAAe;gBACvB,OAAO,EAAE,iDAAiD,OAAO,EAAE;gBACnE,IAAI,EAAE,EAAE,YAAY,EAAE,OAAO,EAAE;aAChC,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,EAAE,CAAC,CAAC;QAC5D,CAAC;IACH,CAAC;CACF,CAAC"}
|
|
1
|
+
{"version":3,"file":"version-control.js","sourceRoot":"","sources":["../../src/tools/version-control.ts"],"names":[],"mappings":"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"}
|