@andrebuzeli/git-mcp 2.28.0 → 2.28.2
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/client.d.ts +306 -306
- package/dist/client.js +298 -298
- package/dist/config.d.ts +310 -310
- package/dist/config.js +392 -392
- package/dist/index.d.ts +22 -22
- package/dist/index.js +89 -89
- package/dist/providers/base-provider.d.ts +160 -160
- package/dist/providers/base-provider.js +274 -274
- package/dist/providers/error-handler.d.ts +50 -50
- package/dist/providers/error-handler.js +175 -175
- package/dist/providers/gitea-provider.d.ts +97 -97
- package/dist/providers/gitea-provider.d.ts.map +1 -1
- package/dist/providers/gitea-provider.js +1015 -1001
- package/dist/providers/gitea-provider.js.map +1 -1
- package/dist/providers/github-provider.d.ts +104 -104
- package/dist/providers/github-provider.d.ts.map +1 -1
- package/dist/providers/github-provider.js +1248 -1234
- package/dist/providers/github-provider.js.map +1 -1
- package/dist/providers/index.d.ts +12 -12
- package/dist/providers/index.js +40 -40
- package/dist/providers/provider-factory.d.ts +74 -74
- package/dist/providers/provider-factory.d.ts.map +1 -1
- package/dist/providers/provider-factory.js +318 -311
- package/dist/providers/provider-factory.js.map +1 -1
- package/dist/providers/types.d.ts +318 -318
- package/dist/providers/types.js +6 -6
- package/dist/server.d.ts +76 -76
- package/dist/server.js +306 -306
- package/dist/tools/git-archive.d.ts +165 -165
- package/dist/tools/git-archive.js +233 -233
- package/dist/tools/git-branches.d.ts +430 -430
- package/dist/tools/git-branches.js +627 -627
- package/dist/tools/git-commits.d.ts +485 -485
- package/dist/tools/git-commits.js +735 -735
- package/dist/tools/git-commits.js.map +1 -1
- package/dist/tools/git-config.d.ts +140 -140
- package/dist/tools/git-config.js +268 -268
- package/dist/tools/git-files.d.ts +486 -486
- package/dist/tools/git-files.js +607 -607
- package/dist/tools/git-files.js.map +1 -1
- package/dist/tools/git-issues.d.ts +574 -571
- package/dist/tools/git-issues.d.ts.map +1 -1
- package/dist/tools/git-issues.js +741 -740
- package/dist/tools/git-issues.js.map +1 -1
- package/dist/tools/git-pulls.d.ts +697 -694
- package/dist/tools/git-pulls.d.ts.map +1 -1
- package/dist/tools/git-pulls.js +733 -732
- package/dist/tools/git-pulls.js.map +1 -1
- package/dist/tools/git-releases.d.ts +490 -487
- package/dist/tools/git-releases.d.ts.map +1 -1
- package/dist/tools/git-releases.js +558 -557
- package/dist/tools/git-releases.js.map +1 -1
- package/dist/tools/git-remote.d.ts +138 -138
- package/dist/tools/git-remote.js +274 -274
- package/dist/tools/git-repositories.d.ts +483 -483
- package/dist/tools/git-repositories.js +640 -640
- package/dist/tools/git-repositories.js.map +1 -1
- package/dist/tools/git-reset.d.ts +130 -130
- package/dist/tools/git-reset.js +223 -223
- package/dist/tools/git-revert.d.ts +149 -149
- package/dist/tools/git-revert.js +198 -198
- package/dist/tools/git-stash.d.ts +140 -140
- package/dist/tools/git-stash.js +269 -269
- package/dist/tools/git-sync.d.ts +178 -178
- package/dist/tools/git-sync.js +312 -312
- package/dist/tools/git-tags.d.ts +414 -411
- package/dist/tools/git-tags.d.ts.map +1 -1
- package/dist/tools/git-tags.js +486 -485
- package/dist/tools/git-tags.js.map +1 -1
- package/dist/tools/git-webhooks.d.ts +473 -470
- package/dist/tools/git-webhooks.d.ts.map +1 -1
- package/dist/tools/git-webhooks.js +544 -543
- package/dist/tools/git-webhooks.js.map +1 -1
- package/dist/utils/terminal-controller.d.ts +80 -80
- package/dist/utils/terminal-controller.js +345 -345
- package/dist/utils/user-detection.d.ts +24 -24
- package/dist/utils/user-detection.js +53 -53
- package/package.json +2 -2
- package/dist/tools/gh-actions.d.ts +0 -253
- package/dist/tools/gh-actions.d.ts.map +0 -1
- package/dist/tools/gh-actions.js +0 -390
- package/dist/tools/gh-actions.js.map +0 -1
- package/dist/tools/gh-analytics.d.ts +0 -264
- package/dist/tools/gh-analytics.d.ts.map +0 -1
- package/dist/tools/gh-analytics.js +0 -402
- package/dist/tools/gh-analytics.js.map +0 -1
- package/dist/tools/gh-code-review.d.ts +0 -305
- package/dist/tools/gh-code-review.d.ts.map +0 -1
- package/dist/tools/gh-code-review.js +0 -513
- package/dist/tools/gh-code-review.js.map +0 -1
- package/dist/tools/gh-codespaces.d.ts +0 -139
- package/dist/tools/gh-codespaces.d.ts.map +0 -1
- package/dist/tools/gh-codespaces.js +0 -283
- package/dist/tools/gh-codespaces.js.map +0 -1
- package/dist/tools/gh-deployments.d.ts +0 -301
- package/dist/tools/gh-deployments.d.ts.map +0 -1
- package/dist/tools/gh-deployments.js +0 -368
- package/dist/tools/gh-deployments.js.map +0 -1
- package/dist/tools/gh-gists.d.ts +0 -175
- package/dist/tools/gh-gists.d.ts.map +0 -1
- package/dist/tools/gh-gists.js +0 -322
- package/dist/tools/gh-gists.js.map +0 -1
- package/dist/tools/gh-projects.d.ts +0 -206
- package/dist/tools/gh-projects.d.ts.map +0 -1
- package/dist/tools/gh-projects.js +0 -359
- package/dist/tools/gh-projects.js.map +0 -1
- package/dist/tools/gh-security.d.ts +0 -275
- package/dist/tools/gh-security.d.ts.map +0 -1
- package/dist/tools/gh-security.js +0 -396
- package/dist/tools/gh-security.js.map +0 -1
- package/dist/tools/gh-sync.d.ts +0 -214
- package/dist/tools/gh-sync.d.ts.map +0 -1
- package/dist/tools/gh-sync.js +0 -379
- package/dist/tools/gh-sync.js.map +0 -1
- package/dist/tools/gh-workflows.d.ts +0 -291
- package/dist/tools/gh-workflows.d.ts.map +0 -1
- package/dist/tools/gh-workflows.js +0 -433
- package/dist/tools/gh-workflows.js.map +0 -1
- package/dist/tools/git-bundle.d.ts +0 -172
- package/dist/tools/git-bundle.d.ts.map +0 -1
- package/dist/tools/git-bundle.js +0 -242
- package/dist/tools/git-bundle.js.map +0 -1
- package/dist/tools/git-cherry-pick.d.ts +0 -159
- package/dist/tools/git-cherry-pick.d.ts.map +0 -1
- package/dist/tools/git-cherry-pick.js +0 -225
- package/dist/tools/git-cherry-pick.js.map +0 -1
- package/dist/tools/git-rebase.d.ts +0 -138
- package/dist/tools/git-rebase.d.ts.map +0 -1
- package/dist/tools/git-rebase.js +0 -214
- package/dist/tools/git-rebase.js.map +0 -1
- package/dist/tools/git-submodule.d.ts +0 -153
- package/dist/tools/git-submodule.d.ts.map +0 -1
- package/dist/tools/git-submodule.js +0 -290
- package/dist/tools/git-submodule.js.map +0 -1
- package/dist/tools/git-worktree.d.ts +0 -160
- package/dist/tools/git-worktree.d.ts.map +0 -1
- package/dist/tools/git-worktree.js +0 -270
- package/dist/tools/git-worktree.js.map +0 -1
- package/dist/tools/repositories.d.ts +0 -406
- package/dist/tools/repositories.d.ts.map +0 -1
- package/dist/tools/repositories.js +0 -570
- package/dist/tools/repositories.js.map +0 -1
- package/dist/tools/users.d.ts +0 -373
- package/dist/tools/users.d.ts.map +0 -1
- package/dist/tools/users.js +0 -500
- package/dist/tools/users.js.map +0 -1
- package/dist/tools/validator.d.ts +0 -171
- package/dist/tools/validator.d.ts.map +0 -1
- package/dist/tools/validator.js +0 -195
- package/dist/tools/validator.js.map +0 -1
- package/dist/tools/version-control.d.ts +0 -137
- package/dist/tools/version-control.d.ts.map +0 -1
- package/dist/tools/version-control.js +0 -165
- package/dist/tools/version-control.js.map +0 -1
package/dist/tools/git-bundle.js
DELETED
|
@@ -1,242 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.gitBundleTool = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const terminal_controller_js_1 = require("../utils/terminal-controller.js");
|
|
6
|
-
/**
|
|
7
|
-
* Tool: git-bundle
|
|
8
|
-
*
|
|
9
|
-
* DESCRIÇÃO:
|
|
10
|
-
* Gerenciamento de bundles Git (GitHub + Gitea) com múltiplas ações
|
|
11
|
-
*
|
|
12
|
-
* FUNCIONALIDADES:
|
|
13
|
-
* - Criar bundle
|
|
14
|
-
* - Verificar bundle
|
|
15
|
-
* - Listar heads do bundle
|
|
16
|
-
* - Unbundle
|
|
17
|
-
* - Criar bundle incremental
|
|
18
|
-
* - Criar bundle com tags
|
|
19
|
-
*
|
|
20
|
-
* USO:
|
|
21
|
-
* - Para transferir repositórios offline
|
|
22
|
-
* - Para backup completo de repositórios
|
|
23
|
-
* - Para sincronização sem rede
|
|
24
|
-
* - Para distribuição de código
|
|
25
|
-
*
|
|
26
|
-
* RECOMENDAÇÕES:
|
|
27
|
-
* - Use para transferências offline
|
|
28
|
-
* - Inclua tags quando necessário
|
|
29
|
-
* - Verifique bundles antes de usar
|
|
30
|
-
*/
|
|
31
|
-
const GitBundleInputSchema = zod_1.z.object({
|
|
32
|
-
action: zod_1.z.enum(['create', 'verify', 'list-heads', 'unbundle']),
|
|
33
|
-
// owner: obtido automaticamente do provider,
|
|
34
|
-
repo: zod_1.z.string(),
|
|
35
|
-
provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'),
|
|
36
|
-
projectPath: zod_1.z.string().describe('Local project path for git operations'),
|
|
37
|
-
// Para create
|
|
38
|
-
bundle_file: zod_1.z.string().optional(),
|
|
39
|
-
commit_range: zod_1.z.string().optional(),
|
|
40
|
-
branch_name: zod_1.z.string().optional(),
|
|
41
|
-
// Para verify
|
|
42
|
-
verify_bundle: zod_1.z.string().optional(),
|
|
43
|
-
// Para list-heads
|
|
44
|
-
list_bundle: zod_1.z.string().optional(),
|
|
45
|
-
// Para unbundle
|
|
46
|
-
unbundle_file: zod_1.z.string().optional(),
|
|
47
|
-
unbundle_path: zod_1.z.string().optional(),
|
|
48
|
-
// Opções
|
|
49
|
-
all_branches: zod_1.z.boolean().optional(),
|
|
50
|
-
all_tags: zod_1.z.boolean().optional(),
|
|
51
|
-
all_remotes: zod_1.z.boolean().optional(),
|
|
52
|
-
});
|
|
53
|
-
const GitBundleResultSchema = zod_1.z.object({
|
|
54
|
-
success: zod_1.z.boolean(),
|
|
55
|
-
action: zod_1.z.string(),
|
|
56
|
-
message: zod_1.z.string(),
|
|
57
|
-
data: zod_1.z.any().optional(),
|
|
58
|
-
error: zod_1.z.string().optional()
|
|
59
|
-
});
|
|
60
|
-
exports.gitBundleTool = {
|
|
61
|
-
name: 'git-bundle',
|
|
62
|
-
description: 'tool: Gerencia bundles Git para transferência offline de repositórios\n──────────────\naction create: cria bundle do repositório\naction create requires: repo, provider, projectPath, bundle_file, commit_range, branch_name, all_branches, all_tags, all_remotes\n───────────────\naction verify: verifica integridade do bundle\naction verify requires: repo, provider, projectPath, verify_bundle\n───────────────\naction list-heads: lista heads do bundle\naction list-heads requires: repo, provider, projectPath, list_bundle\n───────────────\naction unbundle: extrai bundle para repositório\naction unbundle requires: repo, provider, projectPath, unbundle_file, unbundle_path',
|
|
63
|
-
inputSchema: {
|
|
64
|
-
type: 'object',
|
|
65
|
-
properties: {
|
|
66
|
-
action: {
|
|
67
|
-
type: 'string',
|
|
68
|
-
enum: ['create', 'verify', 'list-heads', 'unbundle'],
|
|
69
|
-
description: 'Action to perform on bundles'
|
|
70
|
-
},
|
|
71
|
-
owner: { type: 'string', description: 'Repository owner' },
|
|
72
|
-
repo: { type: 'string', description: 'Repository name' },
|
|
73
|
-
provider: { type: 'string', enum: ['gitea', 'github'], description: 'Provider to use (gitea or github)' },
|
|
74
|
-
projectPath: { type: 'string', description: 'Local project path for git operations' },
|
|
75
|
-
bundle_file: { type: 'string', description: 'Bundle file path' },
|
|
76
|
-
commit_range: { type: 'string', description: 'Commit range for bundle' },
|
|
77
|
-
branch_name: { type: 'string', description: 'Branch name for bundle' },
|
|
78
|
-
verify_bundle: { type: 'string', description: 'Bundle file to verify' },
|
|
79
|
-
list_bundle: { type: 'string', description: 'Bundle file to list heads' },
|
|
80
|
-
unbundle_file: { type: 'string', description: 'Bundle file to unbundle' },
|
|
81
|
-
unbundle_path: { type: 'string', description: 'Path to unbundle to' },
|
|
82
|
-
all_branches: { type: 'boolean', description: 'Include all branches' },
|
|
83
|
-
all_tags: { type: 'boolean', description: 'Include all tags' },
|
|
84
|
-
all_remotes: { type: 'boolean', description: 'Include all remotes' }
|
|
85
|
-
},
|
|
86
|
-
required: ['action', 'repo', 'provider', 'projectPath']
|
|
87
|
-
},
|
|
88
|
-
async handler(input) {
|
|
89
|
-
try {
|
|
90
|
-
const validatedInput = GitBundleInputSchema.parse(input);
|
|
91
|
-
switch (validatedInput.action) {
|
|
92
|
-
case 'create':
|
|
93
|
-
return await this.create(validatedInput);
|
|
94
|
-
case 'verify':
|
|
95
|
-
return await this.verify(validatedInput);
|
|
96
|
-
case 'list-heads':
|
|
97
|
-
return await this.listHeads(validatedInput);
|
|
98
|
-
case 'unbundle':
|
|
99
|
-
return await this.unbundle(validatedInput);
|
|
100
|
-
default:
|
|
101
|
-
throw new Error(`Ação não suportada: ${validatedInput.action}`);
|
|
102
|
-
}
|
|
103
|
-
}
|
|
104
|
-
catch (error) {
|
|
105
|
-
return {
|
|
106
|
-
success: false,
|
|
107
|
-
action: input.action,
|
|
108
|
-
message: 'Erro na operação de bundle',
|
|
109
|
-
error: error instanceof Error ? error.message : String(error)
|
|
110
|
-
};
|
|
111
|
-
}
|
|
112
|
-
},
|
|
113
|
-
async create(params) {
|
|
114
|
-
try {
|
|
115
|
-
if (!params.bundle_file) {
|
|
116
|
-
throw new Error('bundle_file é obrigatório para create');
|
|
117
|
-
}
|
|
118
|
-
let gitCommand = `bundle create ${params.bundle_file}`;
|
|
119
|
-
if (params.all_branches) {
|
|
120
|
-
gitCommand += ' --all';
|
|
121
|
-
}
|
|
122
|
-
else if (params.all_tags) {
|
|
123
|
-
gitCommand += ' --all-tags';
|
|
124
|
-
}
|
|
125
|
-
else if (params.all_remotes) {
|
|
126
|
-
gitCommand += ' --all-remotes';
|
|
127
|
-
}
|
|
128
|
-
else if (params.commit_range) {
|
|
129
|
-
gitCommand += ` ${params.commit_range}`;
|
|
130
|
-
}
|
|
131
|
-
else if (params.branch_name) {
|
|
132
|
-
gitCommand += ` ${params.branch_name}`;
|
|
133
|
-
}
|
|
134
|
-
else {
|
|
135
|
-
gitCommand += ' HEAD';
|
|
136
|
-
}
|
|
137
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Criando bundle');
|
|
138
|
-
if (result.exitCode !== 0) {
|
|
139
|
-
throw new Error(`Falha ao criar bundle: ${result.output}`);
|
|
140
|
-
}
|
|
141
|
-
return {
|
|
142
|
-
success: true,
|
|
143
|
-
action: 'create',
|
|
144
|
-
message: `Bundle criado com sucesso: ${params.bundle_file}`,
|
|
145
|
-
data: {
|
|
146
|
-
bundle_file: params.bundle_file,
|
|
147
|
-
commit_range: params.commit_range,
|
|
148
|
-
branch_name: params.branch_name,
|
|
149
|
-
all_branches: params.all_branches,
|
|
150
|
-
all_tags: params.all_tags,
|
|
151
|
-
all_remotes: params.all_remotes,
|
|
152
|
-
output: result.output
|
|
153
|
-
}
|
|
154
|
-
};
|
|
155
|
-
}
|
|
156
|
-
catch (error) {
|
|
157
|
-
throw new Error(`Falha ao criar bundle: ${error instanceof Error ? error.message : String(error)}`);
|
|
158
|
-
}
|
|
159
|
-
},
|
|
160
|
-
async verify(params) {
|
|
161
|
-
try {
|
|
162
|
-
if (!params.verify_bundle) {
|
|
163
|
-
throw new Error('verify_bundle é obrigatório para verify');
|
|
164
|
-
}
|
|
165
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(`bundle verify ${params.verify_bundle}`, params.projectPath, 'Verificando bundle');
|
|
166
|
-
const isValid = result.exitCode === 0;
|
|
167
|
-
return {
|
|
168
|
-
success: true,
|
|
169
|
-
action: 'verify',
|
|
170
|
-
message: `Bundle ${isValid ? 'válido' : 'inválido'}: ${params.verify_bundle}`,
|
|
171
|
-
data: {
|
|
172
|
-
bundle: params.verify_bundle,
|
|
173
|
-
valid: isValid,
|
|
174
|
-
output: result.output
|
|
175
|
-
}
|
|
176
|
-
};
|
|
177
|
-
}
|
|
178
|
-
catch (error) {
|
|
179
|
-
throw new Error(`Falha ao verificar bundle: ${error instanceof Error ? error.message : String(error)}`);
|
|
180
|
-
}
|
|
181
|
-
},
|
|
182
|
-
async listHeads(params) {
|
|
183
|
-
try {
|
|
184
|
-
if (!params.list_bundle) {
|
|
185
|
-
throw new Error('list_bundle é obrigatório para list-heads');
|
|
186
|
-
}
|
|
187
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(`bundle list-heads ${params.list_bundle}`, params.projectPath, 'Listando heads do bundle');
|
|
188
|
-
if (result.exitCode !== 0) {
|
|
189
|
-
throw new Error(`Falha ao listar heads do bundle: ${result.output}`);
|
|
190
|
-
}
|
|
191
|
-
const heads = result.output.split('\n')
|
|
192
|
-
.filter((line) => line.trim())
|
|
193
|
-
.map((line) => {
|
|
194
|
-
const parts = line.trim().split(' ');
|
|
195
|
-
return {
|
|
196
|
-
commit: parts[0],
|
|
197
|
-
ref: parts[1] || 'HEAD'
|
|
198
|
-
};
|
|
199
|
-
});
|
|
200
|
-
return {
|
|
201
|
-
success: true,
|
|
202
|
-
action: 'list-heads',
|
|
203
|
-
message: `Heads do bundle listados com sucesso: ${params.list_bundle}`,
|
|
204
|
-
data: {
|
|
205
|
-
bundle: params.list_bundle,
|
|
206
|
-
heads,
|
|
207
|
-
output: result.output
|
|
208
|
-
}
|
|
209
|
-
};
|
|
210
|
-
}
|
|
211
|
-
catch (error) {
|
|
212
|
-
throw new Error(`Falha ao listar heads do bundle: ${error instanceof Error ? error.message : String(error)}`);
|
|
213
|
-
}
|
|
214
|
-
},
|
|
215
|
-
async unbundle(params) {
|
|
216
|
-
try {
|
|
217
|
-
if (!params.unbundle_file) {
|
|
218
|
-
throw new Error('unbundle_file é obrigatório para unbundle');
|
|
219
|
-
}
|
|
220
|
-
const unbundlePath = params.unbundle_path || params.projectPath;
|
|
221
|
-
const gitCommand = `bundle unbundle ${params.unbundle_file}`;
|
|
222
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, unbundlePath, 'Unbundling bundle');
|
|
223
|
-
if (result.exitCode !== 0) {
|
|
224
|
-
throw new Error(`Falha ao unbundle: ${result.output}`);
|
|
225
|
-
}
|
|
226
|
-
return {
|
|
227
|
-
success: true,
|
|
228
|
-
action: 'unbundle',
|
|
229
|
-
message: `Bundle unbundled com sucesso: ${params.unbundle_file}`,
|
|
230
|
-
data: {
|
|
231
|
-
bundle_file: params.unbundle_file,
|
|
232
|
-
unbundle_path: unbundlePath,
|
|
233
|
-
output: result.output
|
|
234
|
-
}
|
|
235
|
-
};
|
|
236
|
-
}
|
|
237
|
-
catch (error) {
|
|
238
|
-
throw new Error(`Falha ao unbundle: ${error instanceof Error ? error.message : String(error)}`);
|
|
239
|
-
}
|
|
240
|
-
}
|
|
241
|
-
};
|
|
242
|
-
//# sourceMappingURL=git-bundle.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-bundle.js","sourceRoot":"","sources":["../../src/tools/git-bundle.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,159 +0,0 @@
|
|
|
1
|
-
import { z } from 'zod';
|
|
2
|
-
/**
|
|
3
|
-
* Tool: git-cherry-pick
|
|
4
|
-
*
|
|
5
|
-
* DESCRIÇÃO:
|
|
6
|
-
* Gerenciamento de cherry-pick Git (GitHub + Gitea) com múltiplas ações
|
|
7
|
-
*
|
|
8
|
-
* FUNCIONALIDADES:
|
|
9
|
-
* - Cherry-pick commit específico
|
|
10
|
-
* - Cherry-pick range de commits
|
|
11
|
-
* - Abortar cherry-pick
|
|
12
|
-
* - Continuar cherry-pick
|
|
13
|
-
* - Cherry-pick sem commit
|
|
14
|
-
* - Cherry-pick com estratégia
|
|
15
|
-
*
|
|
16
|
-
* USO:
|
|
17
|
-
* - Para aplicar commits específicos
|
|
18
|
-
* - Para portar correções entre branches
|
|
19
|
-
* - Para selecionar mudanças específicas
|
|
20
|
-
* - Para manter histórico limpo
|
|
21
|
-
*
|
|
22
|
-
* RECOMENDAÇÕES:
|
|
23
|
-
* - Use para commits pequenos e focados
|
|
24
|
-
* - Teste antes de aplicar em produção
|
|
25
|
-
* - Documente commits cherry-picked
|
|
26
|
-
*/
|
|
27
|
-
declare const GitCherryPickInputSchema: z.ZodObject<{
|
|
28
|
-
action: z.ZodEnum<["cherry-pick", "cherry-pick-range", "abort", "continue"]>;
|
|
29
|
-
repo: z.ZodString;
|
|
30
|
-
provider: z.ZodEnum<["gitea", "github"]>;
|
|
31
|
-
projectPath: z.ZodString;
|
|
32
|
-
commit_hash: z.ZodOptional<z.ZodString>;
|
|
33
|
-
commit_range: z.ZodOptional<z.ZodString>;
|
|
34
|
-
start_commit: z.ZodOptional<z.ZodString>;
|
|
35
|
-
end_commit: z.ZodOptional<z.ZodString>;
|
|
36
|
-
no_commit: z.ZodOptional<z.ZodBoolean>;
|
|
37
|
-
strategy: z.ZodOptional<z.ZodEnum<["ours", "theirs"]>>;
|
|
38
|
-
mainline: z.ZodOptional<z.ZodNumber>;
|
|
39
|
-
signoff: z.ZodOptional<z.ZodBoolean>;
|
|
40
|
-
}, "strip", z.ZodTypeAny, {
|
|
41
|
-
provider: "gitea" | "github";
|
|
42
|
-
repo: string;
|
|
43
|
-
action: "cherry-pick" | "abort" | "continue" | "cherry-pick-range";
|
|
44
|
-
projectPath: string;
|
|
45
|
-
commit_range?: string | undefined;
|
|
46
|
-
commit_hash?: string | undefined;
|
|
47
|
-
no_commit?: boolean | undefined;
|
|
48
|
-
mainline?: number | undefined;
|
|
49
|
-
strategy?: "ours" | "theirs" | undefined;
|
|
50
|
-
start_commit?: string | undefined;
|
|
51
|
-
end_commit?: string | undefined;
|
|
52
|
-
signoff?: boolean | undefined;
|
|
53
|
-
}, {
|
|
54
|
-
provider: "gitea" | "github";
|
|
55
|
-
repo: string;
|
|
56
|
-
action: "cherry-pick" | "abort" | "continue" | "cherry-pick-range";
|
|
57
|
-
projectPath: string;
|
|
58
|
-
commit_range?: string | undefined;
|
|
59
|
-
commit_hash?: string | undefined;
|
|
60
|
-
no_commit?: boolean | undefined;
|
|
61
|
-
mainline?: number | undefined;
|
|
62
|
-
strategy?: "ours" | "theirs" | undefined;
|
|
63
|
-
start_commit?: string | undefined;
|
|
64
|
-
end_commit?: string | undefined;
|
|
65
|
-
signoff?: boolean | undefined;
|
|
66
|
-
}>;
|
|
67
|
-
export type GitCherryPickInput = z.infer<typeof GitCherryPickInputSchema>;
|
|
68
|
-
declare const GitCherryPickResultSchema: z.ZodObject<{
|
|
69
|
-
success: z.ZodBoolean;
|
|
70
|
-
action: z.ZodString;
|
|
71
|
-
message: z.ZodString;
|
|
72
|
-
data: z.ZodOptional<z.ZodAny>;
|
|
73
|
-
error: z.ZodOptional<z.ZodString>;
|
|
74
|
-
}, "strip", z.ZodTypeAny, {
|
|
75
|
-
message: string;
|
|
76
|
-
action: string;
|
|
77
|
-
success: boolean;
|
|
78
|
-
error?: string | undefined;
|
|
79
|
-
data?: any;
|
|
80
|
-
}, {
|
|
81
|
-
message: string;
|
|
82
|
-
action: string;
|
|
83
|
-
success: boolean;
|
|
84
|
-
error?: string | undefined;
|
|
85
|
-
data?: any;
|
|
86
|
-
}>;
|
|
87
|
-
export type GitCherryPickResult = z.infer<typeof GitCherryPickResultSchema>;
|
|
88
|
-
export declare const gitCherryPickTool: {
|
|
89
|
-
name: string;
|
|
90
|
-
description: string;
|
|
91
|
-
inputSchema: {
|
|
92
|
-
type: string;
|
|
93
|
-
properties: {
|
|
94
|
-
action: {
|
|
95
|
-
type: string;
|
|
96
|
-
enum: string[];
|
|
97
|
-
description: string;
|
|
98
|
-
};
|
|
99
|
-
owner: {
|
|
100
|
-
type: string;
|
|
101
|
-
description: string;
|
|
102
|
-
};
|
|
103
|
-
repo: {
|
|
104
|
-
type: string;
|
|
105
|
-
description: string;
|
|
106
|
-
};
|
|
107
|
-
provider: {
|
|
108
|
-
type: string;
|
|
109
|
-
enum: string[];
|
|
110
|
-
description: string;
|
|
111
|
-
};
|
|
112
|
-
projectPath: {
|
|
113
|
-
type: string;
|
|
114
|
-
description: string;
|
|
115
|
-
};
|
|
116
|
-
commit_hash: {
|
|
117
|
-
type: string;
|
|
118
|
-
description: string;
|
|
119
|
-
};
|
|
120
|
-
commit_range: {
|
|
121
|
-
type: string;
|
|
122
|
-
description: string;
|
|
123
|
-
};
|
|
124
|
-
start_commit: {
|
|
125
|
-
type: string;
|
|
126
|
-
description: string;
|
|
127
|
-
};
|
|
128
|
-
end_commit: {
|
|
129
|
-
type: string;
|
|
130
|
-
description: string;
|
|
131
|
-
};
|
|
132
|
-
no_commit: {
|
|
133
|
-
type: string;
|
|
134
|
-
description: string;
|
|
135
|
-
};
|
|
136
|
-
strategy: {
|
|
137
|
-
type: string;
|
|
138
|
-
enum: string[];
|
|
139
|
-
description: string;
|
|
140
|
-
};
|
|
141
|
-
mainline: {
|
|
142
|
-
type: string;
|
|
143
|
-
description: string;
|
|
144
|
-
};
|
|
145
|
-
signoff: {
|
|
146
|
-
type: string;
|
|
147
|
-
description: string;
|
|
148
|
-
};
|
|
149
|
-
};
|
|
150
|
-
required: string[];
|
|
151
|
-
};
|
|
152
|
-
handler(input: GitCherryPickInput): Promise<GitCherryPickResult>;
|
|
153
|
-
cherryPick(params: GitCherryPickInput): Promise<GitCherryPickResult>;
|
|
154
|
-
cherryPickRange(params: GitCherryPickInput): Promise<GitCherryPickResult>;
|
|
155
|
-
abort(params: GitCherryPickInput): Promise<GitCherryPickResult>;
|
|
156
|
-
continue(params: GitCherryPickInput): Promise<GitCherryPickResult>;
|
|
157
|
-
};
|
|
158
|
-
export {};
|
|
159
|
-
//# sourceMappingURL=git-cherry-pick.d.ts.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-cherry-pick.d.ts","sourceRoot":"","sources":["../../src/tools/git-cherry-pick.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,QAAA,MAAM,wBAAwB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAoB5B,CAAC;AAEH,MAAM,MAAM,kBAAkB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,wBAAwB,CAAC,CAAC;AAE1E,QAAA,MAAM,yBAAyB;;;;;;;;;;;;;;;;;;EAM7B,CAAC;AAEH,MAAM,MAAM,mBAAmB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAE5E,eAAO,MAAM,iBAAiB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;mBA2BP,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;uBA0B7C,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;4BAoD5C,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;kBAgD3D,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;qBA0B9C,kBAAkB,GAAG,OAAO,CAAC,mBAAmB,CAAC;CAyBzE,CAAC"}
|
|
@@ -1,225 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.gitCherryPickTool = void 0;
|
|
4
|
-
const zod_1 = require("zod");
|
|
5
|
-
const terminal_controller_js_1 = require("../utils/terminal-controller.js");
|
|
6
|
-
/**
|
|
7
|
-
* Tool: git-cherry-pick
|
|
8
|
-
*
|
|
9
|
-
* DESCRIÇÃO:
|
|
10
|
-
* Gerenciamento de cherry-pick Git (GitHub + Gitea) com múltiplas ações
|
|
11
|
-
*
|
|
12
|
-
* FUNCIONALIDADES:
|
|
13
|
-
* - Cherry-pick commit específico
|
|
14
|
-
* - Cherry-pick range de commits
|
|
15
|
-
* - Abortar cherry-pick
|
|
16
|
-
* - Continuar cherry-pick
|
|
17
|
-
* - Cherry-pick sem commit
|
|
18
|
-
* - Cherry-pick com estratégia
|
|
19
|
-
*
|
|
20
|
-
* USO:
|
|
21
|
-
* - Para aplicar commits específicos
|
|
22
|
-
* - Para portar correções entre branches
|
|
23
|
-
* - Para selecionar mudanças específicas
|
|
24
|
-
* - Para manter histórico limpo
|
|
25
|
-
*
|
|
26
|
-
* RECOMENDAÇÕES:
|
|
27
|
-
* - Use para commits pequenos e focados
|
|
28
|
-
* - Teste antes de aplicar em produção
|
|
29
|
-
* - Documente commits cherry-picked
|
|
30
|
-
*/
|
|
31
|
-
const GitCherryPickInputSchema = zod_1.z.object({
|
|
32
|
-
action: zod_1.z.enum(['cherry-pick', 'cherry-pick-range', 'abort', 'continue']),
|
|
33
|
-
// owner: obtido automaticamente do provider,
|
|
34
|
-
repo: zod_1.z.string(),
|
|
35
|
-
provider: zod_1.z.enum(['gitea', 'github']).describe('Provider to use (gitea or github)'),
|
|
36
|
-
projectPath: zod_1.z.string().describe('Local project path for git operations'),
|
|
37
|
-
// Para cherry-pick
|
|
38
|
-
commit_hash: zod_1.z.string().optional(),
|
|
39
|
-
commit_range: zod_1.z.string().optional(),
|
|
40
|
-
// Para cherry-pick-range
|
|
41
|
-
start_commit: zod_1.z.string().optional(),
|
|
42
|
-
end_commit: zod_1.z.string().optional(),
|
|
43
|
-
// Opções
|
|
44
|
-
no_commit: zod_1.z.boolean().optional(),
|
|
45
|
-
strategy: zod_1.z.enum(['ours', 'theirs']).optional(),
|
|
46
|
-
mainline: zod_1.z.number().optional(),
|
|
47
|
-
signoff: zod_1.z.boolean().optional(),
|
|
48
|
-
});
|
|
49
|
-
const GitCherryPickResultSchema = zod_1.z.object({
|
|
50
|
-
success: zod_1.z.boolean(),
|
|
51
|
-
action: zod_1.z.string(),
|
|
52
|
-
message: zod_1.z.string(),
|
|
53
|
-
data: zod_1.z.any().optional(),
|
|
54
|
-
error: zod_1.z.string().optional()
|
|
55
|
-
});
|
|
56
|
-
exports.gitCherryPickTool = {
|
|
57
|
-
name: 'git-cherry-pick',
|
|
58
|
-
description: 'tool: Gerencia operações Git cherry-pick para aplicar commits específicos\n──────────────\naction cherry-pick: aplica commit específico\naction cherry-pick requires: repo, provider, projectPath, commit_hash, no_commit, strategy, mainline, signoff\n───────────────\naction cherry-pick-range: aplica range de commits\naction cherry-pick-range requires: repo, provider, projectPath, commit_range, start_commit, end_commit, no_commit, strategy, signoff\n───────────────\naction abort: aborta cherry-pick em andamento\naction abort requires: repo, provider, projectPath\n───────────────\naction continue: continua cherry-pick pausado\naction continue requires: repo, provider, projectPath',
|
|
59
|
-
inputSchema: {
|
|
60
|
-
type: 'object',
|
|
61
|
-
properties: {
|
|
62
|
-
action: {
|
|
63
|
-
type: 'string',
|
|
64
|
-
enum: ['cherry-pick', 'cherry-pick-range', 'abort', 'continue'],
|
|
65
|
-
description: 'Action to perform on cherry-pick'
|
|
66
|
-
},
|
|
67
|
-
owner: { type: 'string', description: 'Repository owner' },
|
|
68
|
-
repo: { type: 'string', description: 'Repository name' },
|
|
69
|
-
provider: { type: 'string', enum: ['gitea', 'github'], description: 'Provider to use (gitea or github)' },
|
|
70
|
-
projectPath: { type: 'string', description: 'Local project path for git operations' },
|
|
71
|
-
commit_hash: { type: 'string', description: 'Commit hash to cherry-pick' },
|
|
72
|
-
commit_range: { type: 'string', description: 'Commit range to cherry-pick' },
|
|
73
|
-
start_commit: { type: 'string', description: 'Start commit for range' },
|
|
74
|
-
end_commit: { type: 'string', description: 'End commit for range' },
|
|
75
|
-
no_commit: { type: 'boolean', description: 'Do not commit automatically' },
|
|
76
|
-
strategy: { type: 'string', enum: ['ours', 'theirs'], description: 'Cherry-pick strategy' },
|
|
77
|
-
mainline: { type: 'number', description: 'Mainline for merge commits' },
|
|
78
|
-
signoff: { type: 'boolean', description: 'Add signoff to commit' }
|
|
79
|
-
},
|
|
80
|
-
required: ['action', 'repo', 'provider', 'projectPath']
|
|
81
|
-
},
|
|
82
|
-
async handler(input) {
|
|
83
|
-
try {
|
|
84
|
-
const validatedInput = GitCherryPickInputSchema.parse(input);
|
|
85
|
-
switch (validatedInput.action) {
|
|
86
|
-
case 'cherry-pick':
|
|
87
|
-
return await this.cherryPick(validatedInput);
|
|
88
|
-
case 'cherry-pick-range':
|
|
89
|
-
return await this.cherryPickRange(validatedInput);
|
|
90
|
-
case 'abort':
|
|
91
|
-
return await this.abort(validatedInput);
|
|
92
|
-
case 'continue':
|
|
93
|
-
return await this.continue(validatedInput);
|
|
94
|
-
default:
|
|
95
|
-
throw new Error(`Ação não suportada: ${validatedInput.action}`);
|
|
96
|
-
}
|
|
97
|
-
}
|
|
98
|
-
catch (error) {
|
|
99
|
-
return {
|
|
100
|
-
success: false,
|
|
101
|
-
action: input.action,
|
|
102
|
-
message: 'Erro na operação de cherry-pick',
|
|
103
|
-
error: error instanceof Error ? error.message : String(error)
|
|
104
|
-
};
|
|
105
|
-
}
|
|
106
|
-
},
|
|
107
|
-
async cherryPick(params) {
|
|
108
|
-
try {
|
|
109
|
-
if (!params.commit_hash) {
|
|
110
|
-
throw new Error('commit_hash é obrigatório para cherry-pick');
|
|
111
|
-
}
|
|
112
|
-
let gitCommand = `cherry-pick ${params.commit_hash}`;
|
|
113
|
-
if (params.no_commit) {
|
|
114
|
-
gitCommand += ' --no-commit';
|
|
115
|
-
}
|
|
116
|
-
if (params.strategy) {
|
|
117
|
-
gitCommand += ` -X ${params.strategy}`;
|
|
118
|
-
}
|
|
119
|
-
if (params.mainline) {
|
|
120
|
-
gitCommand += ` -m ${params.mainline}`;
|
|
121
|
-
}
|
|
122
|
-
if (params.signoff) {
|
|
123
|
-
gitCommand += ' --signoff';
|
|
124
|
-
}
|
|
125
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando cherry-pick');
|
|
126
|
-
if (result.exitCode !== 0) {
|
|
127
|
-
throw new Error(`Falha no cherry-pick: ${result.output}`);
|
|
128
|
-
}
|
|
129
|
-
return {
|
|
130
|
-
success: true,
|
|
131
|
-
action: 'cherry-pick',
|
|
132
|
-
message: `Commit ${params.commit_hash} cherry-picked com sucesso`,
|
|
133
|
-
data: {
|
|
134
|
-
commit_hash: params.commit_hash,
|
|
135
|
-
no_commit: params.no_commit,
|
|
136
|
-
strategy: params.strategy,
|
|
137
|
-
mainline: params.mainline,
|
|
138
|
-
signoff: params.signoff,
|
|
139
|
-
output: result.output
|
|
140
|
-
}
|
|
141
|
-
};
|
|
142
|
-
}
|
|
143
|
-
catch (error) {
|
|
144
|
-
throw new Error(`Falha ao executar cherry-pick: ${error instanceof Error ? error.message : String(error)}`);
|
|
145
|
-
}
|
|
146
|
-
},
|
|
147
|
-
async cherryPickRange(params) {
|
|
148
|
-
try {
|
|
149
|
-
if (!params.start_commit || !params.end_commit) {
|
|
150
|
-
throw new Error('start_commit e end_commit são obrigatórios para cherry-pick-range');
|
|
151
|
-
}
|
|
152
|
-
let gitCommand = `cherry-pick ${params.start_commit}..${params.end_commit}`;
|
|
153
|
-
if (params.no_commit) {
|
|
154
|
-
gitCommand += ' --no-commit';
|
|
155
|
-
}
|
|
156
|
-
if (params.strategy) {
|
|
157
|
-
gitCommand += ` -X ${params.strategy}`;
|
|
158
|
-
}
|
|
159
|
-
if (params.signoff) {
|
|
160
|
-
gitCommand += ' --signoff';
|
|
161
|
-
}
|
|
162
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(gitCommand, params.projectPath, 'Executando cherry-pick de range');
|
|
163
|
-
if (result.exitCode !== 0) {
|
|
164
|
-
throw new Error(`Falha no cherry-pick de range: ${result.output}`);
|
|
165
|
-
}
|
|
166
|
-
return {
|
|
167
|
-
success: true,
|
|
168
|
-
action: 'cherry-pick-range',
|
|
169
|
-
message: `Range ${params.start_commit}..${params.end_commit} cherry-picked com sucesso`,
|
|
170
|
-
data: {
|
|
171
|
-
start_commit: params.start_commit,
|
|
172
|
-
end_commit: params.end_commit,
|
|
173
|
-
no_commit: params.no_commit,
|
|
174
|
-
strategy: params.strategy,
|
|
175
|
-
signoff: params.signoff,
|
|
176
|
-
output: result.output
|
|
177
|
-
}
|
|
178
|
-
};
|
|
179
|
-
}
|
|
180
|
-
catch (error) {
|
|
181
|
-
throw new Error(`Falha ao executar cherry-pick de range: ${error instanceof Error ? error.message : String(error)}`);
|
|
182
|
-
}
|
|
183
|
-
},
|
|
184
|
-
async abort(params) {
|
|
185
|
-
try {
|
|
186
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(`cherry-pick --abort`, params.projectPath, 'Abortando cherry-pick');
|
|
187
|
-
if (result.exitCode !== 0) {
|
|
188
|
-
throw new Error(`Falha ao abortar cherry-pick: ${result.output}`);
|
|
189
|
-
}
|
|
190
|
-
return {
|
|
191
|
-
success: true,
|
|
192
|
-
action: 'abort',
|
|
193
|
-
message: 'Cherry-pick abortado com sucesso',
|
|
194
|
-
data: {
|
|
195
|
-
aborted: true,
|
|
196
|
-
output: result.output
|
|
197
|
-
}
|
|
198
|
-
};
|
|
199
|
-
}
|
|
200
|
-
catch (error) {
|
|
201
|
-
throw new Error(`Falha ao abortar cherry-pick: ${error instanceof Error ? error.message : String(error)}`);
|
|
202
|
-
}
|
|
203
|
-
},
|
|
204
|
-
async continue(params) {
|
|
205
|
-
try {
|
|
206
|
-
const result = await (0, terminal_controller_js_1.runGitCommand)(`cherry-pick --continue`, params.projectPath, 'Continuando cherry-pick');
|
|
207
|
-
if (result.exitCode !== 0) {
|
|
208
|
-
throw new Error(`Falha ao continuar cherry-pick: ${result.output}`);
|
|
209
|
-
}
|
|
210
|
-
return {
|
|
211
|
-
success: true,
|
|
212
|
-
action: 'continue',
|
|
213
|
-
message: 'Cherry-pick continuado com sucesso',
|
|
214
|
-
data: {
|
|
215
|
-
continued: true,
|
|
216
|
-
output: result.output
|
|
217
|
-
}
|
|
218
|
-
};
|
|
219
|
-
}
|
|
220
|
-
catch (error) {
|
|
221
|
-
throw new Error(`Falha ao continuar cherry-pick: ${error instanceof Error ? error.message : String(error)}`);
|
|
222
|
-
}
|
|
223
|
-
}
|
|
224
|
-
};
|
|
225
|
-
//# sourceMappingURL=git-cherry-pick.js.map
|
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"git-cherry-pick.js","sourceRoot":"","sources":["../../src/tools/git-cherry-pick.ts"],"names":[],"mappings":";;;AAAA,6BAAwB;AACxB,4EAAgE;AAEhE;;;;;;;;;;;;;;;;;;;;;;;;GAwBG;AAEH,MAAM,wBAAwB,GAAG,OAAC,CAAC,MAAM,CAAC;IACxC,MAAM,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,aAAa,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,CAAC,CAAC;IACzE,6CAA6C;IAC7C,IAAI,EAAE,OAAC,CAAC,MAAM,EAAE;IAChB,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,CAAC,mCAAmC,CAAC;IACnF,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,uCAAuC,CAAC;IAEzE,mBAAmB;IACnB,WAAW,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAClC,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEnC,yBAAyB;IACzB,YAAY,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IACnC,UAAU,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAEjC,SAAS;IACT,SAAS,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;IACjC,QAAQ,EAAE,OAAC,CAAC,IAAI,CAAC,CAAC,MAAM,EAAE,QAAQ,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC/C,QAAQ,EAAE,OAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC/B,OAAO,EAAE,OAAC,CAAC,OAAO,EAAE,CAAC,QAAQ,EAAE;CAChC,CAAC,CAAC;AAIH,MAAM,yBAAyB,GAAG,OAAC,CAAC,MAAM,CAAC;IACzC,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,iBAAiB,GAAG;IAC/B,IAAI,EAAE,iBAAiB;IACvB,WAAW,EAAE,6qBAA6qB;IAC1rB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ;QACd,UAAU,EAAE;YACV,MAAM,EAAE;gBACN,IAAI,EAAE,QAAQ;gBACd,IAAI,EAAE,CAAC,aAAa,EAAE,mBAAmB,EAAE,OAAO,EAAE,UAAU,CAAC;gBAC/D,WAAW,EAAE,kCAAkC;aAChD;YACD,KAAK,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,kBAAkB,EAAE;YAC1D,IAAI,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,iBAAiB,EAAE;YACxD,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,OAAO,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,mCAAmC,EAAE;YACzG,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,uCAAuC,EAAE;YACrF,WAAW,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;YAC1E,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC5E,YAAY,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,wBAAwB,EAAE;YACvE,UAAU,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,sBAAsB,EAAE;YACnE,SAAS,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,6BAA6B,EAAE;YAC1E,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC,MAAM,EAAE,QAAQ,CAAC,EAAE,WAAW,EAAE,sBAAsB,EAAE;YAC3F,QAAQ,EAAE,EAAE,IAAI,EAAE,QAAQ,EAAE,WAAW,EAAE,4BAA4B,EAAE;YACvE,OAAO,EAAE,EAAE,IAAI,EAAE,SAAS,EAAE,WAAW,EAAE,uBAAuB,EAAE;SACnE;QACD,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,EAAE,UAAU,EAAE,aAAa,CAAC;KACxD;IAED,KAAK,CAAC,OAAO,CAAC,KAAyB;QACrC,IAAI,CAAC;YACH,MAAM,cAAc,GAAG,wBAAwB,CAAC,KAAK,CAAC,KAAK,CAAC,CAAC;YAE7D,QAAQ,cAAc,CAAC,MAAM,EAAE,CAAC;gBAC9B,KAAK,aAAa;oBAChB,OAAO,MAAM,IAAI,CAAC,UAAU,CAAC,cAAc,CAAC,CAAC;gBAC/C,KAAK,mBAAmB;oBACtB,OAAO,MAAM,IAAI,CAAC,eAAe,CAAC,cAAc,CAAC,CAAC;gBACpD,KAAK,OAAO;oBACV,OAAO,MAAM,IAAI,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC;gBAC1C,KAAK,UAAU;oBACb,OAAO,MAAM,IAAI,CAAC,QAAQ,CAAC,cAAc,CAAC,CAAC;gBAC7C;oBACE,MAAM,IAAI,KAAK,CAAC,uBAAuB,cAAc,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,CAAC;QACH,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,OAAO;gBACL,OAAO,EAAE,KAAK;gBACd,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,OAAO,EAAE,iCAAiC;gBAC1C,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,UAAU,CAAC,MAA0B;QACzC,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,WAAW,EAAE,CAAC;gBACxB,MAAM,IAAI,KAAK,CAAC,4CAA4C,CAAC,CAAC;YAChE,CAAC;YAED,IAAI,UAAU,GAAG,eAAe,MAAM,CAAC,WAAW,EAAE,CAAC;YAErD,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,UAAU,IAAI,cAAc,CAAC;YAC/B,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,IAAI,YAAY,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAa,EAChC,UAAU,EACV,MAAM,CAAC,WAAW,EAClB,wBAAwB,CACzB,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,yBAAyB,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YAC5D,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,aAAa;gBACrB,OAAO,EAAE,UAAU,MAAM,CAAC,WAAW,4BAA4B;gBACjE,IAAI,EAAE;oBACJ,WAAW,EAAE,MAAM,CAAC,WAAW;oBAC/B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,kCAAkC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC9G,CAAC;IACH,CAAC;IAED,KAAK,CAAC,eAAe,CAAC,MAA0B;QAC9C,IAAI,CAAC;YACH,IAAI,CAAC,MAAM,CAAC,YAAY,IAAI,CAAC,MAAM,CAAC,UAAU,EAAE,CAAC;gBAC/C,MAAM,IAAI,KAAK,CAAC,mEAAmE,CAAC,CAAC;YACvF,CAAC;YAED,IAAI,UAAU,GAAG,eAAe,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,UAAU,EAAE,CAAC;YAE5E,IAAI,MAAM,CAAC,SAAS,EAAE,CAAC;gBACrB,UAAU,IAAI,cAAc,CAAC;YAC/B,CAAC;YAED,IAAI,MAAM,CAAC,QAAQ,EAAE,CAAC;gBACpB,UAAU,IAAI,OAAO,MAAM,CAAC,QAAQ,EAAE,CAAC;YACzC,CAAC;YAED,IAAI,MAAM,CAAC,OAAO,EAAE,CAAC;gBACnB,UAAU,IAAI,YAAY,CAAC;YAC7B,CAAC;YAED,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAa,EAChC,UAAU,EACV,MAAM,CAAC,WAAW,EAClB,iCAAiC,CAClC,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,kCAAkC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACrE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,mBAAmB;gBAC3B,OAAO,EAAE,SAAS,MAAM,CAAC,YAAY,KAAK,MAAM,CAAC,UAAU,4BAA4B;gBACvF,IAAI,EAAE;oBACJ,YAAY,EAAE,MAAM,CAAC,YAAY;oBACjC,UAAU,EAAE,MAAM,CAAC,UAAU;oBAC7B,SAAS,EAAE,MAAM,CAAC,SAAS;oBAC3B,QAAQ,EAAE,MAAM,CAAC,QAAQ;oBACzB,OAAO,EAAE,MAAM,CAAC,OAAO;oBACvB,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,2CAA2C,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QACvH,CAAC;IACH,CAAC;IAED,KAAK,CAAC,KAAK,CAAC,MAA0B;QACpC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAa,EAChC,qBAAqB,EACrB,MAAM,CAAC,WAAW,EAClB,uBAAuB,CACxB,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,iCAAiC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACpE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,OAAO;gBACf,OAAO,EAAE,kCAAkC;gBAC3C,IAAI,EAAE;oBACJ,OAAO,EAAE,IAAI;oBACb,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,iCAAiC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC7G,CAAC;IACH,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,MAA0B;QACvC,IAAI,CAAC;YACH,MAAM,MAAM,GAAG,MAAM,IAAA,sCAAa,EAChC,wBAAwB,EACxB,MAAM,CAAC,WAAW,EAClB,yBAAyB,CAC1B,CAAC;YAEF,IAAI,MAAM,CAAC,QAAQ,KAAK,CAAC,EAAE,CAAC;gBAC1B,MAAM,IAAI,KAAK,CAAC,mCAAmC,MAAM,CAAC,MAAM,EAAE,CAAC,CAAC;YACtE,CAAC;YAED,OAAO;gBACL,OAAO,EAAE,IAAI;gBACb,MAAM,EAAE,UAAU;gBAClB,OAAO,EAAE,oCAAoC;gBAC7C,IAAI,EAAE;oBACJ,SAAS,EAAE,IAAI;oBACf,MAAM,EAAE,MAAM,CAAC,MAAM;iBACtB;aACF,CAAC;QACJ,CAAC;QAAC,OAAO,KAAK,EAAE,CAAC;YACf,MAAM,IAAI,KAAK,CAAC,mCAAmC,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;QAC/G,CAAC;IACH,CAAC;CACF,CAAC"}
|